Unreal入门,Timeline动画01,开关门

image

image

这里开门动画主要通过利用Timeline生成一个指定开门时间点的中间值,然后插值成合适的旋转角度,在完整开门时间周期内连续执行起来就是一个完整的开门动画了,另外,利用Timeline的Reverse功能就可以无修改直接实现关门动画了

image

1. 准备一张新地图

image

选择基本地图即可

image

导入第三人称资源包

image

这里选择Third Person

image

创建基于BP_ThirdPersonGameMode和BP_ThirdPersonCharacter的蓝图BP_MyThirdPersonGameMode和BP_MyChar

image

修改当前地图的默认GameMode和Pawn

image

添加一个蓝图接口Interactable,以及一个无参数无返回值的函数Interact

image

打开项目设置添加一个Action映射Interact

image

打开BP_MyChar添加InputAction Interact事件处理,这里主要是添加一个Trace射线碰撞检测并调用Interact接口

image

运行试试

image

2. 门

创建一个基于Actor的蓝图,添加一个StaticMesh并拖到根节点DefaultSceneRoot上作为新的根节点,并设置一下门框StaticMesh

image

再添加一个StaticMesh并设置门的网格体

image

添加Interact接口

image

添加一个Boolean类型变量Closed来标记门的开关状态

image

添加Interact事件处理,Timline用作开关门动画,SetRelativeRotation用来调整门的开关程度

image

3. Timeline设置,双击Timline节点进入Timeline编辑器

image

添加一个浮点数轨道

image

将刚才的轨道改名为TrackAlpha,并在轨道上任意地方右键添加两个关键帧

image

选中第一个关键帧,并将它的Time Value都设为0.0

image

选中第二个关键帧,并将它的Time Value设为1.0(或者其它值也可以,随便调整玩玩)

image

同时选中两个关键帧,右键选中Auto自动生成一个有变化的曲线

image

勾选Use Last Keyframe

image

回到ActorDoor的事件图表,可以看到这里的Timeline多了一个输出参数TrackAlpha

image

添加一个旋转量的插值节点

image

然后拖放一个刚做好的门到地图上

image

运行试试

image

其它

posted @ 2023-12-28 21:28  BuzzWeek  阅读(73)  评论(0编辑  收藏  举报