一些以前的学习笔记归档;
大概原理就是,使用查询向量去查找Matching Database中的特征向量,特征向量信息主要包括2D future trajectory positions(未来若干帧在轨迹中的位置,属于角色控制相关),以及角色双脚的信息two foot joint positions and velocities(属于角色骨骼相关),在获得特征向量后,用特征向量去匹配Animation Database中的动作;下图即为查询向量匹配到动作的整个流程:
在UE5中,Pose Search Schema和Pose Search Database对应着以上的Database;
在UE5中,要使用Motion Matching,需要激活相关插件:
首先建立的是Pose Search Schema,然后是Pose Search Database,注意加入到Pose Search Database中的动画需要勾选Root Motion(参考Animation Basics);
在编写Animation BP之前,需要为角色BP加入CharacterTrajectory组件:
然后是Animation BP,对Motion Matching基础的调用方式为,EventGraph中获取相关变量(特征向量信息等):
AnimGraph中把Character Trajectory变量中的Trajectory绑定(Bind)到Pose History中,Pose History会从Motion Matching的Database中匹配相应动作输出:
相关命令行:
a.CharacterTrajectory.Debug 1 打开Trajectory的轨迹显示;