回答編集履歴

2

質問内容取り違えてたので修正

2018/12/23 04:50

投稿

sakura_hana
sakura_hana

スコア11427

test CHANGED
@@ -34,8 +34,14 @@
34
34
 
35
35
  【追記分】
36
36
 
37
- 上記の方法で「穴の範囲」も求められ(穴の中央座標と幅が分かればいい)ので
37
+ 上記の方法で「穴の範囲」も求められます(穴の中央座標と幅が分かればいい)
38
38
 
39
- 「全体範囲から候補を1つ決める→穴の範囲だっら再抽選」でもいいし、頑張って範囲計算してもいい
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

質問の追記に対して回答

2018/12/23 04:50

投稿

sakura_hana
sakura_hana

スコア11427

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飛ばした方が早いかもしれません。