Example #1
0
    void OnDrawGizmosSelected()
    {
        var plane1 = new UnityEngine.Plane(new Vector3(1f, 0f, 0f), new Vector3(-0.79f, -0.68f, 0.85f));

        Gizmos.color = Color.blue;
        var n = 5;

        for (var i = -n; i < n; i++)
        {
            for (var j = -n; j < n; j++)
            {
                for (var k = -n; k < n; k++)
                {
                    var projection = plane1.ClosestPointOnPlane(new Vector3(i, j, k));
                    Gizmos.DrawLine(plane1.ClosestPointOnPlane(new Vector3(0, 0, 0)), projection);
                }
            }
        }
    }
Example #2
0
 public bool IsLineOnPlane(Line l)
 {
     // check the angle between plane normal and line direction
     if (Vector3.Angle(l.Direction, normal) > maxOrientationDifference)
     {
         return(false);
     }
     // check distance between plane and line origin
     if (Vector3.Distance(plane.ClosestPointOnPlane(l.Origin), l.Origin) > maxDistanceToPlane)
     {
         return(false);
     }
     return(true);
 }