Unity 动画位置匹配

Unity 中想要在播放动画时,对模型的位置进行匹配,则可以使用 Animator 的 MatchTarget 函数来进行位置的快速匹配,其中,该函数的参数有

匹配的目标位置 matchPosition,

匹配的目标旋转角度 matchRotation(Quaternion 四元素类型)

匹配的骨骼部位,该参数是一个 AvatarTarget 类型的参数,

匹配目标权重遮罩 MatchTargetWeightMask类型的参数 weightMask

以及匹配的开始时间和结束时间

需要把控好匹配的时间间隔,当时间间隔较小时,可能会导致匹配失败,主要原因是由于匹配到指定位置的过程动画系统中会进行一系列的平滑过渡的计算,而在匹配窗口期内没有完成指定的位置平滑的计算,或者完成了计算,但位置本身还未来得及赋值匹配就已经结束了,此时匹配就会失效,当匹配的位移量较大时,应该给定足够的匹配窗口来进行位置的匹配。

同时需要添加不在 IsIntransition 状态下的限制条件,因为在过渡状态下状态机的匹配默认是失效的,所以需要限制其不在过渡条件下才能执行匹配。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值