[UE]用Spline画任意点数的圆的算法

文章探讨了在使用Spline样条线组件时,如何处理Segment点数量对圆精度的影响,以及为何圆不能用立方体精确表示,涉及数学公式和精度问题的解释。特别提到了单点圆的极限情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现

直接上函数的截图

输入说明
Spline样条线组件
Segments样条线点的点数量
Radius圆半径

在这里插入图片描述
为了一张图放得下,一些公式用了数学表达式

(360 - (360 / vSegments))
(4 * (tan(((D2R((360 / vSegments))) / 4))))

预览

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

没错,两个点也可以,不过能看到有点椭圆变形


扩展:为什么会变形?

圆不能用立方体精确表示,因为圆在其方程中包含平方根,所以体现出误差
下图将切线立方体显示为篮框

请添加图片描述
请添加图片描述
请添加图片描述
推向极限,这是1点圆
请添加图片描述

### UE4 Spline 插件使用教程 #### 安装方法 对于Unreal Engine 4 (UE4),Spline组件实际上已经集成到了引擎内部,因此不需要单独安装额外的插件。用户可以直接通过编辑器访问和利用这些功能。 #### 创建与配置样条线 要创建一个新的样条线,在场景视图中右键点击并选择`Add Actor -> Other Actors -> Spline`来添加一个空的样条对象到世界中[^1]。之后可以在细节面板调整其属性,比如增加控制点、修改位置以及旋转角度等参数。 #### 编辑样条路径 为了更方便地编辑样条曲线,可以启用可视化模式。选中样条Actor后,在工具栏找到相应的按钮激活它。此时会显示出整条路线及其各个节点的位置,允许拖拽改变形状或是增删关键帧以适应特定需求。 #### 应用实例:沿路移动物体 下面是一个简单的蓝图脚本例子,展示了如何让角色沿着指定好的轨迹前进: ```blueprint // 设置起点为第一个样条点坐标 Set Start Location to the location of first spline point. // 获取总长度用于计算百分比进度 Get Total Length from spline component. // 循环更新当前位置直到结束 While Loop { // 计算当前时间对应的百分比值 Calculate percentage based on elapsed time. // 查找对应比例处的新位置 Find Location at Distance Along Spline using calculated ratio. // 移动目标至该新地点 Move actor towards found position smoothly over small delta seconds interval. } ``` 此过程可以通过Blueprint Visual Scripting轻松完成,无需编写C++代码即可实现复杂的行为逻辑。 #### 进阶应用案例 除了基本的对象跟随外,还可以结合其他系统如动状态机、物理模拟等创造出更加丰富的交互体验;另外也支持自定义事件触发机制,当达到某些条件时执行特殊动作或切换不同的运动方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值