using System.Collections; using System.Collections.Generic; using UnityEngine; using Cinemachine; using Sirenix.OdinInspector; using UnityEngine.InputSystem; /// /// 震动管理员,管理相机和手柄的震动,外部调用静态方法 /// public class VibrationManager : MonoBehaviour { /// /// 震动相机,仅对于一些微小短小震动使用 /// /// 震动方向 /// 震动力度 public static void ShakeScream(Vector2 dir,float force){ FindObjectOfType(). GenerateImpulse(dir * force); } /// /// 震动手柄 /// /// 左马达力度(低频) /// 右马达力度(高频) /// 震动时间 public static IEnumerator ShakePad(float left, float right, float time){ if(Gamepad.current != null){ Gamepad.current.SetMotorSpeeds(left,right); yield return new WaitForSeconds(time); Gamepad.current.SetMotorSpeeds(0,0); } } }