1 using System.Collections;
2 using System.Collections.Generic;
11 public class Lidar : MonoBehaviour
13 public int numberOfIncrements = 360;
14 public float maxRange = 500f;
17 public static float[] distances;
21 distances =
new float[numberOfIncrements];
26 Vector3 fwd =
new Vector3(0, 0, 1);
33 bool isActive = StaticLidarSchema.IsActive;
37 numberOfIncrements = StaticLidarSchema.Density;;
38 maxRange = StaticLidarSchema.Range;
39 StaticLidarSchema.IsActive =
false;
43 for (
int incr = 0; incr < numberOfIncrements; incr++)
47 dir = transform.rotation * Quaternion.Euler(0, incr, 0)*fwd;
50 if (Physics.Raycast(transform.position, dir, out hit, maxRange))
52 distances[indx] = (float)hit.distance;
56 distances[indx] = maxRange;
58 Debug.DrawRay(transform.position, dir * distances[indx], Color.red);
59 StaticOutputSchema.LidarPointCloud = distances;