回答編集履歴
1
記述部分が間違っていたので修正。
test
CHANGED
@@ -1,89 +1,3 @@
|
|
1
|
-
|
1
|
+
回答では無い物を回答としてしまいました。
|
2
2
|
|
3
|
-
IEnumerator NpcNormalKaiten()
|
4
|
-
|
5
|
-
{
|
6
|
-
|
7
|
-
nowExecCoroutine = true;
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
//全てのアニメーションをリセット
|
12
|
-
|
13
|
-
moveResaet();
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
//初期値からいくつ回転したのかを調べる
|
18
|
-
|
19
|
-
//float angle = Quaternion.Angle(transform.rotation, target.rotation);
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
//今見ている方向
|
24
|
-
|
25
|
-
float nowLook = transform.localEulerAngles.x;
|
26
|
-
|
27
|
-
//ターゲットの方向
|
28
|
-
|
29
|
-
float targetLook = target.transform.localEulerAngles.x;
|
30
|
-
|
31
|
-
|
3
|
+
本文に追記として載せております。
|
32
|
-
|
33
|
-
float nextLook = nowLook - targetLook;
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
//ターゲットへ旋回
|
38
|
-
|
39
|
-
rb.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation
|
40
|
-
|
41
|
-
(targetP.transform.position - transform.position), Time.deltaTime * 10f);
|
42
|
-
|
43
|
-
//見るだけなので動かない
|
44
|
-
|
45
|
-
rb.velocity = Vector3.zero;
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
if (nextLook >= 340f)
|
50
|
-
|
51
|
-
{
|
52
|
-
|
53
|
-
animator.SetBool("Idle", true);
|
54
|
-
|
55
|
-
}
|
56
|
-
|
57
|
-
else
|
58
|
-
|
59
|
-
{
|
60
|
-
|
61
|
-
animator.SetBool("Walk", true);
|
62
|
-
|
63
|
-
}
|
64
|
-
|
65
|
-
yield return null;
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
nowExecCoroutine = false;
|
70
|
-
|
71
|
-
}
|
72
|
-
|
73
|
-
```
|
74
|
-
|
75
|
-
数字の取得方法がわからなかったので、教えてもらったとおりに角度を取得。
|
76
|
-
|
77
|
-
完全に見たい方向に向いてるときが359fだったので、20fほど余裕を持たせて、それ以上だったら振り向きモーションを動作するようにしました。
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
今回は、もう疲れに疲れ切って、質問に書いたものが、もう途中も途中だったので回答していただく方には、本当に申し訳ないと思っております。
|
82
|
-
|
83
|
-
Quaternion.Angle()を使う具体的な方法がわかる方、もしおられましたらご一報ください。
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
勉強不足なもので、コレ使ったらできるよ!
|
88
|
-
|
89
|
-
では、ちょっとわからないので、書き方教えてもらえるとありがたいです。
|