void Awake() { if (rb == null) { playerObj = GameObject.Find("Player"); rb = playerObj.GetComponent <Rigidbody2D>(); fov = Instantiate(GameObject.Find("FieldOfView").GetComponent <fieldOfView>()); fov.name = "playerFOV"; light = playerObj.GetComponent <Light2D>(); } }
void OnSceneGUI() { fieldOfView fov = (fieldOfView)target; Handles.color = Color.white; Handles.DrawWireArc(fov.transform.position, Vector3.up, Vector3.forward, 360, fov.viewRadius); Vector3 viewAngleA = fov.DirectionFromAngle(-fov.viewAngle / 2, false); Vector3 viewAngleB = fov.DirectionFromAngle(fov.viewAngle / 2, false); Handles.DrawLine(fov.transform.position, fov.transform.position + viewAngleA * fov.viewRadius); Handles.DrawLine(fov.transform.position, fov.transform.position + viewAngleB * fov.viewRadius); }
void OnSceneGUI() { fieldOfView fow = (fieldOfView)target; Handles.color = Color.red; Handles.DrawWireArc(fow.transform.position, Vector3.up, Vector3.forward, 360, fow.viewRadius); Vector3 viewAngleA = fow.dirFromAngle(-fow.viewAngle / 2, false); Vector3 viewAngleB = fow.dirFromAngle(fow.viewAngle / 2, false); Handles.DrawLine(fow.transform.position, fow.transform.position + viewAngleA * fow.viewRadius); Handles.DrawLine(fow.transform.position, fow.transform.position + viewAngleB * fow.viewRadius); foreach (Transform visibleTarget in fow.visibleTargets) { Handles.DrawLine(fow.transform.position, visibleTarget.position); } }
// Start is called before the first frame update void Awake() { if (rb == null) { rb = enemyObj.GetComponent <Rigidbody2D>(); rbTarget = GameObject.Find("Player").GetComponent <Rigidbody2D>(); fov = Instantiate(GameObject.Find("fov").GetComponent <fieldOfView>()); fov.name = "enemyFOV" + enemyObj.name; fov.fov = 140; fov.viewDistance = 5; blindSpotFOV = Instantiate(GameObject.Find("fov").GetComponent <fieldOfView>()); blindSpotFOV.name = "enemyblindSpotFOV" + enemyObj.name; blindSpotFOV.fov = 400; blindSpotFOV.viewDistance = 2; } }
new Vector4(fieldOfView, aspectRatio, nearClippingPlane, farClippingPlane));