static private RenderMeshPreview ( |
||
mesh | ||
previewUtility | ||
litMaterial | ||
wireMaterial | ||
direction | Vector2 | |
meshSubset | int | |
return | 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();
}
}
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); }