Exemple #1
0
        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;
        }
Exemple #2
0
        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;
        }
Exemple #3
0
        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;
        }
Exemple #4
0
        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;
        }
Exemple #5
0
 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
 }
Exemple #6
0
        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
        }
Exemple #7
0
        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;
        }