UnityでAnimator Controllerをスクリプト上で編集したく、以下の様なコードを書きました。
やりたかったことは「fbxファイルを読み込み、新規に作成したAnimatorControllerに新規Stateとして追加する」です。
c#
1void addAnimatorController() { 2 GameObject gameObject = GameObject.Find("GameObject"); 3 Animator animator = gameObject.GetComponent<Animator>(); 4 Motion motion = Resources.Load("unitychan_JUMP00.fbx") as Motion; 5 AnimatorController animatorController = AnimatorController.CreateAnimatorControllerAtPath("Assets/AnimatorController.controller"); 6 AnimatorStateMachine rootStateMachine = animatorController.layers[0].stateMachine; 7 AnimatorState stateFront = rootStateMachine.AddState("JUMP00"); 8 stateFront.motion = motion; 9 animator.runtimeAnimatorController = animatorController; 10 animator.Play("JUMP00"); 11}
Animator Controller.controllerは作成されているのですが、Animatorでステートを確認してみるとmotionがnoneになっていて再生できません。
思いつく原因としてはfbxファイルの取得の仕方が不味いように思いますが、これ以外の方法が分かりません。
解決方法をご存知の方がいましたら、ご教授下さい。
環境はUnity5.6、言語はc#です。
fbxファイルは配布モデルunitychanに付属のものを使用しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/05 07:23