![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]()
![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
阅读(
195)
评论()
收藏
举报