回答編集履歴
2
質問内容取り違えてたので修正
test
CHANGED
@@ -34,8 +34,14 @@
|
|
34
34
|
|
35
35
|
【追記分】
|
36
36
|
|
37
|
-
上記の方法で「穴の範囲」も求められ
|
37
|
+
上記の方法で「穴の範囲」も求められます(穴の中央座標と幅が分かればいい)。
|
38
38
|
|
39
|
-
|
39
|
+
後は穴の端の座標の中央より、求めたXが大きいか小さいかを計算すればいいです。
|
40
40
|
|
41
|
+
(例えば穴の端のX値が-2と2なら、中間値は`(Mathf.Abs(-2)+Mathf.Abs(2))/2.0f + -2`。
|
42
|
+
|
43
|
+
目的地座標のXがこれより小さければ-2、大きければ2にすればよい。Z値も同じ要領でいける)
|
44
|
+
|
45
|
+
|
46
|
+
|
41
|
-
穴が複数あるならnegitamaさんの回答のようにRay飛ばした方が早いかもしれません。
|
47
|
+
但し穴が複数あるならnegitamaさんの回答のようにRay飛ばした方が早いかもしれません。
|
1
質問の追記に対して回答
test
CHANGED
@@ -25,3 +25,17 @@
|
|
25
25
|
Vector3 target = new Vector3 ( x, groundSize.y, z );
|
26
26
|
|
27
27
|
```
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
---
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
【追記分】
|
36
|
+
|
37
|
+
上記の方法で「穴の範囲」も求められる(穴の中央座標と幅が分かればいい)ので
|
38
|
+
|
39
|
+
「全体範囲から候補を1つ決める→穴の範囲だったら再抽選」でもいいし、頑張って範囲計算してもいいし。
|
40
|
+
|
41
|
+
穴が複数あるならnegitamaさんの回答のようにRay飛ばした方が早いかもしれません。
|