21 get { _angle = Mathf.Clamp(_angle, -179f, 179f);
return _angle; }
22 set { _angle = Mathf.Clamp(value, -179f, 179f); }
36 var forward = Vector3.forward;
38 var color = LeapColor.cerulean.WithAlpha(alpha);
41 var nearVec = forward *
near;
42 var nearRad = Mathf.Tan(
angle/2f * Mathf.Deg2Rad) *
near;
43 var nearCircle =
new Geometry.Circle(center: nearVec,
45 nearCircle.Draw(drawer, color);
48 var farVec = forward *
far;
49 var farRad = Mathf.Tan(
angle/2f * Mathf.Deg2Rad) *
far;
50 var farCircle =
new Geometry.Circle(center: farVec,
52 farCircle.Draw(drawer, color);
54 var nearCirclePoints = nearCircle.Points(7);
55 var farCirclePoints = farCircle.Points(7);
56 for (var i = 0; i < 7; i++) {
57 nearCirclePoints.MoveNext();
58 farCirclePoints.MoveNext();
59 drawer.
Line(nearCirclePoints.Current, farCirclePoints.Current);
62 for (var rMult = 0.8f; rMult > 0.1f; rMult -= 0.2f) {
63 drawer.
color = color.WithAlpha(rMult * rMult * alpha);
64 nearCircle.radius = nearRad * rMult;
65 nearCircle.Draw(drawer);
68 for (var rMult = 0.8f; rMult > 0.1f; rMult -= 0.2f) {
69 drawer.
color = color.WithAlpha(rMult * rMult * alpha);
70 farCircle.radius = farRad * rMult;
71 farCircle.Draw(drawer);
Simple drawing interface abstraction (intended for debug drawing, not production!) with statically-ac...
void Line(Vector3 a, Vector3 b)
Color color
Calls the setColor delegate.
Frustum(float angle, float near=0.10f, float far=0.50f, Transform transform=null)