teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コメントを受けて追記

2019/11/19 05:05

投稿

sakura_hana
sakura_hana

スコア11429

answer CHANGED
@@ -1,4 +1,17 @@
1
1
  `runBtn`メソッドがこのコード上からだとどこからも呼ばれていません。
2
2
  他の箇所から呼んでいますか?
3
3
 
4
- また、ステートのWait->Run側の条件を確認して、Conditionsが正しく設定されているか確認してください。
4
+ また、ステートのWait->Run側の条件を確認して、Conditionsが正しく設定されているか確認してください。
5
+
6
+ ---
7
+
8
+ Update内の処理をよく見てませんでした。
9
+ タップ時の処理ですが、これだと`animator`変数に入っているAnimatorは元となるプレハブに付いているAnimatorであり、(シーン上に生成された)UnityちゃんのAnimatorではありません。
10
+ なのでステートフラグを切り替えても当然何も起こりません。(もっと言えばUnityちゃんには目的のRuntimeAnimatorControllerが付いていない)
11
+
12
+ `unitychan = Instantiate(objectPrefab, hitResults[0].pose.position, Quaternion.identity);`
13
+ `animator = unitychan.GetComponent<Animator>();`
14
+ `animator.runtimeAnimatorController = Resources.Load<RuntimeAnimatorController>("AnimController");`
15
+ このようにすると正常動作するのではないかと思います。
16
+
17
+ (ちなみに上記処理が行われない内にボタンを押すと`animator.SetBool`の所でエラーが起きるので適宜制御した方がいいかと思います)