Unity3D:如何在不重置的情况下“链接”动画?

时间:2016-09-07 17:59:20

标签: animation unity3d

我导入了一个包含四个较小子立方体的立方体网格。 网格还包含一个动画,可以将较小的立方体推出大的立方体。完成后,其中一个小立方体再次“分裂”(它不是真的分裂 - 它只是将四个孩子推出去)。

Mesh in hierarchy

当用户点击大立方体时,我想触发这些动画。动画最初导出为一个剪辑,但我将其剪切成两半,以便我可以触发第一个或第二个分割。

animation split in two parts

我将Box Collider附加到大型多维数据集以便能够获取OnMouseDown事件,然后我将一个int参数传递给我的AnimationController,以启动相应的动画:

public class ClickToAnimate : MonoBehaviour {
    private Animator _animator;
    private int _clicks = 1;

    void Start()
    {
        _animator = GetComponent<Animator>();
    }

    void OnMouseDown()
    {
        _animator.SetInteger("Clicks", _clicks);
        if (_clicks == 3)
        {
            _clicks = 1;
        }
        else
        {
            _clicks++;
        }
    }
}

enter image description here

状态切换工作正常但是当我从FirstSplit转换到SecondSplit时,第一个动画被还原,以便在播放第二个动画之前将四个中等立方体驱回大立方体。

我尝试启用“应用根运动”,但这没有帮助(可能是因为大立方体实际上从未移动过?)。那么如何在不重置每一步的情况下“链接”这些动画呢?关于AnimationController和动画分割的一般想法是否正确处理这个以及我缺少什么?

0 个答案:

没有答案