예제 #1
0
    public Vector3 GetHitPointSpin()
    {
        Vector3[] hitPoints = CameraUtil.GetHitPoints(camera, plane);
        Vector3   min;
        Vector3   max;

        CameraUtil.GetMinMaxVector3(hitPoints, out min, out max);
        return(max - min);
    }
예제 #2
0
    public void LogHitPoints()
    {
        Vector3[] hitPoints = CameraUtil.GetHitPoints(camera, plane);
        Vector3   min;
        Vector3   max;

        CameraUtil.GetMinMaxVector3(hitPoints, out min, out max);
        Debug.LogFormat("cornors:{0}, min:{1}, max:{2}, max-min:{3}", hitPoints.IEnumerableToString(), min, max, max - min);
    }
예제 #3
0
    void ShowCameraFrustum()
    {
        Vector3[] nearCorners;
        Vector3[] farCorners;
        CameraUtil.GetCameraCornors(camera, out nearCorners, out farCorners);
        DrawFrustum(nearCorners, farCorners);
        Vector3[] hitPoints = CameraUtil.LinePlaneIntersectPoints(nearCorners, farCorners, plane);
        DrawFrustumIntersectPlane(hitPoints, interectColor);
        Vector3 min;
        Vector3 max;

        CameraUtil.GetMinMaxVector3(hitPoints, out min, out max);
    }
예제 #4
0
    private void OnDrawGizmos()
    {
        Vector3[] nearCorners = CameraUtil.CameraClipPlanePoints(camera, camera.nearClipPlane);
        Vector3[] farCorners  = CameraUtil.CameraClipPlanePoints(camera, camera.farClipPlane);
        Vector3[] hitPoints   = CameraUtil.GetHitPoints(nearCorners, farCorners, plane);
        Vector3   min;
        Vector3   max;

        CameraUtil.GetMinMaxVector3(hitPoints, out min, out max);

        DrawCube(nearCorners, Color.red);
        DrawCube(farCorners, Color.blue);
        DrawLines(nearCorners, farCorners, Color.green);
        DrawCube(hitPoints, interectColor);
        DrawCube(min, max, Color.cyan);
        DrawViewRay(Color.black);
    }