这里开门动画主要通过利用Timeline生成一个指定开门时间点的中间值,然后插值成合适的旋转角度,在完整开门时间周期内连续执行起来就是一个完整的开门动画了,另外,利用Timeline的Reverse功能就可以无修改直接实现关门动画了
1. 准备一张新地图
选择基本地图即可
导入第三人称资源包
这里选择Third Person
创建基于BP_ThirdPersonGameMode和BP_ThirdPersonCharacter的蓝图BP_MyThirdPersonGameMode和BP_MyChar
修改当前地图的默认GameMode和Pawn
添加一个蓝图接口Interactable,以及一个无参数无返回值的函数Interact
打开项目设置添加一个Action映射Interact
运行试试
2. 门
创建一个基于Actor的蓝图,添加一个StaticMesh并拖到根节点DefaultSceneRoot上作为新的根节点,并设置一下门框StaticMesh
再添加一个StaticMesh并设置门的网格体
添加Interact接口
添加一个Boolean类型变量Closed来标记门的开关状态
添加Interact事件处理,Timline用作开关门动画,SetRelativeRotation用来调整门的开关程度
3. Timeline设置,双击Timline节点进入Timeline编辑器
添加一个浮点数轨道
将刚才的轨道改名为TrackAlpha,并在轨道上任意地方右键添加两个关键帧
选中第一个关键帧,并将它的Time Value都设为0.0
选中第二个关键帧,并将它的Time Value设为1.0(或者其它值也可以,随便调整玩玩)
同时选中两个关键帧,右键选中Auto自动生成一个有变化的曲线
勾选Use Last Keyframe
回到ActorDoor的事件图表,可以看到这里的Timeline多了一个输出参数TrackAlpha
添加一个旋转量的插值节点
然后拖放一个刚做好的门到地图上
运行试试
其它
posted @
2023-12-28 21:28
BuzzWeek
阅读(
73)
评论()
编辑
收藏
举报