您好,登錄后才能下訂單哦!
@script ExecuteInEditMode class EdgeDetectEffectNormals extends ImageEffectBase { var renderSceneShader : Shader; private var renderTexture : RenderTexture; private var shaderCamera : GameObject; function OnDisable() { super.OnDisable(); DestroyImmediate (shaderCamera); if (renderTexture != null) { RenderTexture.ReleaseTemporary (renderTexture); renderTexture = null; } //Unity3D教程手冊:www.unitymanual.com } function OnPreRender() { if (!enabled || !gameObject.active) return; if (renderTexture != null) { RenderTexture.ReleaseTemporary (renderTexture); renderTexture = null; } renderTexture = RenderTexture.GetTemporary (camera.pixelWidth, camera.pixelHeight, 16); if (!shaderCamera) { shaderCamera = new GameObject("ShaderCamera", Camera); shaderCamera.camera.enabled = false; shaderCamera.hideFlags = HideFlags.HideAndDontSave; } //Unity3D腳本:www.unitymanual.com var cam = shaderCamera.camera; cam.CopyFrom (camera); cam.backgroundColor = Color(1,1,1,1); cam.clearFlags = CameraClearFlags.SolidColor; cam.targetTexture = renderTexture; cam.RenderWithShader (renderSceneShader, "RenderType"); } function OnRenderImage (source : RenderTexture, destination : RenderTexture) { var mat = material; mat.SetTexture("_NormalsTexture", renderTexture); ImageEffects.BlitWithMaterial (mat, source, destination); if (renderTexture != null) { RenderTexture.ReleaseTemporary (renderTexture); renderTexture = null; } } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。