質問編集履歴

2

修正依頼をいただいて、この質問の問題を解決するために自分で行ったことを質問文に付け加えました。

2020/05/08 03:24

投稿

kosho206
kosho206

スコア41

test CHANGED
File without changes
test CHANGED
@@ -4,8 +4,42 @@
4
4
 
5
5
 
6
6
 
7
- 「Animator.GetCurrentAnimatorStateInfo」というコードを使えば、再生中のステートの名前やその再生時間が取得できる。ということはわかったのですが、具体的にどんな書式で書けば良いのがわかりません。
7
+ 「Animator.GetCurrentAnimatorStateInfo」というコードを使えば、再生中のステートの名前やその再生時間が取得できる。ということはわかったのですが、具体的にどんな書式で書けば良いのがわかりません。
8
+
9
+ わからないなりに、公式リファレンス
10
+
11
+ (https://docs.unity3d.com/ja/current/ScriptReference/Animator.GetCurrentAnimatorStateInfo.html)
12
+
13
+ にあったコードを真似して、以下のスクリプトを書きました。
14
+
15
+ ```ここに言語を入力
16
+
17
+ if(Input.GetMouseButtonUp(0))
18
+
19
+ {
20
+
21
+ Anim.SetTrigger("UnkoNage");
22
+
23
+ Anim.SetInteger("AnimIdx", (int)UnkomanAction.Idx.UnkoNage);
24
+
25
+ }
26
+
27
+ if(Anim.GetCurrentAnimatorStateInfo(0).IsName("UnkoNage"))
28
+
29
+ {
30
+
31
+ Debug.Log("あ");
32
+
33
+ }
34
+
35
+ ```
36
+
37
+ ですが、"UnkoNage"ステートが再生中の時でもConsoleウィンドウにDebug.Logが表示されません。
8
38
 
9
39
 
10
40
 
11
- 特定のステトを指定して、「そのステートが再生中という情報を取得るには具体的にんなコードを書けば良いの教えくださ
41
+ 「.IsName()」というコドは()内に書いたステートが再生中の時にtrueを返すもの。認識してるのでこの認識と上記のスクリプトで間違っている個所はありますか?
42
+
43
+
44
+
45
+ ![イメージ説明](a29524c92f43a0bebbe7e1add5f930d7.jpeg)

1

簡単な文章でも伝わると勝手に思い込んで書いてしまっていたので、丁寧な説明の文章に修正しました。

2020/05/08 03:23

投稿

kosho206
kosho206

スコア41

test CHANGED
@@ -1 +1 @@
1
- 「特定のステートが再生中」という情報を取得したい
1
+ 「特定のAnimatorステートが再生中」という情報を取得したい
test CHANGED
@@ -1,7 +1,11 @@
1
- 特定のステートが再生中の時のみ実行される処理を作りたいです。
1
+ 特定のAnimatorステートが再生中の時のみ実行される処理を作りたいです。
2
+
3
+ そのために「特定のステートが再生中」という情報を取得したいです。
2
4
 
3
5
 
4
6
 
7
+ 「Animator.GetCurrentAnimatorStateInfo」というコードを使えば、再生中のステートの名前やその再生時間が取得できる。ということはわかったのですが、具体的にどんな書式で書けば良いのがわかりません。
5
8
 
6
9
 
10
+
7
- 特定のステートが再生中」という情報を取得するには、どのようなコードを書けばできます
11
+ 特定のステートを指定して、「そのステートが再生中」という情報を取得するには、具体的になコードを書けば良いの教えてください。