void ClearObjects() { if (renderGOs != null) { foreach (var go in renderGOs) { DestroyImmediate(go.GetComponent <SkinnedMeshRenderer>().sharedMesh); DestroyImmediate(go.GetComponent <MeshCollider>().sharedMesh); DestroyImmediate(go); } } if (inactiveGOs != null) { foreach (var gos in inactiveGOs) { foreach (var go in gos) { DestroyImmediate(go.GetComponent <SkinnedMeshRenderer>().sharedMesh); DestroyImmediate(go.GetComponent <MeshCollider>().sharedMesh); DestroyImmediate(go); } } } renderGOs.Clear(); inactiveGOs.Clear(); previewRender?.Cleanup(); previewRender = null; }
private void OnDestroy() { SaveSettings(); preview.Cleanup(); preview = null; if (didWeBake) { GameObject.DestroyImmediate(GameObject.Find("TEMPVOX")); } }
public void Cleanup() { if (preview != null) { preview.Cleanup(); //UnityEngine.Object.DestroyImmediate(this.mPreviewMaterial.shader, false); // UnityEngine.Object.DestroyImmediate(this.mPreviewMaterial, false); dic.Clear(); } preview = null; }
protected override void OnDestroy() { // Avoid leaking in the editor by cleaning up the preview component if (m_PreviewUtility != null) { m_PreviewUtility.Cleanup(); m_PreviewUtility = null; } base.OnDestroy(); }
void OnDisable() { if (!UnityObject.ReferenceEquals(m_VisualEffectGO, null)) { UnityObject.DestroyImmediate(m_VisualEffectGO); } if (m_PreviewUtility != null) { m_PreviewUtility.Cleanup(); } }
protected override void OnDisable() { base.OnDisable(); EditorPrefs.SetString("P3dPainter.Settings", EditorJsonUtility.ToJson(settings)); previewUtil.Cleanup(); thumbnailUtil.Cleanup(); SceneView.onSceneGUIDelegate -= HandleSceneGUI; }
private void DestroyPreview() { if (previewRenderUtility != null) { previewRenderUtility.Cleanup(); previewRenderUtility = null; previewGrid = null; previewTilemaps = null; previewTilemapRenderers = null; } }
public void Dispose() { if (m_Disposed) { return; } renderUtility.Cleanup(); UnityObject.DestroyImmediate(gameObject); m_GameObject = null; m_Disposed = true; }
public void RenderIcons() { var previewRenderer = new PreviewRenderUtility(true); foreach (var target in _targets) { RenderIcon(previewRenderer, target); } previewRenderer.Cleanup(); }
virtual public void Dispose() { Reset(); if (m_FloorMaterial != null) { Object.DestroyImmediate(m_FloorMaterial); } if (m_Preview != null) { m_Preview.Cleanup(); } }
/// <summary> /// 最后的销毁方法 /// 不能被Unity自动调用,目前只能在点下一个对象时,调用销毁 /// </summary> public void OnDestroy() { ClearLockedParticle(); SimulateDisable(); DestroyPreviewInstances(); if (m_PreviewUtility != null) { //Debug.Log("OnDestroy"); m_PreviewUtility.Cleanup(); m_PreviewUtility = null; } }
private void OnDisable() { if (!HasPreviewGUI()) { return; } m_Preview.Cleanup(); m_Preview = null; m_PreviewTarget = null; m_PreviewMeshRenderer = null; m_TargetBlock = null; EditorApplication.update -= Update; }
void clearPreviewInstance() { if (previewObject != null) { DestroyImmediate(previewObject.gameObject, true); previewObject = null; } if (previewRenderUtility != null) { previewRenderUtility.Cleanup(); previewRenderUtility = null; } }
void OnDestroy() { if (m_context != null) { m_context.Invalidate(); m_context = null; } if (m_renderer != null) { m_renderer.Cleanup(); } }
private void OnDestroy() { if (meshPreviewUtility != null) { meshPreviewUtility.Cleanup(); meshPreviewUtility = null; } if (uvPreviewUtility != null) { uvPreviewUtility.Cleanup(); uvPreviewUtility = null; } isInitialised = false; }
void clearPreviewInstance() { if (previewObject != null) { DestroyImmediate(previewObject.gameObject, true); previewObject = null; // callbacks.ForEach(r => EditorApplication.playmodeStateChanged -= r); // callbacks.Clear(); } if (previewRenderUtility != null) { previewRenderUtility.Cleanup(); previewRenderUtility = null; } }
Texture2D GetPreviewTexture(GameObject go, int width, int height) { if (renderUtility == null) { InitializePreviewRenderUtility(); } var rect = new Rect(0, 0, width, height); renderUtility.BeginStaticPreview(rect); MeshFilter[] meshFilters = go.GetComponentsInChildren <MeshFilter>(); MeshRenderer[] meshRenderers = go.GetComponentsInChildren <MeshRenderer>(); for (int i = 0; i < meshRenderers.Length; i++) { bound.Encapsulate(meshRenderers[i].bounds); renderUtility.DrawMesh(meshFilters[i].sharedMesh, Matrix4x4.identity, meshRenderers[i].sharedMaterials[0], 0); } float magnitude = bound.extents.magnitude; float num = magnitude * rangeFactor; var quaternion = Quaternion.Euler(-rotation.y, -rotation.x, 0f); var position = bound.center - quaternion * (Vector3.forward * num); renderUtility.camera.transform.position = position; renderUtility.camera.transform.rotation = quaternion; renderUtility.camera.nearClipPlane = num - magnitude * 1.1f; renderUtility.camera.farClipPlane = num + magnitude * 1.1f; //renderUtility.lights[0].transform.rotation = Quaternion.Euler(40f, 40f, 0f); renderUtility.lights[0].transform.rotation = renderUtility.camera.transform.rotation; //renderUtility.lights[1].intensity = 2.0f; renderUtility.Render(true); Texture2D result = renderUtility.EndStaticPreview(); renderUtility.Cleanup(); return(result); }
public void OnDestroy() { if (m_PreviewUtility != null) { m_PreviewUtility.Cleanup(); m_PreviewUtility = null; } Object.DestroyImmediate(m_PreviewInstance); Object.DestroyImmediate(m_ReferenceInstance); Object.DestroyImmediate(m_DirectionInstance); Object.DestroyImmediate(m_PivotInstance); Object.DestroyImmediate(m_RootInstance); if (timeControl != null) { timeControl.OnDisable(); } }
protected virtual void OnDisable() { if (prototypeContents != null) { for (int i = 0; i < prototypeContents.Length; i++) { if (prototypeContents[i] != null && prototypeContents[i].image != null) { DestroyImmediate(prototypeContents[i].image); } } } prototypeContents = null; if (_previewRenderUtility != null) { _previewRenderUtility.Cleanup(); } }
void Cleanup() { PreviewRenderUtility render = new PreviewRenderUtility(); render.Cleanup(); var hidden = FindObjectsOfType <GameObject>(); if (hidden.Length == 0) { return; } foreach (GameObject go in hidden) { if ((go.hideFlags & HideFlags.HideInHierarchy) != 0) { DestroyImmediate(go); } } }
public override void Disable() { _vertexmode = VertexMode.None; _previewutility.Cleanup(); _previewutility = null; _previewblock.Clear(); _meshvertex.Clear(); _meshnormals.Clear(); _meshuvs.Clear(); _meshtriangles.Clear(); _mesh.Clear(); _mesh.UploadMeshData(false); _primarylist.Clear(); _secondarylist.Clear(); _primarytset.Clear(); _secondarytset.Clear(); _display.Disable(); _update_mesh = false; _render_mesh = false; _repaint_menu = false; }
protected void DestroyPreview() { if (mPreviewRenderUtility != null) { try { mPreviewRenderUtility.Cleanup(); } catch (Exception e) { Debug.LogException(e); } mPreviewRenderUtility = null; } if (mPreviewGameObject != null) { try { DestroyImmediate(mPreviewGameObject); } catch (Exception e) { Debug.LogException(e); } mPreviewGameObject = null; } }
/// <summary> /// RenderStaticPreview is poorly documented. Nonetheless this produces a nice /// square thumbnail preview of the decal. /// </summary> public override Texture2D RenderStaticPreview(string assetPath, UnityEngine.Object[] subAssets, int width, int height) { DecalAsset decalAsset = (DecalAsset)target; if (decalAsset == null || !decalAsset.HasDiffuseAlphaTexture) { return(null); } PreviewRenderUtility utility = new PreviewRenderUtility(); utility.BeginStaticPreview(new Rect(0, 0, width, height)); // Normally would set up a little scene within PreviewRenderUtility, then render that manually // useful links: // https://github.com/raphael-ernaelsten/Texture3DPreview-for-Unity/blob/master/Assets/Texture3DPreview/Editor/Extensions/Texture3DExtensions.cs // http://answers.unity.com/answers/1650714/view.html // for example: // utility.camera.transform.position = Vector2.zero; // utility.camera.transform.position = utility.camera.transform.forward * -distance; // utility.camera.backgroundColor = Color.red; // utility.DrawMesh(someMesh, Matrix4x4.identity, someMaterial, 0); // utility.camera.Render(); // But in this case we just blit to camera's target thumbnailMaterial.SetVector(boundsID, decalAsset.BoundsAsVector4); thumbnailMaterial.SetColor(colourForAlphaID, previewBackColour); Graphics.Blit(decalAsset.diffuseAlpha, utility.camera.targetTexture, thumbnailMaterial, 0); // EndStaticPreview() gives us the texture generated by utility.camera // (for some reason returning a texture made this way works, returning a texture I make doesn't) var result = utility.EndStaticPreview(); utility.Cleanup(); return(result); }
private void InitPreview() { if (m_PreviewUtility == null) { m_PreviewUtility = new PreviewRenderUtility(false, true); m_PreviewUtility.cameraFieldOfView = 60.0f; m_PreviewUtility.camera.nearClipPlane = 0.1f; m_PreviewUtility.camera.farClipPlane = 220.0f; //m_PreviewUtility.camera.transform.position = new Vector3(80, 30, 80); m_PreviewUtility.camera.transform.position = new Vector3(50, 40, 50); m_PreviewUtility.camera.transform.rotation = Quaternion.identity; m_PreviewUtility.camera.transform.LookAt(new Vector3(0, 0, 0)); m_PreviewUtility.lights[0].intensity = 1.4f; m_PreviewUtility.lights[0].transform.rotation = Quaternion.Euler(40f, 30f, 0f); m_PreviewUtility.lights[1].intensity = 1.4f; } else { m_PreviewUtility.Cleanup(); return; } }
public void Cleanup() { previewRenderUtility.Cleanup(); }
private void OnDisable() { m_previewRenderUtility.Cleanup(); m_previewRenderUtility = null; }
protected virtual void OnDisable() { m_previewRender.Cleanup(); m_previewRender = null; }
private void OnDisable() { preview.Cleanup(); preview = null; }
void OnDestroy() { _previewRenderUtility.Cleanup(); }
public void Cleanup() { renderUtil.Cleanup(); }