Unity 中想要在播放动画时,对模型的位置进行匹配,则可以使用 Animator 的 MatchTarget 函数来进行位置的快速匹配,其中,该函数的参数有
匹配的目标位置 matchPosition,
匹配的目标旋转角度 matchRotation(Quaternion 四元素类型)
匹配的骨骼部位,该参数是一个 AvatarTarget 类型的参数,
匹配目标权重遮罩 MatchTargetWeightMask类型的参数 weightMask
以及匹配的开始时间和结束时间
需要把控好匹配的时间间隔,当时间间隔较小时,可能会导致匹配失败,主要原因是由于匹配到指定位置的过程动画系统中会进行一系列的平滑过渡的计算,而在匹配窗口期内没有完成指定的位置平滑的计算,或者完成了计算,但位置本身还未来得及赋值匹配就已经结束了,此时匹配就会失效,当匹配的位移量较大时,应该给定足够的匹配窗口来进行位置的匹配。
同时需要添加不在 IsIntransition 状态下的限制条件,因为在过渡状态下状态机的匹配默认是失效的,所以需要限制其不在过渡条件下才能执行匹配。
3043

被折叠的 条评论
为什么被折叠?



