void Update() { _posAddShake = Vector3.zero; _rotAddShake = Vector3.zero; for (int i = 0; i < _cameraShakeInstances.Count; i++) { if (i >= _cameraShakeInstances.Count) { break; } CameraShakeInstance c = _cameraShakeInstances[i]; if (c.CurrentState == CameraShakeState.Inactive && c.deleteOnInactive) { _cameraShakeInstances.RemoveAt(i); i--; } else if (c.CurrentState != CameraShakeState.Inactive) { _posAddShake += CameraUtilities.MultiplyVectors(c.UpdateShake(), c.positionInfluence); _rotAddShake += CameraUtilities.MultiplyVectors(c.UpdateShake(), c.rotationInfluence); } } transform.localPosition = _posAddShake + restPositionOffset; transform.localEulerAngles = _rotAddShake + restRotationOffset; }
void Update() { posAddShake = Vector3.zero; rotAddShake = Vector3.zero; for (int i = 0; i < cameraShakeInstances.Count; i++) { if (i >= cameraShakeInstances.Count) { break; } CameraShakeInstance c = cameraShakeInstances[i]; if (c.CurrentState == CameraShakeState.Inactive && c.DeleteOnInactive) { cameraShakeInstances.RemoveAt(i); i--; } else if (c.CurrentState != CameraShakeState.Inactive) { posAddShake += CameraUtilities.MultiplyVectors(c.UpdateShake(), c.PositionInfluence); rotAddShake += CameraUtilities.MultiplyVectors(c.UpdateShake(), c.RotationInfluence); } } transform.localPosition = posAddShake; transform.localEulerAngles = rotAddShake; }
void Update() { posAddShake = Vector3.zero; rotAddShake = Vector3.zero; for (int i = 0; i < cameraShakeInstances.Count; i++) { if (i >= cameraShakeInstances.Count) { break; } CameraShakeInstance c = cameraShakeInstances[i]; if (c.CurrentState == CameraShakeState.Inactive && c.DeleteOnInactive) { cameraShakeInstances.RemoveAt(i); i--; } else if (c.CurrentState != CameraShakeState.Inactive) { posAddShake += CameraUtilities.MultiplyVectors(c.UpdateShake(), c.PositionInfluence); //rotAddShake += CameraUtilities.MultiplyVectors(c.UpdateShake(), c.RotationInfluence); rotAddShake += CameraUtilities.MultiplyVectors(c.UpdateShake(), DefaultRotInfluence); // On a fait ça pour pouvoir modifier l'influence globale de tous les screenshake nous-même at runtime ! :) } } transform.localPosition = posAddShake + RestPositionOffset; transform.localEulerAngles = rotAddShake + RestRotationOffset; }
void Update() { posAddShake = Vector3.zero; rotAddShake = Vector3.zero; for (int i = 0; i < cameraShakeInstances.Count; i++) { if (i >= cameraShakeInstances.Count) { break; } CameraShakeInstance c = cameraShakeInstances[i]; if (c.CurrentState == CameraShakeState.Inactive && c.DeleteOnInactive) { cameraShakeInstances.RemoveAt(i); i--; } else if (c.CurrentState != CameraShakeState.Inactive) { posAddShake += CameraUtilities.MultiplyVectors(c.UpdateShake(), c.PositionInfluence); rotAddShake += CameraUtilities.MultiplyVectors(c.UpdateShake(), c.RotationInfluence); } } if (cameraShakeInstances.Count >= 1) { var cine = Camera.main.GetComponent <CinemachineVirtualCamera>(); if (cine != null) { //Debug.Log("yes cinemachine"); var testforperlin = cine.GetCinemachineComponent <CinemachineBasicMultiChannelPerlin>(); if (testforperlin == null) { cine.AddCinemachineComponent <CinemachineBasicMultiChannelPerlin>().m_NoiseProfile = Resources.Load("6D Shake") as NoiseSettings; cine.GetCinemachineComponent <CinemachineBasicMultiChannelPerlin>().m_AmplitudeGain = 0f; cine.GetCinemachineComponent <CinemachineBasicMultiChannelPerlin>().m_FrequencyGain = 1f; } else { cineshake(cine, .2f); return; } } else { //Debug.Log("no cinemachine"); } } else { restPos = Camera.main.transform.position; } transform.localPosition = posAddShake + restPos; transform.localEulerAngles = rotAddShake + RestRotationOffset; }
static public int UpdateShake(IntPtr l) { try { #if DEBUG var method = System.Reflection.MethodBase.GetCurrentMethod(); string methodName = GetMethodName(method); #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.BeginSample(methodName); #else Profiler.BeginSample(methodName); #endif #endif EZCameraShake.CameraShakeInstance self = (EZCameraShake.CameraShakeInstance)checkSelf(l); var ret = self.UpdateShake(); pushValue(l, true); pushValue(l, ret); return(2); } catch (Exception e) { return(error(l, e)); } #if DEBUG finally { #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.EndSample(); #else Profiler.EndSample(); #endif } #endif }
void Update() { posAddShake = cameraPosition; //rotAddShake = cameraPosition; //disabled to prevent snapping rotation and stopping camera movement // same as notes below for (int i = 0; i < cameraShakeInstances.Count; i++) { if (i >= cameraShakeInstances.Count) { break; } CameraShakeInstance c = cameraShakeInstances[i]; if (c.CurrentState == CameraShakeState.Inactive && c.DeleteOnInactive) { cameraShakeInstances.RemoveAt(i); i--; } else if (c.CurrentState != CameraShakeState.Inactive) { posAddShake += CameraUtilities.MultiplyVectors(c.UpdateShake(), c.PositionInfluence); // rotAddShake += CameraUtilities.MultiplyVectors(c.UpdateShake(), c.RotationInfluence); //disabled to prevent snapping rotation and stopping camera movement } } gameObject.transform.parent.transform.localPosition = posAddShake; //gameObject.transform.parent.transform.localEulerAngles = rotAddShake; //disabled to prevent snapping rotation and stopping camera movement }
void Update() { if (PcOrPhoneDetect.ins.Platform == 1) { RestPositionOffset.x = PlayerMovement.playerMovement.rb.position.x + x; RestPositionOffset.y = PlayerMovement.playerMovement.rb.position.y + y; RestPositionOffset.z = PlayerMovement.playerMovement.rb.position.z + z; } if (PcOrPhoneDetect.ins.Platform == 2) { RestPositionOffset.x = PlayerMovePhone.playerMovement.rb.position.x + x; RestPositionOffset.y = PlayerMovePhone.playerMovement.rb.position.y + y; RestPositionOffset.z = PlayerMovePhone.playerMovement.rb.position.z + z; } /* * try * { * if (PcOrPhoneDetect.ins.Platform == 1) * { * RestPositionOffset.x = PlayerMovement.playerMovement.rb.position.x + x; * RestPositionOffset.y = PlayerMovement.playerMovement.rb.position.y + y; * RestPositionOffset.z = PlayerMovement.playerMovement.rb.position.z + z; * } * if (PcOrPhoneDetect.ins.Platform == 2) * { * RestPositionOffset.x = PlayerMovePhone.playerMovement.rb.position.x + x; * RestPositionOffset.y = PlayerMovePhone.playerMovement.rb.position.y + y; * RestPositionOffset.z = PlayerMovePhone.playerMovement.rb.position.z + z; * } * } * catch * { * RestPositionOffset.x = PlayerMovement.playerMovement.rb.position.x + x; * RestPositionOffset.y = PlayerMovement.playerMovement.rb.position.y + y; * RestPositionOffset.z = PlayerMovement.playerMovement.rb.position.z + z; * } */ posAddShake = Vector3.zero; rotAddShake = Vector3.zero; for (int i = 0; i < cameraShakeInstances.Count; i++) { if (i >= cameraShakeInstances.Count) { break; } CameraShakeInstance c = cameraShakeInstances[i]; if (c.CurrentState == CameraShakeState.Inactive && c.DeleteOnInactive) { cameraShakeInstances.RemoveAt(i); i--; } else if (c.CurrentState != CameraShakeState.Inactive) { posAddShake += CameraUtilities.MultiplyVectors(c.UpdateShake(), c.PositionInfluence); rotAddShake += CameraUtilities.MultiplyVectors(c.UpdateShake(), c.RotationInfluence); } } transform.localPosition = posAddShake + RestPositionOffset; transform.localEulerAngles = rotAddShake + RestRotationOffset; }