是否可以在运行时通过代码导航Unity中由Animator控制器表示的图形?
设置
例如,如果我有两个状态“空闲”和“已点击”。为了从“空闲”状态过渡到“点击”状态,我必须在动画器上发出SetTrigger(“ Clicked”)调用,然后开始播放“ SwiperItemClicked”动画剪辑。
现在要提问
当我知道触发器的名称(“ Clicked”)时,如何以编程方式找出在达到“ Clicked”状态后将播放哪个动画剪辑?我需要知道处于“ Clicked”状态的动画剪辑的名称(在此示例中为“ SwiperItemClicked”)。
我正在使用Unity 2018.3.0f2。
答案 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)
向量没有直角图。我相信不可能浏览动画控制器的图形。动画控制器中仅接受平行线和角度线。