Unity 使用Animation Clip(动画片段) 对Animation Rig的Rig Weight (rig权重) 进行调整,出现无法调整的问题,及解决方法
Posted Boy1nABox
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 使用Animation Clip(动画片段) 对Animation Rig的Rig Weight (rig权重) 进行调整,出现无法调整的问题,及解决方法相关的知识,希望对你有一定的参考价值。
问题:Animator播放Animation Clip,权重无法修改
如图,Animation Clip当中对Rig的权重有调整:
但在运行当中播放该动画片段无法对权重进行修改
原因分析:
我发现在运行阶段,点击Preview后再关闭Preview,动画能够对权重进行正常修改,但仍然无法确定原因。
在网上搜索后发现有相同问题的帖【链接】:
不同的是他是通过直接播放animation里的animation clip,我这里是用了animator来控制播放
于是我找到了unity技术人员的回复:
虽然问题仍然无法解决,但技术人员提到了:点击preview的时候,animator是关闭的,而关闭preview,animator会重新开启。
解决方案:
我根据自己拿到的线索,在播放动画之前,重启animator:
public Animator RigController;
...
RigController.enabled = false;//
RigController.enabled = true;//
...
RigController.Play("weapon_idle_" + weapon.weaponName);
在运行的时候发现权重能够正常修改了,且只需要重启一次animator,之后的动画都能够正常修改。
(方法仅供参考,如果有好办法赶紧告诉我!!!!!)
Unity Animation动画倒播 为什么要获取时间长度啊?
animation = GetComponent<Animation>();
//为啥要获取时间长度啊
animation["Dead"].time = animation["Dead"].clip.length;
animation["Dead"].speed = -1;
animation.Play("Dead");
近期更有资深开发者在线分享unity开发经验,可以快速解决开发中遇到的各种问题。
以上是关于Unity 使用Animation Clip(动画片段) 对Animation Rig的Rig Weight (rig权重) 进行调整,出现无法调整的问题,及解决方法的主要内容,如果未能解决你的问题,请参考以下文章
Unity3D中通过Animator动画状态机获取任意animation clip的准确播放持续时长
unity 3d中,Animation clip播放到第一个Animation Event事件就停了下来,为啥?
Unity Animation动画倒播 为什么要获取时间长度啊?
SIKI_Unity_2_入门_通过实例学习游戏的存档和读档
Unity解决动画不可用:The AnimationClip ‘XXX‘ used by the Animation component ‘XXX‘ must be marked as Legacy.