Last active
January 27, 2019 12:22
-
-
Save muzudho/a2f30cb6ca7ab1a506ba9978b8eb9098 to your computer and use it in GitHub Desktop.
Unityで状態遷移を組むときに使うアニメーター・コントローラーを作成するC#スクリプトのソースコード ref: http://qiita.com/muzudho1/items/d2a76d79b8a6b8437897
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using UnityEditor; | |
using UnityEditor.Animations; | |
using UnityEngine; | |
/// <summary> | |
/// 開発中に使うメニュー | |
/// </summary> | |
public class ToolMenu { | |
#region アニメーター・コントローラー編集 | |
/// <summary> | |
/// アニメーター・コントローラーの編集 | |
/// </summary> | |
[MenuItem("Tool/Animator Controller")] | |
static void AnimatorController() | |
{ | |
AnimatorController ac = AssetDatabase.LoadAssetAtPath<AnimatorController>("Assets/Resources/AnimatorControllers/AniCon@Char3.controller"); | |
} | |
#endregion | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// <summary> | |
/// アニメーター・コントローラーの編集 | |
/// </summary> | |
[MenuItem("Tool/Animator Controller")] | |
static void AnimatorController() | |
{ | |
AnimatorController ac = AssetDatabase.LoadAssetAtPath<AnimatorController>("Assets/Resources/AnimationClips/Player.controller"); | |
Debug.Log("パラメーター数 = " + ac.parameters.Length); | |
foreach (AnimatorControllerParameter parameter in ac.parameters) {Debug.Log("引数 = " + parameter.name);} | |
Debug.Log("レイヤー数 = " + ac.layers.Length); | |
foreach (AnimatorControllerLayer layer in ac.layers)//レイヤー | |
{ | |
Debug.Log("レイヤー = "+ layer.name); | |
foreach (ChildAnimatorStateMachine stateMachine_wrapper in layer.stateMachine.stateMachines)//ステートマシン | |
{ | |
AnimatorStateMachine stateMachine = stateMachine_wrapper.stateMachine; | |
Debug.Log("ステートマシン = " + stateMachine.name + " ステート数 = " + stateMachine.states.Length); | |
foreach (ChildAnimatorState state_wrapper in stateMachine.states)//ステート | |
{ | |
AnimatorState state = state_wrapper.state; | |
Debug.Log("ステート = " + state.name + " トランジション数 = " + state.transitions.Length); | |
foreach (AnimatorStateTransition transition in state.transitions)//トランジション | |
{ | |
if (null != transition.destinationState) | |
{ | |
Debug.Log("遷移先 = " + transition.destinationState.name); | |
} | |
else | |
{ | |
Debug.Log("遷移先なし"); | |
} | |
} | |
} | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// <summary> | |
/// アニメーター・コントローラーの編集 | |
/// </summary> | |
[MenuItem("Tool/Animator Controller")] | |
static void AnimatorController() | |
{ | |
AnimatorController ac = AssetDatabase.LoadAssetAtPath<AnimatorController>("Assets/Resources/AnimationClips/Player.controller"); | |
foreach (AnimatorControllerLayer layer in ac.layers)//レイヤー | |
{ | |
foreach (ChildAnimatorStateMachine stateMachine_wrapper in layer.stateMachine.stateMachines)//ステートマシン | |
{ | |
AnimatorStateMachine stateMachine = stateMachine_wrapper.stateMachine; | |
foreach (ChildAnimatorState state_wrapper in stateMachine.states)//ステート | |
{ | |
AnimatorState state = state_wrapper.state; | |
foreach (AnimatorStateTransition transition in state.transitions)//トランジション | |
{ | |
if (0!= transition.exitTime) | |
{ | |
Debug.Log("遷移先 " + (null != transition.destinationState ? transition.destinationState.name : "なし") + " のトランジションの exitTime = " + transition.exitTime + " を 0 にします"); | |
transition.exitTime = 0; | |
} | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment