質問編集履歴

1

回答欄に書いてしまった、追記内容をこちらに移動

2018/01/16 07:16

投稿

jum6948
jum6948

スコア20

test CHANGED
File without changes
test CHANGED
@@ -141,3 +141,89 @@
141
141
  2日程、この問題にハマっており変な文章になっているかもしれません。解決方法がおわかりの方ぜひよろしくお願いいたします。
142
142
 
143
143
  他に補足情報等必要であればなんでも言ってください。
144
+
145
+
146
+
147
+ ###追記
148
+
149
+ ```C#
150
+
151
+ IEnumerator NpcNormalKaiten()
152
+
153
+ {
154
+
155
+ nowExecCoroutine = true;
156
+
157
+
158
+
159
+ //全てのアニメーションをリセット
160
+
161
+ moveResaet();
162
+
163
+
164
+
165
+ //初期値からいくつ回転したのかを調べる
166
+
167
+ //float angle = Quaternion.Angle(transform.rotation, target.rotation);
168
+
169
+
170
+
171
+ //今見ている方向
172
+
173
+ float nowLook = transform.localEulerAngles.x;
174
+
175
+ //ターゲットの方向
176
+
177
+ float targetLook = target.transform.localEulerAngles.x;
178
+
179
+ //次に見る方向
180
+
181
+ float nextLook = nowLook - targetLook;
182
+
183
+
184
+
185
+ //ターゲットへ旋回
186
+
187
+ rb.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation
188
+
189
+ (targetP.transform.position - transform.position), Time.deltaTime * 10f);
190
+
191
+ //見るだけなので動かない
192
+
193
+ rb.velocity = Vector3.zero;
194
+
195
+
196
+
197
+ if (nextLook >= 340f)
198
+
199
+ {
200
+
201
+ animator.SetBool("Idle", true);
202
+
203
+ }
204
+
205
+ else
206
+
207
+ {
208
+
209
+ animator.SetBool("Walk", true);
210
+
211
+ }
212
+
213
+ yield return null;
214
+
215
+
216
+
217
+ nowExecCoroutine = false;
218
+
219
+ }
220
+
221
+ ```
222
+
223
+ 数字の取得方法がわからなかったので、教えてもらったとおりに角度を取得。
224
+
225
+ 完全に見たい方向に向いてるときが359fだったので、20fほど余裕を持たせて、それ以上だったら振り向きモーションを動作するようにしました。
226
+
227
+
228
+
229
+ 今回は、もう疲れに疲れ切って、質問に書いたコードが、途中も途中でムチャクチャだったので、回答していただいた方には、本当に申し訳ないと思っております。すいませんでした。