RenderMeshPreviewSkipCameraAndLighting() static private method

static private RenderMeshPreviewSkipCameraAndLighting ( Mesh mesh, Bounds bounds, PreviewRenderUtility previewUtility, Material litMaterial, Material wireMaterial, MaterialPropertyBlock customProperties, Vector2 direction, int meshSubset ) : void
mesh UnityEngine.Mesh
bounds UnityEngine.Bounds
previewUtility PreviewRenderUtility
litMaterial UnityEngine.Material
wireMaterial UnityEngine.Material
customProperties UnityEngine.MaterialPropertyBlock
direction Vector2
meshSubset int
return void
        private void DoRenderPreview(bool shaded)
        {
            BillboardAsset billboardAsset = this.target as BillboardAsset;
            Bounds         bounds         = new Bounds(new Vector3(0f, (this.m_Height.floatValue + this.m_Bottom.floatValue) * 0.5f, 0f), new Vector3(this.m_Width.floatValue, this.m_Height.floatValue, this.m_Width.floatValue));
            float          magnitude      = bounds.extents.magnitude;
            float          num            = 8f * magnitude;
            Quaternion     quaternion     = Quaternion.Euler(-this.m_PreviewDir.y, -this.m_PreviewDir.x, 0f);

            this.m_PreviewUtility.m_Camera.transform.rotation   = quaternion;
            this.m_PreviewUtility.m_Camera.transform.position   = quaternion * (-Vector3.forward * num);
            this.m_PreviewUtility.m_Camera.nearClipPlane        = num - magnitude * 1.1f;
            this.m_PreviewUtility.m_Camera.farClipPlane         = num + magnitude * 1.1f;
            this.m_PreviewUtility.m_Light[0].intensity          = 1.4f;
            this.m_PreviewUtility.m_Light[0].transform.rotation = quaternion * Quaternion.Euler(40f, 40f, 0f);
            this.m_PreviewUtility.m_Light[1].intensity          = 1.4f;
            Color ambient = new Color(0.1f, 0.1f, 0.1f, 0f);

            InternalEditorUtility.SetCustomLighting(this.m_PreviewUtility.m_Light, ambient);
            if (shaded)
            {
                billboardAsset.MakeRenderMesh(this.m_ShadedMesh, 1f, 1f, 0f);
                billboardAsset.MakeMaterialProperties(this.m_ShadedMaterialProperties, this.m_PreviewUtility.m_Camera);
                ModelInspector.RenderMeshPreviewSkipCameraAndLighting(this.m_ShadedMesh, bounds, this.m_PreviewUtility, billboardAsset.material, null, this.m_ShadedMaterialProperties, new Vector2(0f, 0f), -1);
            }
            else
            {
                billboardAsset.MakePreviewMesh(this.m_GeometryMesh);
                ModelInspector.RenderMeshPreviewSkipCameraAndLighting(this.m_GeometryMesh, bounds, this.m_PreviewUtility, this.m_GeometryMaterial, this.m_WireframeMaterial, null, new Vector2(0f, 0f), -1);
            }
            InternalEditorUtility.RemoveCustomLighting();
        }
        private void DoRenderPreview(bool shaded)
        {
            var billboard = target as BillboardAsset;

            Bounds bounds = new Bounds(
                new Vector3(0, (m_Height.floatValue + m_Bottom.floatValue) * 0.5f, 0),
                new Vector3(m_Width.floatValue, m_Height.floatValue, m_Width.floatValue));

            float halfSize = bounds.extents.magnitude;
            float distance = 8.0f * halfSize;

            var rotation = Quaternion.Euler(-m_PreviewDir.y, -m_PreviewDir.x, 0);

            m_PreviewUtility.camera.transform.rotation = rotation;
            m_PreviewUtility.camera.transform.position = rotation * (-Vector3.forward * distance);
            m_PreviewUtility.camera.nearClipPlane      = distance - halfSize * 1.1f;
            m_PreviewUtility.camera.farClipPlane       = distance + halfSize * 1.1f;

            m_PreviewUtility.lights[0].intensity          = 1.4f;
            m_PreviewUtility.lights[0].transform.rotation = rotation * Quaternion.Euler(40f, 40f, 0);
            m_PreviewUtility.lights[1].intensity          = 1.4f;
            m_PreviewUtility.ambientColor = new Color(.1f, .1f, .1f, 0);
            if (shaded)
            {
                MakeRenderMesh(m_ShadedMesh, billboard);
                billboard.MakeMaterialProperties(m_ShadedMaterialProperties, m_PreviewUtility.camera);
                ModelInspector.RenderMeshPreviewSkipCameraAndLighting(m_ShadedMesh, bounds, m_PreviewUtility, billboard.material, null, m_ShadedMaterialProperties, new Vector2(0, 0), -1);
            }
            else
            {
                MakePreviewMesh(m_GeometryMesh, billboard);
                ModelInspector.RenderMeshPreviewSkipCameraAndLighting(m_GeometryMesh, bounds, m_PreviewUtility, m_GeometryMaterial, m_WireframeMaterial, null, new Vector2(0, 0), -1);
            }
        }
示例#3
0
 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  num       = 4f * magnitude;
         previewUtility.camera.transform.position    = -Vector3.forward * num;
         previewUtility.camera.transform.rotation    = Quaternion.identity;
         previewUtility.camera.nearClipPlane         = num - magnitude * 1.1f;
         previewUtility.camera.farClipPlane          = num + magnitude * 1.1f;
         previewUtility.lights[0].intensity          = 1.4f;
         previewUtility.lights[0].transform.rotation = Quaternion.Euler(40f, 40f, 0f);
         previewUtility.lights[1].intensity          = 1.4f;
         previewUtility.ambientColor = new Color(0.1f, 0.1f, 0.1f, 0f);
         ModelInspector.RenderMeshPreviewSkipCameraAndLighting(mesh, bounds, previewUtility, litMaterial, wireMaterial, null, direction, meshSubset);
     }
 }
        internal static void RenderMeshPreview(Mesh mesh, PreviewRenderUtility previewUtility, Material litMaterial, Material wireMaterial, Vector2 direction, int meshSubset)
        {
            if ((Object)mesh == (Object)null || previewUtility == null)
            {
                return;
            }
            Bounds bounds    = mesh.bounds;
            float  magnitude = bounds.extents.magnitude;
            float  num       = 4f * magnitude;

            previewUtility.m_Camera.transform.position   = -Vector3.forward * num;
            previewUtility.m_Camera.transform.rotation   = Quaternion.identity;
            previewUtility.m_Camera.nearClipPlane        = num - magnitude * 1.1f;
            previewUtility.m_Camera.farClipPlane         = num + magnitude * 1.1f;
            previewUtility.m_Light[0].intensity          = 1.4f;
            previewUtility.m_Light[0].transform.rotation = Quaternion.Euler(40f, 40f, 0.0f);
            previewUtility.m_Light[1].intensity          = 1.4f;
            Color ambient = new Color(0.1f, 0.1f, 0.1f, 0.0f);

            InternalEditorUtility.SetCustomLighting(previewUtility.m_Light, ambient);
            ModelInspector.RenderMeshPreviewSkipCameraAndLighting(mesh, bounds, previewUtility, litMaterial, wireMaterial, (MaterialPropertyBlock)null, direction, meshSubset);
            InternalEditorUtility.RemoveCustomLighting();
        }