w5.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œ XŕyŻřĽ žŤ8Ú¤p żżŘgl“t¨8Ú¤p żżŘgl“AAssets/Standard Assets/Effects/ImageEffects/Scripts/MotionBlur.csshader>I MotionBlurđ using System; using UnityEngine; // This class implements simple ghosting type Motion Blur. // If Extra Blur is selected, the scene will allways be a little blurred, // as it is scaled to a smaller resolution. // The effect works by accumulating the previous frames in an accumulation // texture. namespace UnityStandardAssets.ImageEffects { [ExecuteInEditMode] [AddComponentMenu("Image Effects/Blur/Motion Blur (Color Accumulation)")] [RequireComponent(typeof(Camera))] public class MotionBlur : ImageEffectBase { [Range(0.0f, 0.92f)] public float blurAmount = 0.8f; public bool extraBlur = false; private RenderTexture accumTexture; override protected void Start() { base.Start(); } override protected void OnDisable() { base.OnDisable(); DestroyImmediate(accumTexture); } // Called by camera to apply image effect void OnRenderImage (RenderTexture source, RenderTexture destination) { // Create the accumulation texture if (accumTexture == null || accumTexture.width != source.width || accumTexture.height != source.height) { DestroyImmediate(accumTexture); accumTexture = new RenderTexture(source.width, source.height, 0); accumTexture.hideFlags = HideFlags.HideAndDontSave; Graphics.Blit( source, accumTexture ); } // If Extra Blur is selected, downscale the texture to 4x4 smaller resolution. if (extraBlur) { RenderTexture blurbuffer = RenderTexture.GetTemporary(source.width/4, source.height/4, 0); accumTexture.MarkRestoreExpected(); Graphics.Blit(accumTexture, blurbuffer); Graphics.Blit(blurbuffer,accumTexture); RenderTexture.ReleaseTemporary(blurbuffer); } // Clamp the motion blur variable, so it can never leave permanent trails in the image blurAmount = Mathf.Clamp( blurAmount, 0.0f, 0.92f ); // Setup the texture and floating point values in the shader material.SetTexture("_MainTex", accumTexture); material.SetFloat("_AccumOrig", 1.0F-blurAmount); // We are accumulating motion over frames without clear/discard // by design, so silence any performance warnings from Unity accumTexture.MarkRestoreExpected(); // Render the image using the motion blur shader Graphics.Blit (source, accumTexture, material); Graphics.Blit (accumTexture, destination); } } } shader>I MotionBlur UnityStandardAssets.ImageEffectsAssembly-CSharp-firstpass.dll