public override void Init(ISkillCellData cellData, SkillBase skillBase) { if (m_cameraFollow != null && m_cameraFollow.IsDisableCameraShake() == false) { Invoke("ShakeStart", ((CameraShakeCellDesc)cellData).playTime + 0.000002f); // 这里加个0.000002f 让ShakeStart函数在Start后执行 } //active the camera blur if (((CameraShakeCellDesc)cellData).fBlurTime > 0.0f) { GameObject obj = GameObject.FindGameObjectWithTag("MainCamera"); if (obj) { DeemoRadialBlur blur = obj.GetComponent <DeemoRadialBlur>(); if (blur) { // GameObject blurObj = blur.; // blurObj.SetActive(true); blur.enabled = true; Invoke("Endblur", ((CameraShakeCellDesc)cellData).fBlurTime); } } } }
void UpdateBlur() { if (isBlurEnd) { return; } if (desc.blurStart < 0) { return; } var diff = Time.time - beginTime; diff -= desc.blurStart; if (diff < 0) { return; } if (!setBlur) { if (camTransform != null) { DeemoRadialBlur blur = camTransform.GetComponent <DeemoRadialBlur>(); if (blur != null) { blur.enabled = true; } } setBlur = true; } diff -= desc.blurDuration; if (diff >= 0) { isBlurEnd = true; if (camTransform != null) { var blur = camTransform.GetComponent <DeemoRadialBlur>(); if (blur != null) { blur.enabled = false; } } } }
// Use this for initialization void OnEnable() { // Disable if we don't support image effects if (!SystemInfo.supportsImageEffects) { enabled = false; return; } if (null != SG.CoreEntry.gCameraMgr.MainCamera) { _radialBlur = SG.CoreEntry.gCameraMgr.MainCamera.GetComponent <DeemoRadialBlur>(); _radialBlur.enabled = false; StartCoroutine(RadialBlurCo(timeStart, duration, width, strength)); } }
void Endblur() { CancelInvoke("Endblur"); GameObject obj = GameObject.FindGameObjectWithTag("MainCamera"); if (obj) { DeemoRadialBlur blur = obj.GetComponent <DeemoRadialBlur>(); if (blur) { // GameObject blurObj = blur.gameObject; // blurObj.SetActive(false); blur.enabled = false; } } }