文章目录
- 章节目标
- 创建一个BlandSpace
- 在BlandSpace中添加动画
- 动画蓝图里添加BlandSpace
章节目标
制作一个一维BlandSpace,根据移动速度在idle和walk两个动画之间进行切换
创建一个BlandSpace
右键创建一个BlandSpace1D,这是一维BlandSpace,选择人物的骨骼,并修改蓝图的名字
在BlandSpace中添加动画
在P
重点关注箭头指向的Parameters面板,高版本中这个面板会在左侧
修改XAxisLabel的名字为Speed,修改最大值为600,这是因为我们角色的蓝图里,规定的移动速度为600cm,然后点击ApplyParameterChanges按钮。
移动速度查看方法如下:
现在角色蓝图里,找打这个组件,然后在组件的详情里找到移速。
回到动画BlandSpace
从右侧的AssetsBrowser中选择一个动画(绿色),在最右侧添加一个动画片段移动,此时鼠标在下方时间轴上移动(悬浮移动即可,不需要按任何键),即可看到动画的混合效果。将鼠标放到动画片段的圆点上可以拖动动画拍你段到其他网格节点,添加网格节点可以修改Parameters面板的XAxisDiveisions属性。
动画蓝图里添加BlandSpace
在AssetsBrowser里选择刚才创建的BlandSpace(图标为橙色),这里叫FppMove_BS,然后使用TryGetPawnOwner获取玩家,然后获取速度,获取速度的大小,传递给FppMove_Base的Speed属性,即可。
在高版本的UE中,这里会给提示线程不安全,这是因为UE使用了多线程动画来提高动画的播放效率,解决办法有
1 关闭当前动画蓝图的多线程动画
点击ClassSettings
在Details中关闭多线程动画
2 关闭全局多线程动画
在ProjectSettings里
3 改为在动画蓝图的EventGraph里获取速度
首先在动画蓝图中添加一个Speed属性
然后将AnimGraph里修改为直接为BlandSpace赋值
然后切换到本动画蓝图的EventGraph,如下