UnityEditor.ModelInspector.RenderMeshPreview C# (CSharp) Méthode

RenderMeshPreview() static private méthode

static private RenderMeshPreview ( Mesh mesh, PreviewRenderUtility previewUtility, Material litMaterial, Material wireMaterial, Vector2 direction, int meshSubset ) : void
mesh UnityEngine.Mesh
previewUtility PreviewRenderUtility
litMaterial UnityEngine.Material
wireMaterial UnityEngine.Material
direction Vector2
meshSubset int
Résultat void
        internal static void RenderMeshPreview(Mesh mesh, PreviewRenderUtility previewUtility, Material litMaterial, Material wireMaterial, Vector2 direction, int meshSubset)
        {
            if ((mesh != null) && (previewUtility != null))
            {
                Bounds bounds = mesh.bounds;
                float magnitude = bounds.extents.magnitude;
                float num2 = 4f * magnitude;
                previewUtility.m_Camera.transform.position = (Vector3) (-Vector3.forward * num2);
                previewUtility.m_Camera.transform.rotation = Quaternion.identity;
                previewUtility.m_Camera.nearClipPlane = num2 - (magnitude * 1.1f);
                previewUtility.m_Camera.farClipPlane = num2 + (magnitude * 1.1f);
                previewUtility.m_Light[0].intensity = 1.4f;
                previewUtility.m_Light[0].transform.rotation = Quaternion.Euler(40f, 40f, 0f);
                previewUtility.m_Light[1].intensity = 1.4f;
                Color ambient = new Color(0.1f, 0.1f, 0.1f, 0f);
                InternalEditorUtility.SetCustomLighting(previewUtility.m_Light, ambient);
                RenderMeshPreviewSkipCameraAndLighting(mesh, bounds, previewUtility, litMaterial, wireMaterial, null, direction, meshSubset);
                InternalEditorUtility.RemoveCustomLighting();
            }
        }

Usage Example

        private void DrawMeshPreview(FrameDebuggerEvent curEvent, Rect previewRect, Rect meshInfoRect, Mesh mesh, int meshSubset)
        {
            if (this.m_PreviewUtility == null)
            {
                this.m_PreviewUtility = new PreviewRenderUtility();
                this.m_PreviewUtility.m_CameraFieldOfView = 30f;
            }
            if (this.m_Material == null)
            {
                this.m_Material = EditorGUIUtility.GetBuiltinExtraResource(typeof(Material), "Default-Material.mat") as Material;
            }
            if (this.m_WireMaterial == null)
            {
                this.m_WireMaterial = ModelInspector.CreateWireframeMaterial();
            }
            this.m_PreviewUtility.BeginPreview(previewRect, "preBackground");
            ModelInspector.RenderMeshPreview(mesh, this.m_PreviewUtility, this.m_Material, this.m_WireMaterial, this.m_PreviewDir, meshSubset);
            this.m_PreviewUtility.EndAndDrawPreview(previewRect);
            string name = mesh.name;

            if (string.IsNullOrEmpty(name))
            {
                name = "<no name>";
            }
            object[] objArray1 = new object[] { name, " subset ", meshSubset, "\n", curEvent.vertexCount, " verts, ", curEvent.indexCount, " indices" };
            string   text      = string.Concat(objArray1);

            EditorGUI.DropShadowLabel(meshInfoRect, text);
        }
All Usage Examples Of UnityEditor.ModelInspector::RenderMeshPreview