使用Cinemachine实现屏幕震动 implement ScreenShake with Cinemachine impulse

  • 新建Noise Settings
    使用Cinemachine实现屏幕震动 implement ScreenShake with Cinemachine impulse_第1张图片

  • 设置Noise Raw Signal

    注意,这里只需要设置Position Y的Amplitude为1(另外建议勾选non-random,使得震动是非随机的),而Position X 和 Positoin Z的 Amplitude 设置为0,否则方向是不对的
    使用Cinemachine实现屏幕震动 implement ScreenShake with Cinemachine impulse_第2张图片

  • 用以下代码产生震动信号

    /// 
    /// 屏幕震动
    /// 
    /// 方向
    /// 强度
        public static void ShakeScreen(Vector2 direction, float strength)
        {
            var ImpulseSource = GetComponent<CinemachineImpulseSource>();
            ImpulseSource.GenerateImpulse(direction * strength);
        }
    }
    
    

参考

  • unity cinemachine package api
  • unity cinemachine package manual

你可能感兴趣的:(Unity小技巧)