回答編集履歴
5
修正
test
CHANGED
@@ -8,9 +8,9 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
**・ステージ
|
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
|
-
**・敵オブジェクト少し前に
|
25
|
+
**・敵オブジェクト少し前に下方向にRayを放つオブジェクトを作成。床にRayが当たらなければ回転させる**
|
26
26
|
|
27
27
|
地面があるかどうかで検知する方法です。
|
28
28
|
|
4
修正
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
修正
test
CHANGED
@@ -23,3 +23,9 @@
|
|
23
23
|
地面があるかどうかで検知する方法です。
|
24
24
|
|
25
25
|
敵オブジェクトの前方端から飛ばしたい為、空のGameObjectを敵オブジェクトの子にしてそこから下方向に飛ばすと良いかと思います。
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
上手く検知出来たらif-else文でそちらの処理を優先するか、
|
30
|
+
|
31
|
+
場外検知後の回転を行った後`return;`で以降の処理は行わないようにして下さい。
|
2
修正
test
CHANGED
@@ -22,4 +22,4 @@
|
|
22
22
|
|
23
23
|
地面があるかどうかで検知する方法です。
|
24
24
|
|
25
|
-
敵オブジェクトの前方端から飛ばしたい為、空のGameObjectを
|
25
|
+
敵オブジェクトの前方端から飛ばしたい為、空のGameObjectを敵オブジェクトの子にしてそこから下方向に飛ばすと良いかと思います。
|
1
修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
**・移動システムをNaviMeshに変更する**
|
5
|
+
**・そもそもの移動システムをNaviMeshに変更する**
|
6
6
|
|
7
7
|
一番楽かと思いますが現在のスクリプトは無駄になります。
|
8
8
|
|