设置Unity3D AnimationClip属性而不重置动画师

时间:2015-03-16 18:43:51

标签: animation unity3d leap-motion

我正在尝试基于Leap Motion Controller的实时数据来驱动Unity3D Mecanim装备的动画。我有2层遮住了除了Mecamim Human钻机中的手之外的所有东西,在基础层顶部驱动钻机的其余部分。两个“手层”都引用相同的动画片段。

当我使用:

设置剪辑中属性的曲线时
leftClip.SetCurve ("", typeof(Animator), "LeftHand.Index.1 Stretched", new AnimationCurve (new Keyframe (0, CurrentPosition), new Keyframe (0.5f, CurrentPosition)));

动画制作中所有当前播放的状态都会重置其播放效果,从而产生相当无助的抖动效果。

我通过动画师的runtimeAnimatorController属性获得对剪辑的引用,所以我得到了对剪辑的运行时实例的引用,而不是资产。

我希望避免在LateUpdate()中覆盖Mecanim的路线,因为其他LateUpdate代码存在竞争条件的可能性,并希望在我们的其他管道中利用Mecanim的动画工具。

是否有一种方法可以在运行时在动画片段中设置属性而无需重置状态播放?具体而言,我需要设置Mecanim Humanoid Avatar肌肉值。

1 个答案:

答案 0 :(得分:0)

我已经与Unity的支持人员保持联系,实际上在当前的API(5.0.x)中无法在运行期间设置剪辑中属性的曲线没有Animator重置的剪辑。

我目前正在探索一些解决此限制的方法。当我弄清楚我们将如何处理它时,会更新这个答案。