-
Notifications
You must be signed in to change notification settings - Fork 459
Expand file tree
/
Copy pathDrawRay.cs
More file actions
39 lines (34 loc) · 1.23 KB
/
DrawRay.cs
File metadata and controls
39 lines (34 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using UnityEngine;
[RequireComponent(typeof(LineRenderer))]
public class DrawRay : MonoBehaviour
{
public float RayLength = 40;
private Transform m_Transform;
private LineRenderer m_LineRenderer;
private void Awake()
{
TryGetComponent(out m_Transform);
TryGetComponent(out m_LineRenderer);
m_LineRenderer.SetPosition(0, transform.position);
m_LineRenderer.SetPosition(1, transform.position + transform.forward * RayLength);
}
private void FixedUpdate()
{
var ray = new Ray(m_Transform.position, m_Transform.forward * RayLength);
var point = Physics.Raycast(ray, out var hit, RayLength, Physics.DefaultRaycastLayers)
? hit.point
: m_Transform.position + m_Transform.forward * RayLength;
if (hit.collider != null && hit.collider.tag != "Floor" && hit.collider.tag != "Boundary")
{
m_LineRenderer.startColor = Color.red;
m_LineRenderer.endColor = Color.red;
}
else
{
m_LineRenderer.startColor = Color.white;
m_LineRenderer.endColor = Color.white;
}
m_LineRenderer.SetPosition(0, transform.position);
m_LineRenderer.SetPosition(1, point);
}
}