按持续时间和振幅震动:
///
/// 摄像机震动
/// ZhangYu 2019-03-30
///
public class CameraShake : MonoBehavIoUr {
public float time = 1; // 持续时间
public float range = 0.5f; // 震动幅度
public float remainTime = 0; // 剩余时间
private Vector3 origin; // 原始位置
private void OnEnable() {
remainTime = time;
origin = transform.position;
}
private void LateUpdate() {
if (remainTime > 0) {
transform.position = origin + Random.insideUnitSphere * range * (remainTime / time);
remainTime -= Time.deltaTime;
} else {
remainTime = 0;
enabled = false;
transform.position = origin;
}
}
}