Unityでプレイヤーがカメラの投影範囲(画面)外に出ないように制限する - mohumohu studio

mohumohu studio

           

みずきの技術&読書ブログ&無料ゲーム

プロフィール画像

Unityでプレイヤーがカメラの投影範囲(画面)外に出ないように制限する

こんにちは!!

今回は今制作中のシューティングゲームで使った、Unityでプレイヤーがカメラの投影範囲(画面)外に出ないように制限する方法を簡単にですが、解説してみたいと思います!!


目次

  1. コードの実装例
  2. 解説
  3. まとめ

コードの実装例

カメラのビューポートに基づいて制限する

プレイヤーにアタッチしてあるスクリプトのUpdate()内で、プレイヤーの位置をカメラのワールド座標範囲内に制限するコードを追加します。

ClampPlayerToScreen() の実装例


解説

なぜ Viewport を使うのか?

  • Viewport は画面内での相対位置(0〜1)を扱うので、どんな解像度やアスペクト比でも一貫して制御できます。
  • Mathf.Clamp によって画面外へ出るのを防げます。

注意点

  • カメラが動く場合もこの方法で追従可能です。
  • Mathf.Clamp()の範囲 (0.05f〜0.95f) は、キャラクターサイズに応じて微調整してください。

補足

カメラがプレイヤーを追従するタイプでなく固定カメラなら、Camera.main.ViewportToWorldPoint(new Vector3(0,0,0)) などを使って境界のワールド座標を取得し、Clampの最小・最大値に使う方法もあります。


まとめ

今回はUnityでプレイヤーがカメラの投影範囲(画面)外に出ないように制限する方法を解説しました!!

こんなに簡単に実装できてしまうことに驚いたので、共有させていただきました!!

それでは、良きUnityライフを!!

2025-06-19

0件のコメント

コメントはまだありません。最初の一人になりましょう!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です