using System; using System.Collections; using UnityEngine; namespace UnityStandardAssets.Utility { [Serializable] public class LerpControlledBob { public float BobDuration; public float BobAmount; private float m_Offset = 0f; // provides the offset that can be used public float Offset() { return m_Offset; } public IEnumerator DoBobCycle() { // make the camera move down slightly float t = 0f; while (t < BobDuration) { m_Offset = Mathf.Lerp(0f, BobAmount, t/BobDuration); t += Time.deltaTime; yield return new WaitForFixedUpdate(); } // make it move back to neutral t = 0f; while (t < BobDuration) { m_Offset = Mathf.Lerp(BobAmount, 0f, t/BobDuration); t += Time.deltaTime; yield return new WaitForFixedUpdate(); } m_Offset = 0f; } } }