可以导航动画控制器的图形吗?

时间:2019-03-02 23:36:44

标签: unity3d

是否可以在运行时通过代码导航Unity中由Animator控制器表示的图形?

设置
例如,如果我有两个状态“空闲”和“已点击”。为了从“空闲”状态过渡到“点击”状态,我必须在动画器上发出SetTrigger(“ Clicked”)调用,然后开始播放“ SwiperItemClicked”动画剪辑。

enter image description here

现在要提问
当我知道触发器的名称(“ Clicked”)时,如何以编程方式找出在达到“ Clicked”状态后将播放哪个动画剪辑?我需要知道处于“ Clicked”状态的动画剪辑的名称(在此示例中为“ SwiperItemClicked”)。

我正在使用Unity 2018.3.0f2。

2 个答案:

答案 0 :(得分:1)

仅适用于编辑器脚本

public static string FindClipName(AnimatorController controller, string triggerName)
{
    foreach (var layer in controller.layers)
        foreach (var state in layer.stateMachine.states)
            foreach (var transition in state.state.transitions)
                foreach (var condition in transition.conditions)
                    if (condition.parameter == triggerName)
                        return transition.destinationState.motion.name;
    return null;
}

答案 1 :(得分:0)

向量没有直角图。我相信不可能浏览动画控制器的图形。动画控制器中仅接受平行线和角度线。