第九稿 样条线强化应用——制作随样条线飘动的灯笼

知识来自于官方教程,如有问题敬请告知,谢谢。

步骤一:首先创建一个BP_spline_moving类,在里面添加添加组件——公告板组件(billboard)(固定面朝相机渲染的2D纹理)。在其下添加几组lantern(静态网格体组件),lantern下追加一个light。添加2个静态网格体(start point 和end point)当坐标用。如下入:

步骤二:在construction script(Construction Script:构造函数,放置或修改蓝图时执行的函数)下,生成静态网格体组件lantern的数组lanterns(make an array for the lantern meshs)。

步骤三:事件图标功能:事件开始运行时,create spline and set up points,先添加样条组件,然后根据start point、root component和end point三个组件的场景位置来设置样条点的点数组。如下图:

步骤四:继续编辑事件图表,swaying animation for center spline point,对root component做摇摆动画,添加向量型轨道,时间线设置如下图:

样条线样条点X轴坐标不变,y轴和z轴的坐标发生变化。如下图:

向量值需要乘以一个系数,作为设置样条点(root component,point index为1的点)处的位置,同时这个坐标还得由局部空间位置转换为场景空间的位置,蓝图节点变换位置中的参数T为对象时(获取Actor变换),会将位置从局部空间转换为场景空间。蓝图节点如下图:

步骤五:时间轴动画除了更新根组件的位置即更新了样条线的形状,样条线形状及位置发生了改变,那么4个灯笼lantern的位置(构造函数已经为他们建立了静态网格体数组了lanterns)也需要更新(Update the position and rotation of each mesh in the array),先用for each loop来循环遍历执行每个灯笼的设置场景变换。位置来自于沿样条距离处的位置,那么旋转来自于哪里呢?用灯笼组件y轴相对于root component(获取Actor位置)y轴的移动距离作为围绕x轴旋转的角度,为了从当前的场景旋转旋转到目标旋转提供很好的平滑过渡,用到蓝图节点R插值到。

蓝图节点如下图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Growthofnotes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值