NavMeshを用意するのが面倒なのと、こっちのほうがすぐに確認できそうなので
単純にアタッチしたオブジェクトの背後180度内にシーンビューで100個の球体を描写しているだけです
NavMesh.FindClosestEdge
か NavMesh.SamplePosition
で
近い場所は取得できると思うので少し改変すればこれで大丈夫かと
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript1 : MonoBehaviour {
private void OnDrawGizmos(){
//現在正面
Vector3 forward = gameObject.transform.forward;
//現在位置
Vector3 position = gameObject.transform.position;
for (int i=0; i<100; i++){
//距離と角度の乱数
float rangle = Random.Range(-90,90);
float rdistance = Random.Range(0,100);
//現在正面を反転させた物を乱数でY回転させて距離を負で掛けて現在位置を足す
Vector3 target = (Quaternion.Euler(0f, rangle, 0f) * forward * -rdistance) + position;
Gizmos.DrawSphere(target, 1);
}
}
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/05 08:01
2018/07/14 12:20