質問編集履歴
1
回答欄に書いてしまった、追記内容をこちらに移動
title
CHANGED
File without changes
|
body
CHANGED
@@ -69,4 +69,47 @@
|
|
69
69
|
上記が作成環境になっております。
|
70
70
|
|
71
71
|
2日程、この問題にハマっており変な文章になっているかもしれません。解決方法がおわかりの方ぜひよろしくお願いいたします。
|
72
|
-
他に補足情報等必要であればなんでも言ってください。
|
72
|
+
他に補足情報等必要であればなんでも言ってください。
|
73
|
+
|
74
|
+
###追記
|
75
|
+
```C#
|
76
|
+
IEnumerator NpcNormalKaiten()
|
77
|
+
{
|
78
|
+
nowExecCoroutine = true;
|
79
|
+
|
80
|
+
//全てのアニメーションをリセット
|
81
|
+
moveResaet();
|
82
|
+
|
83
|
+
//初期値からいくつ回転したのかを調べる
|
84
|
+
//float angle = Quaternion.Angle(transform.rotation, target.rotation);
|
85
|
+
|
86
|
+
//今見ている方向
|
87
|
+
float nowLook = transform.localEulerAngles.x;
|
88
|
+
//ターゲットの方向
|
89
|
+
float targetLook = target.transform.localEulerAngles.x;
|
90
|
+
//次に見る方向
|
91
|
+
float nextLook = nowLook - targetLook;
|
92
|
+
|
93
|
+
//ターゲットへ旋回
|
94
|
+
rb.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation
|
95
|
+
(targetP.transform.position - transform.position), Time.deltaTime * 10f);
|
96
|
+
//見るだけなので動かない
|
97
|
+
rb.velocity = Vector3.zero;
|
98
|
+
|
99
|
+
if (nextLook >= 340f)
|
100
|
+
{
|
101
|
+
animator.SetBool("Idle", true);
|
102
|
+
}
|
103
|
+
else
|
104
|
+
{
|
105
|
+
animator.SetBool("Walk", true);
|
106
|
+
}
|
107
|
+
yield return null;
|
108
|
+
|
109
|
+
nowExecCoroutine = false;
|
110
|
+
}
|
111
|
+
```
|
112
|
+
数字の取得方法がわからなかったので、教えてもらったとおりに角度を取得。
|
113
|
+
完全に見たい方向に向いてるときが359fだったので、20fほど余裕を持たせて、それ以上だったら振り向きモーションを動作するようにしました。
|
114
|
+
|
115
|
+
今回は、もう疲れに疲れ切って、質問に書いたコードが、途中も途中でムチャクチャだったので、回答していただいた方には、本当に申し訳ないと思っております。すいませんでした。
|