UE4物体随着样条线(Spline)运动

1. 样条线原理

1.1 贝塞尔曲线

一定要经过起止点,若干个控制点用于控制曲线弯曲的方向,最终形成一条光滑的曲线
在这里插入图片描述
由于贝塞尔曲线点太多了不好控制,一般每四个点做一次贝塞尔曲线。得到的若干段相邻贝塞尔曲线的连接点需要共线且距离相同,即为C1连续(一阶连续可导)。

在这里插入图片描述

1.2 德卡斯特里奥算法

得到数学表达式如下
在这里插入图片描述在这里插入图片描述

2. 物体跟随样条线运动

使用Get Spline LengthGet Location at Distance Along Spline,获取样条线的位置和旋转将其赋给物体即可。

在这里插入图片描述

若要去样条线之外的地方且要回到样条线继续运动,则需获取距离样条线最近的点,并获取标记点的比例。使用Find Location Close to World LocationFind Input Key Closest to World LocationGet Distance Along Spline at Spline Input Key

在这里插入图片描述

3. 简单的骨骼运动设置

物体跟随样条线运动,骨骼需要同时动起来,这里设置简单的骨骼运动,首先找到一个拥有Skeletal Mesh的Actor。

在这里插入图片描述
点入后查找其应该使之运动的骨骼节点,并记录名称。

在这里插入图片描述
在动画蓝图中,对其相应的骨骼进行调用。

在这里插入图片描述

在这里插入图片描述
最后就得到了一个不断转动的物体。

在这里插入图片描述
在Actor中添加Skeletal Mesh组件即可使用。

在这里插入图片描述

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
样条曲线Spline Curve)是一种在数学和计算机图形学中常见的高级曲线生成技术。它是一种连续的曲线,通过一系列控制点进行定义,这些控制点可以自由地移动,以改变曲线的形状。样条曲线在许多领域都有应用,包括计算机图形、物理模拟、数据插值等。 在Python中,有许多库可以用来创建样条曲线。其中最常用的是SciPy库中的`scipy.interpolate.UnivariateSpline`和`scipy.interpolate.BarycentricInterpolator`。 下面是一个使用`UnivariateSpline`创建样条曲线的简单示例: ```python from scipy.interpolate import UnivariateSpline import numpy as np # 定义控制点 control_points = np.array([[0, 0], [1, 1], [2, 2], [3, 3]]) # 创建样条曲线对象 spline = UnivariateSpline(control_points[:, 0], control_points[:, 1]) # 生成样条曲线上的点 x = np.linspace(0, 4, 1000) y = spline(x) # 绘制样条曲线 import matplotlib.pyplot as plt plt.plot(x, y) plt.show() ``` 在这个例子中,我们首先导入了必要的库,然后定义了一组控制点。我们使用这些控制点创建了一个`UnivariateSpline`对象,然后生成了一个在给定x值上的y值数组。最后,我们使用matplotlib库将样条曲线绘制出来。 请注意,样条曲线的形状取决于控制点的选择。通过移动和控制点,可以创建出各种形状的样条曲线。样条曲线还有许多其他的应用,例如用于插值、拟合数据等。 如果你对更高级的样条曲线技术或更特定的应用场景感兴趣,你可能需要查阅更专门的库或教程。Python中有许多其他的库,如`curve_fit`(用于非线性拟合),以及专门用于插值和数据处理的库,如`scipy.interpolate`和`numpy`等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值