回答編集履歴

5

修正

2020/08/20 04:23

投稿

Hawn
Hawn

スコア1222

test CHANGED
@@ -8,9 +8,9 @@
8
8
 
9
9
 
10
10
 
11
- **・ステージにMeshColliderだけを設定しPlaneを並べてそれにRayが当たった時に回転を優先する**
11
+ **・ステージにMeshColliderだけを設定した透明なPlaneを並べてそれにRayが当たった時に回転を優先する**
12
12
 
13
- 見えない場外壁で検知する方法です
13
+ 見えない場外壁で検知する方法。
14
14
 
15
15
  ステージの形が単純(四角形等)な場合はこちらが良いかと思います。
16
16
 
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
 
25
- **・敵オブジェクト少し前にした方向にRayを放つオブジェクトを作成して床にRayが当たらなければ回転させる**
25
+ **・敵オブジェクト少し前に方向にRayを放つオブジェクトを作成床にRayが当たらなければ回転させる**
26
26
 
27
27
  地面があるかどうかで検知する方法です。
28
28
 

4

修正

2020/08/20 04:23

投稿

Hawn
Hawn

スコア1222

test CHANGED
@@ -12,6 +12,10 @@
12
12
 
13
13
  見えない場外壁で検知する方法です。
14
14
 
15
+ ステージの形が単純(四角形等)な場合はこちらが良いかと思います。
16
+
17
+
18
+
15
19
  現在使っているdistanceが50で検知させると遠くで場外を検知するので、落下検知用の距離`int outDistance = 5;`や`Ray outRay;`などの落下検知用のものを新たに作った方が作りやすいかと思います。
16
20
 
17
21
  当たったオブジェクトの判定はタグで行うか、`Physics.Raycast`の第4引数でぶつかるレイヤーを指定できるのでそれで判定して下さい。
@@ -22,6 +26,10 @@
22
26
 
23
27
  地面があるかどうかで検知する方法です。
24
28
 
29
+ ステージの形が複雑(端が流曲線等)な場合はこちらが良いかと思います。
30
+
31
+
32
+
25
33
  敵オブジェクトの前方端から飛ばしたい為、空のGameObjectを敵オブジェクトの子にしてそこから下方向に飛ばすと良いかと思います。
26
34
 
27
35
 

3

修正

2020/06/22 09:22

投稿

Hawn
Hawn

スコア1222

test CHANGED
@@ -23,3 +23,9 @@
23
23
  地面があるかどうかで検知する方法です。
24
24
 
25
25
  敵オブジェクトの前方端から飛ばしたい為、空のGameObjectを敵オブジェクトの子にしてそこから下方向に飛ばすと良いかと思います。
26
+
27
+
28
+
29
+ 上手く検知出来たらif-else文でそちらの処理を優先するか、
30
+
31
+ 場外検知後の回転を行った後`return;`で以降の処理は行わないようにして下さい。

2

修正

2020/06/22 09:20

投稿

Hawn
Hawn

スコア1222

test CHANGED
@@ -22,4 +22,4 @@
22
22
 
23
23
  地面があるかどうかで検知する方法です。
24
24
 
25
- 敵オブジェクトの前方端から飛ばしたい為、空のGameObjectを作成後にそれを敵オブジェクトの子にしてそこから下方向に飛ばすと良いかと思います。
25
+ 敵オブジェクトの前方端から飛ばしたい為、空のGameObjectを敵オブジェクトの子にしてそこから下方向に飛ばすと良いかと思います。

1

修正

2020/06/22 09:17

投稿

Hawn
Hawn

スコア1222

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- **・移動システムをNaviMeshに変更する**
5
+ **・そもそもの移動システムをNaviMeshに変更する**
6
6
 
7
7
  一番楽かと思いますが現在のスクリプトは無駄になります。
8
8