UE4学习笔记2 |
您所在的位置:网站首页 › ue4角色动画位移 › UE4学习笔记2 |
要使物体来回移动的思路是: (1)先找到物体移动的方向 (2)计算物体每帧移动的距离(速度自定义) (3)还需要保存物体当前的位置、旋转、缩放等属性(确保物体来回移动过程中别的shux属性不会改变) (4)改变物体移动方向实现来回移动 (5)最后通过延迟改变方向的时间使物体能够移动一段距离。 具体实现如下: 1、设置物体移动方向 (1)创建变量,首先在左侧“我的蓝图”面板里点击“变量”,创建两个变量值,分别命名为“Speed”和“Direction”如下图: 图1.1 创建变量图 (2)设置变量,选中左侧的“Speed”变量,然后在右边的“细节”面板设置变量类型为浮点型,并点击勾选“可编辑实例”,编译后设置默认值改变为200,操作结果如下: 图1.2 Speed变量设置界面 同样方法设置Direction变量,类型为“Vector”型,点击勾选“可编辑实例”,编译后设置默认值(此处的默认值是物体移动时的方向,可根据需要设置)。 图1.3 Direction变量设置界面 (3)归一化方向向量 归一化:将向量的长度转换为一个单位长度,可与其余部分的 将“我的蓝图”中的变量“Direction”拖拽到网格中选择“获取”,再右键网格创建一个“Normalize”节点,作如下连接: 图1.4 归一化向量 2、设置物体移动速度 点击拖拽左侧“我的蓝图”中的Speed变量到网格中选择“获取”,然后右键网格搜索并创建“Get World Delta Seconds”节点(可使每一帧物体移动速度一致),再右键网格搜索并创建“float*float节点”如图所示: 图2.1 *号节点 然后将三个节点如下图相连: 图2.2 速度节点组 3、记录物体位置、旋转、缩放信息 在网格右键搜索并创建“GetWorldTransform(Static Mesh Component)”节点,再到网格右键搜索并创建“Break Transform”作如下连接: 图3.1 保存信息节点组 4、将方向数据、速率数据、保存的信息数据放入到一个暂存节点中 在网格右键搜索并创建“Make Transform”节点(暂存最新的位置、旋转、缩放信息)、“Vector*float"节点(将方向与速率相乘得到位移量)、“Vector+Vector”节点(将物体当前位置加上位移量得出下一帧物体的位置),作如下连接: 图4.1 物体新状态信息节点组 5、更新位置并延迟后调转方向 在网格右键搜索并创建“事件Tick”(使每帧刷新)、“SetActorTransform”(接收物体新状态并刷新),作如下连接: 图5.1 更新物体状态 然后再网格右键搜索并创建“Delay”(延时节点,设置物体朝一个方向移动的时间)、“FlipFlop”(可实现在两个节点之间转换,使方向重复地改变),再将左侧变量“Direction”拖拽到网格中并点击“设置”两次(设置物体来回移动的位置量),作如下连接: 图5.2 改变物体方向 至此物体来回移动就完成了! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |