很久没写博客,最近开始更频繁一点。专注UE4的学习,加班时间写点笔记。
任何问题欢迎邮件:admin@franciswu.top
样条曲线的作用
Spline算法通过几个控制点生成一段平滑的曲线,可以控制关键点的切角。(具体效果的话和贝塞尔曲线类似)。这个曲线可以作为一段位移的轨迹,产生一个平滑的效果。 官方文档:https://docs.unrealengine.com/zh-CN/Engine/BlueprintSplines/index.html
具体用法
创建一个继承自Actor的蓝图,名为SplineLineActor,并添加Spline组件,放到场景里。 样条曲线自带起点和终点是一个线段,可以添加新的点。
这里对起点和终点的Tangent Y进行调整,产生半圆的曲线。
使用将曲线作为角色的轨迹
很多时候游戏中的轨迹并不是像上面一样固定的轨迹,而是计算出两个点,然后来做平滑,不确定如何设置Tangent的情况下,可以做一个上面的实例来进行预览。
下面讲一个复杂的例子,处理如图的拐角情况。 很多时候我们在做这两个点之间的位移的时候,会用RootMotion,用一个带位移的动作来完成。但是起点和终点有一些变化的情况下,固定的位移动作有时候会不好。 这时候有一种思路就是通过Spline来完成,位移的起点和终点设置为Spine的起点和终点。提前通过Trace知道旋转方向后,设置起点和终点的Tangent,形成一个半圆轨迹,然后角色按照这个轨迹移动。
关键蓝图如下:
图中还通过一个Timeline来控制移动的速度,这样就是平滑轨迹上平滑速度的移动。 只是一个思路,真正做好的话还需要很多的状态控制,和Trace的花式操作。