Skip to content

Instantly share code, notes, and snippets.

@tsubaki
Last active January 20, 2019 14:01
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tsubaki/a706852ee1c9a0ba6e5cc3199b17ee65 to your computer and use it in GitHub Desktop.
Save tsubaki/a706852ee1c9a0ba6e5cc3199b17ee65 to your computer and use it in GitHub Desktop.
AnimatorControllerのTransitionDurationを0にする
using UnityEditor;
using UnityEditor.Animations;
public class UpdateTransitions
{
[MenuItem("Assets/UpdateTransitionTime")]
static void Do()
{
foreach( var obj in Selection.objects)
{
var ac = obj as AnimatorController;
if (ac == null)
return;
foreach (var layer in ac.layers)
{
var stateMachine = layer.stateMachine;
RecursiveStateMachineUpdate(stateMachine);
}
}
}
static void RecursiveStateMachineUpdate(AnimatorStateMachine stateMachine)
{
foreach (var state in stateMachine.states)
{
foreach (var transition in state.state.transitions)
{
transition.duration = 0;
}
}
foreach (var transition in stateMachine.anyStateTransitions)
{
transition.duration = 0;
}
foreach ( var sm in stateMachine.stateMachines)
{
RecursiveStateMachineUpdate(sm.stateMachine);
}
}
}
@GameEgg
Copy link

GameEgg commented Jan 18, 2019

update transitions from 'Any State'

foreach (var transition in stateMachine.anyStateTransitions)
{
    transition.duration = 0;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment