UE4使用sequence在为游戏过程创建运动时,可能需要在运行时动态创建Actor并设置动画情况。例如,您可以创建一个Actor并为其创建sequence动画,该Actor会沿着音序器的路径移动,但是Actor由玩家确定并在游戏过程中生成。使用可视化蓝图脚本,您可以使用“ 获取序列绑定”节点从“ 层序列”中提供绑定标识符,并使用您自己的设置覆盖这些绑定中的任何一个。
在此示例中,我们对“空Actor”进行动画处理和移动,沿此过程,允许玩家单击按钮即可为各种效果更改对象。
在本指南中,我们使用启用了Starter Content的Blueprint Third Person Template项目。 |
步骤
- 在“模式”面板的“基本”部分中,将“ 空角色”拖动到“级别”。我们将为Sequencer中的这个空actor设置动画,并重新定义Sequence绑定以将actor更改为各种粒子效果。
- 在主工具栏上,单击“ 电影学”按钮,然后选择“ 添加色阶序列”并为该序列指定任何名称。
- 在关卡中选择一个空的actor,然后将一个空的actor添加到音序器中。
- 按下Blank Actor上的Track按钮 ,然后选择Transform。
- 为“ 变换”轨道添加关键帧,以初始化空角色在关卡中的当前位置。
- 将时间轴向前擦到第75帧,然后将空actor向上移动到水平并为新位置添加关键帧。
- 右键单击并将第一个关键帧复制到Sequencer中,然后转到第150帧,右键单击鼠标,然后单击“ 粘贴” 和“ 变换”键。复制第一个密钥并将其粘贴到末尾将为我们提供一个可以循环的平滑序列。
- 在“ 关卡顺序”的“ 详细信息”面板中,启用“ 自动播放”并将“ 循环”设置为“ 无限循环”。
- 在主工具栏上,单击“ 蓝图”按钮,然后选择“ 打开级别蓝图” 。
- 在“ 层级蓝图”中,单击鼠标右键以添加一个与Flip Flop节点连接的F键盘事件。
- 从“类”节点添加两个Spawn Actor (一个使用Blueprint Effect Fire,另一个使用Blueprint Effect Sparks),然后连接到“ 制作变换”节点,如下所示。
- 右键单击“ 返回值” 节点的SpawnActor蓝图效果Fire,选择“ 升级为变量”,并将其命名为Fire BP。
- 增加的返回值返回值的SpawnActor蓝图影响火花的火花BP的。
- 将一个链接添加到您的“ 层序列”,然后使用“ 添加绑定”节点将其禁用。 data-srcset="" />
- 创建另一个“ 添加绑定”节点并如下所示进行连接,将Fire BP和Sparks BP用作Actor。
- 右键单击并使用“ 获取序列绑定”节点(设置下面突出显示的参数)并连接到两个“ 添加绑定”节点。在“ 获取序列绑定”节点上,可以指定要定位的“ 层序列”和要覆盖的绑定。在我们的示例中,我们在“ 关卡序列”(我们的空演员)中仅指定了一个轨道,我们可以重新定义它。添加到您的级别序列中可以重新定义的对象将显示在下拉菜单中。
- 输入Sparks BP和Fire BP变量,如果对象有效,则使用IsValid和Destroy Actor节点。我们的脚本已完成,将引起火灾或火花的影响,在“ 关卡序列”中覆盖空演员,然后销毁另一个粒子的影响(如果有效)。
- 在编辑器中播放,然后按F按钮在我们生成的Actor之间切换。
当我们在编辑器中播放并按下F按钮时,我们的空演员会被我们生成的火或火花效果所代替,并继续使用应用于空演员的动画。
添加绑定之后,可以使用以下命令执行进一步的操作:
- Remove Binding从指定的绑定中删除指定的actor。
- 绑定复位(复位结合),以重置表示,在默认的设置绑定。
- 重置绑定 -将所有重新定义的绑定重置为默认设置。
- 将Binding设置为使用指定的Actor覆盖指定的绑定。