public override void Create() { fluidPass = new FluidPass( "Fluid custom pass", settings.WhenToInsert, settings.FluidMaterialToBlit ); dashDistortionPass = new DashDistortionPass( "Dash distortion custom pass", settings.WhenToInsert, settings.DashDistortionMaterialToBlit ); distortionPass = new DistortionPass( "Distortion custom pass", settings.WhenToInsert, settings.DistortionMaterialToBlit ); pixelizePass = new PixelizePass( "Pixelize custom pass", settings.WhenToInsert, settings.PixelizeMaterialToBlit ); }
//刷新组件 public void UpdateComponent() { mainCam = Camera.main; if (mainCam == null || uberCameraPrefab == null || alphaCameraPrefab == null) { return; } pp = mainCam.GetComponent <DragonPostProcess>(); if (pp == null) { pp = mainCam.gameObject.AddComponent <DragonPostProcess>(); } Transform alphaCamTran = mainCam.transform.Find("AlphaCamera"); if (alphaCamTran == null) { GameObject obj = Instantiate(alphaCameraPrefab) as GameObject; obj.name = "AlphaCamera"; alphaCamTran = obj.transform; alphaCamTran.parent = mainCam.transform; } alphaPass = alphaCamTran.GetComponent <AlphaPass>(); Camera alphaCamera = alphaCamTran.GetComponent <Camera>(); alphaCamera.depth = mainCam.depth + 1; Transform distortionCamTran = mainCam.transform.Find("DistortionCamera"); if (distortionCamTran == null) { GameObject obj = Instantiate(distortionCameraPrefab) as GameObject; obj.name = "DistortionCamera"; distortionCamTran = obj.transform; distortionCamTran.parent = mainCam.transform; } distortionPass = distortionCamTran.GetComponent <DistortionPass>(); Camera distortionCamera = distortionCamTran.GetComponent <Camera>(); distortionCamera.depth = mainCam.depth + 2; Transform uberCamTran = mainCam.transform.Find("UberCamera"); if (uberCamTran == null) { GameObject obj = Instantiate(uberCameraPrefab) as GameObject; obj.name = "UberCamera"; uberCamTran = obj.transform; uberCamTran.parent = mainCam.transform; } uberPass = uberCamTran.GetComponent <UberPass>(); Camera uberCamera = uberCamTran.GetComponent <Camera>(); uberCamera.depth = mainCam.depth + 3; alphaCamera.transform.localPosition = distortionCamera.transform.localPosition = uberCamera.transform.localPosition = Vector3.zero; alphaCamera.transform.localEulerAngles = distortionCamera.transform.localEulerAngles = uberCamera.transform.localEulerAngles = Vector3.zero; alphaCamera.nearClipPlane = distortionCamera.nearClipPlane = uberCamera.nearClipPlane = mainCam.nearClipPlane; alphaCamera.farClipPlane = distortionCamera.farClipPlane = uberCamera.farClipPlane = mainCam.farClipPlane; alphaCamera.fieldOfView = distortionCamera.fieldOfView = uberCamera.fieldOfView = mainCam.fieldOfView; alphaCamera.allowMSAA = distortionCamera.allowMSAA = uberCamera.allowMSAA = false; //alphaCamera.allowHDR = uberCamera.allowHDR = false; }