コード例 #1
0
        internal static void DrawGizmos(HDProbe d, GizmoType gizmoType)
        {
            HDProbeUI s;

            if (!HDProbeEditor.TryGetUIStateFor(d, out s))
            {
                return;
            }

            var mat = Matrix4x4.TRS(d.transform.position, d.transform.rotation, Vector3.one);

            switch (EditMode.editMode)
            {
            case EditBaseShape:
                InfluenceVolumeUI.DrawGizmos(
                    s.influenceVolume, d.influenceVolume, mat,
                    InfluenceVolumeUI.HandleType.Base,
                    InfluenceVolumeUI.HandleType.All);
                break;

            case EditInfluenceShape:
                InfluenceVolumeUI.DrawGizmos(
                    s.influenceVolume,
                    d.influenceVolume,
                    mat,
                    InfluenceVolumeUI.HandleType.Influence,
                    InfluenceVolumeUI.HandleType.All);
                break;

            case EditInfluenceNormalShape:
                InfluenceVolumeUI.DrawGizmos(
                    s.influenceVolume,
                    d.influenceVolume,
                    mat,
                    InfluenceVolumeUI.HandleType.InfluenceNormal,
                    InfluenceVolumeUI.HandleType.All);
                break;

            default:
            {
                var showedHandles = s.influenceVolume.showInfluenceHandles
                        ? InfluenceVolumeUI.HandleType.All
                        : InfluenceVolumeUI.HandleType.Base | InfluenceVolumeUI.HandleType.Influence;
                InfluenceVolumeUI.DrawGizmos(
                    s.influenceVolume,
                    d.influenceVolume,
                    mat,
                    InfluenceVolumeUI.HandleType.None,
                    showedHandles);
                break;
            }
            }

            if (d.proxyVolume != null)
            {
                ReflectionProxyVolumeComponentUI.DrawGizmos_EditNone(d.proxyVolume);
            }
        }
コード例 #2
0
        internal static void DrawGizmos(PlanarReflectionProbe d, GizmoType gizmoType)
        {
            HDProbeUI.DrawGizmos(d, gizmoType);

            HDProbeUI s;

            if (!HDProbeEditor.TryGetUIStateFor(d, out s))
            {
                return;
            }

            var mat = Matrix4x4.TRS(d.transform.position + d.transform.rotation * d.influenceVolume.offset, d.transform.rotation, Vector3.one);

            //gizmo overrides
            switch (EditMode.editMode)
            {
            case EditBaseShape:
                if (d.influenceVolume.shape != InfluenceShape.Box)
                {
                    break;
                }

                using (new Handles.DrawingScope(mat))
                {
                    s.influenceVolume.boxBaseHandle.center = Vector3.zero;
                    s.influenceVolume.boxBaseHandle.size   = d.influenceVolume.boxSize;
                    s.influenceVolume.boxBaseHandle.DrawHull(true);
                    s.influenceVolume.boxInfluenceHandle.center = d.influenceVolume.boxBlendOffset;
                    s.influenceVolume.boxInfluenceHandle.size   = d.influenceVolume.boxSize + d.influenceVolume.boxBlendSize;
                    s.influenceVolume.boxInfluenceHandle.DrawHull(false);
                    s.influenceVolume.boxInfluenceNormalHandle.center = d.influenceVolume.boxBlendNormalOffset;
                    s.influenceVolume.boxInfluenceNormalHandle.size   = d.influenceVolume.boxSize + d.influenceVolume.boxBlendNormalSize;
                    s.influenceVolume.boxInfluenceNormalHandle.DrawHull(false);
                }
                break;
            }

            if (!HDProbeEditor.TryGetUIStateFor(d, out s))
            {
                return;
            }

            if (s.showCaptureHandles || EditMode.editMode == EditCenter)
            {
                DrawGizmos_CaptureFrustrum(d);
            }

            if (d.useMirrorPlane)
            {
                DrawGizmos_CaptureMirror(d);
            }
        }
コード例 #3
0
        internal static void DrawGizmos(PlanarReflectionProbe d, GizmoType gizmoType)
        {
            HDProbeUI.DrawGizmos(d, gizmoType);

            HDProbeUI s;

            if (!HDProbeEditor.TryGetUIStateFor(d, out s))
            {
                return;
            }

            if (s.showCaptureHandles || EditMode.editMode == EditCenter)
            {
                DrawGizmos_CaptureFrustrum(d);
            }

            if (d.useMirrorPlane)
            {
                DrawGizmos_CaptureMirror(d);
            }
        }