1. 次のことを実現します
1. PackageManager にプラグインを追加します
2. Cinemachine カメラを作成する 私のプロジェクトは 2D プロジェクトなので、2D カメラを作成します。
3. プレーヤーをドラッグしてフォローして見ます
4. 空のオブジェクトを作成し、それに PolygonCollider2D を追加し、表示範囲のサイズを調整して、CinemachineVirtuaCamera の Extensions の AddExtensions で選択します。
作成したばかりの空のオブジェクトをドラッグして、カメラの移動範囲を制限します。
2.振動の実現
1. このコンポーネントを選択して追加します
2. 空のオブジェクトを作成し、それにこのコンポーネントを追加します
振動効果をプレビューおよび調整できます
3. カメラ制御スクリプトを作成し、カメラに追加します。
public class CameraController : MonoBehaviour
{
private static CameraController instance;
public static CameraController Instance => instance;
private void Awake()
{
instance = this;
}
public CinemachineImpulseSource impulseSource;
public void PlayerShakeAnimation()
{
impulseSource.GenerateImpulse();
}
}
この GenerateImpulse を呼び出すと振動がトリガーされるので、簡単に呼び出せるようにカメラ スクリプトをシングルトン モードで書きました。
4. 負傷したときにこの PlayerShakeAnimation メソッドを呼び出して振動を実現します。