ŁE5.5.1f1ţ˙˙˙˙˙Č0ĹňĂôL.`?^Ů0D7€˙˙˙˙€Ś€˛€ЀŚ€Ś€Ś€#Ś€+H€3˙˙˙˙€1€1€˙˙˙˙@ހ€ Q€j€ ™€< Ś€H H€Z˙˙˙˙ €1€1€˙˙˙˙@ހ€Q€j€ЀgŚ€Ś€Ś€#Ś€+v~ € €– €Ÿ €¨ €ą €ş €Ă €Ě €Ő €Ţ  €ç! €ń" €ű# €$ €% €&Ő€#˙˙˙˙'€1€1€˙˙˙˙(€ހ€)H€j€˙˙˙˙*€1€1€˙˙˙˙+@ހ€,Q€j€-™€*.ހ8/AssetMetaDataguiddata[0]data[1]data[2]data[3]pathNametimeCreatedoriginalChangesetoriginalNameoriginalParentHash128originalDigestbytes[0]bytes[1]bytes[2]bytes[3]bytes[4]bytes[5]bytes[6]bytes[7]bytes[8]bytes[9]bytes[10]bytes[11]bytes[12]bytes[13]bytes[14]bytes[15]labelsassetStoreReflicenseType ˙˙z{ď@îČă5^(H'7€˙˙˙˙€Ś€˛€ Ő€ ހ#.€,†€Ä€ ހ#.€,H€Ť€˙˙˙˙€1€1€˙˙˙˙ @ހ€ Q€j€ Ő€5˙˙˙˙ €1€1€˙˙˙˙ €ހ€€j€˙˙˙˙€H€›€˙˙˙˙€1€1€˙˙˙˙@ހ€Q€j€y€ € ހ#.€, €I@ž€X @ހ#.€,H€]˙˙˙˙€1€1€˙˙˙˙@ހ€Q€j€H€h˙˙˙˙€1€1€˙˙˙˙ @ހ€!Q€j€"H€z˙˙˙˙#€1€1€˙˙˙˙$@ހ€%Q€j€&MonoImporterPPtrm_FileIDm_PathIDm_DefaultReferencesexecutionOrdericonm_UserDatam_AssetBundleNamem_AssetBundleVariants˙˙˙8-l'€Łć„hŒÎA,Œ€7€˙˙˙˙€Ś€˛€Ő€ ހ.€†€Ä€ ހ.€H€Ť€˙˙˙˙€1€1€˙˙˙˙ @ހ€ Q€j€ H€ę€˙˙˙˙ €1€1€˙˙˙˙ @ހ€Q€j€ń€(˙˙˙˙€1€1€˙˙˙˙€ހ€€j€˙˙˙˙€H€›€˙˙˙˙€1€1€˙˙˙˙@ހ€Q€j€y€ € ހ.€y€< ހ.€ހCH€T˙˙˙˙€1€1€˙˙˙˙ @ހ€!Q€j€"H€`˙˙˙˙#€1€1€˙˙˙˙$@ހ€%Q€j€&H€l˙˙˙˙'€1€1€˙˙˙˙(@ހ€)Q€j€*L€{+PPtrm_FileIDm_PathIDm_DefaultReferencesm_Iconm_ExecutionOrderm_ClassNamem_Namespacem_AssemblyNamem_IsEditorScriptœ  ŕyŻ@ žÇAż[Ž@<š Ě5Ó÷\Ag؃VCâŁhń둫Ň+[™H˘oBŰłŔw÷0(g/m´ôŁ•ň‚K´)2ʸĆ-DAssets/Standard Assets/Effects/ImageEffects/Scripts/CreaseShading.cs blurShader>IdepthFetchShader>IcreaseApplyShader>I CreaseShading˙ using System; using UnityEngine; namespace UnityStandardAssets.ImageEffects { [ExecuteInEditMode] [RequireComponent (typeof(Camera))] [AddComponentMenu ("Image Effects/Edge Detection/Crease Shading")] public class CreaseShading : PostEffectsBase { public float intensity = 0.5f; public int softness = 1; public float spread = 1.0f; public Shader blurShader = null; private Material blurMaterial = null; public Shader depthFetchShader = null; private Material depthFetchMaterial = null; public Shader creaseApplyShader = null; private Material creaseApplyMaterial = null; public override bool CheckResources () { CheckSupport (true); blurMaterial = CheckShaderAndCreateMaterial (blurShader, blurMaterial); depthFetchMaterial = CheckShaderAndCreateMaterial (depthFetchShader, depthFetchMaterial); creaseApplyMaterial = CheckShaderAndCreateMaterial (creaseApplyShader, creaseApplyMaterial); if (!isSupported) ReportAutoDisable (); return isSupported; } void OnRenderImage (RenderTexture source, RenderTexture destination) { if (CheckResources()==false) { Graphics.Blit (source, destination); return; } int rtW = source.width; int rtH = source.height; float widthOverHeight = (1.0f * rtW) / (1.0f * rtH); float oneOverBaseSize = 1.0f / 512.0f; RenderTexture hrTex = RenderTexture.GetTemporary (rtW, rtH, 0); RenderTexture lrTex1 = RenderTexture.GetTemporary (rtW/2, rtH/2, 0); Graphics.Blit (source,hrTex, depthFetchMaterial); Graphics.Blit (hrTex, lrTex1); for(int i = 0; i < softness; i++) { RenderTexture lrTex2 = RenderTexture.GetTemporary (rtW/2, rtH/2, 0); blurMaterial.SetVector ("offsets", new Vector4 (0.0f, spread * oneOverBaseSize, 0.0f, 0.0f)); Graphics.Blit (lrTex1, lrTex2, blurMaterial); RenderTexture.ReleaseTemporary (lrTex1); lrTex1 = lrTex2; lrTex2 = RenderTexture.GetTemporary (rtW/2, rtH/2, 0); blurMaterial.SetVector ("offsets", new Vector4 (spread * oneOverBaseSize / widthOverHeight, 0.0f, 0.0f, 0.0f)); Graphics.Blit (lrTex1, lrTex2, blurMaterial); RenderTexture.ReleaseTemporary (lrTex1); lrTex1 = lrTex2; } creaseApplyMaterial.SetTexture ("_HrDepthTex", hrTex); creaseApplyMaterial.SetTexture ("_LrDepthTex", lrTex1); creaseApplyMaterial.SetFloat ("intensity", intensity); Graphics.Blit (source,destination, creaseApplyMaterial); RenderTexture.ReleaseTemporary (hrTex); RenderTexture.ReleaseTemporary (lrTex1); } } }  blurShader>IcreaseApplyShader>IdepthFetchShader>I CreaseShading UnityStandardAssets.ImageEffectsAssembly-CSharp-firstpass.dll