private void VisualsAndEffectsUpdate() { // Tire positions SetTirePos(ref m_TireLeft, m_WheelLeftFront, m_WheelLeftBack); SetTirePos(ref m_TireRight, m_WheelRightFront, m_WheelRightBack); ParticleUpdate(); // JumpThruster TransformAnimation JTanim = m_TankProperties.JumpThrusterAnimation; m_JumpThruster.localPosition = JTanim.GetTranslate(m_JumpThrusterAnimationTimer) + m_JumpThrusterDefaultPos; m_JumpThruster.localEulerAngles = JTanim.GetEuler(m_JumpThrusterAnimationTimer); m_JumpThruster.localScale = JTanim.GetScale(m_JumpThrusterAnimationTimer); // Camera shake on impact m_previousVelocity = m_currentVelocity; m_currentVelocity = Vector3.Distance(Vector3.zero, Rigidbody.velocity); float difference = m_previousVelocity - m_currentVelocity; if (difference > 10) { Camera.AddScreenshake(0.02f * difference); } }