1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cinemachine3.0でFPS視点を作る

Posted at

はじめに

Cinemachine3.0に関する情報が少なかったので、
今回はCinemachine3.0でFPS視点を作っていきます。
この記事を読んでCinemachine3.0の使い方がなんとなくわかってもらえたらいいなと思います。

Cinemachineを用意する

GameObject > Cinemachine > Cinemachine Cameraを選択
スクリーンショット 2024-12-28 021429.png
HierarchyにCinemachine Cameraが追加されたら成功です
スクリーンショット 2024-12-28 022617.png

Cinemachine Cameraの設定をする

先ほど用意したCinemachine Cameraを選択してCinemachine Cameraコンポーネントの設定を調整します。

  1. ProcedualComponentsの下にあるPosition ControlでFollowを選択します。
    スクリーンショット 2024-12-28 023319.png
    下の写真のようになればOK
    スクリーンショット 2024-12-28 023655.png
    警告は一旦スルーします。
    PositionControlでFollowを選択すると、Cinemachine Followコンポーネントが追加されます。
  2. Cinemachine CameraコンポーネントのProcedualComponentsの下にあるRotation ControlでPan Tiltを選択します。
    スクリーンショット 2024-12-28 024210.png
    下の写真のようになればOK
    スクリーンショット 2024-12-28 024338.png
    Rotation ControlでPan Tiltを選択すると、Cinemachine Pan Tiltコンポーネントが追加されます。
  3. Cinemachine Pan Tiltコンポーネントの下にあるAdd Input Controllerと書かれたボタンを押します。
    下の写真のようになればOK
    スクリーンショット 2024-12-28 025138.png
    するとCinemachine Input Axis Controllerコンポーネントが追加されます。
    Cinemachine CameraのCinemachine CameraコンポーネントのProcedual Componentsの下にあるPosition ControlがFollow、Rotation ControlがPan Tiltになっていることと、次のコンポーネントがアタッチされていることを確認したら次へ。
    下の写真のようになればOK
    スクリーンショット 2024-12-28 025512.png

各コンポーネントの設定

まずプレイヤーを準備します。細かいことは割愛します。
スクリーンショット 2024-12-28 031310.png
プレイヤーの準備ができたら次へ

  1. Cinemachine Cameraの設定
    Cinemachine CameraコンポーネントのTracking Targetにカメラが追従するオブジェクトをアサインします。今回はFPSを作るのでプレイヤーの頭にあたるオブジェクトとしてPlayer Headをアサインしています。
    image.png
    しかし、このままではカメラがプレイヤーの後ろ側にあります。
    スクリーンショット 2024-12-28 032438.png
    この問題を解決するために次に進みましょう。
  2. Cinemachine Followの設定
    まずCinemachine FollowコンポーネントのBinding ModeをWorld SpaceからLock Targetに変更します。
    スクリーンショット 2024-12-28 033028.png
    下の写真のようになればOK
    スクリーンショット 2024-12-28 033159.png
    次に、Rotation Danping、Position Damping、Follow OffsetのXYZの値をすべて0にします。
    スクリーンショット 2024-12-28 033413.png
    すると、カメラが割といい感じになります。
    スクリーンショット 2024-12-28 033704.png
    スクリーンショット 2024-12-28 033724.png
    カメラの位置がずれていると感じた場合はFollow Offsetの値を調整してください。
    ここで試しに実行してみると、マウスを動かすとすでにカメラを動かせるようになっています。
プレイヤーの正面がカメラの正面と別方向を向いているので、スクリプトで調整します。 Main Cameraの角度を取得してプレイヤーの向きに反映させるとよいでしょう。コードは割愛します。

3.Cinemachine Pan TiltとCinemachine Input Axis Controllerについて
Cinemachine Pan TiltコンポーネントのPan AxisとTilt AxisのRangeを調整すると、カメラを動かせる角度を調整することができます。
360°周りを見渡したいときはWrapのチェックボックスにチェックをいれるとよいでしょう。
スクリーンショット 2024-12-28 035944.png

先ほど実行時にカメラを動かすことができたのはCinemachine Input Axis Controllerコンポーネントのおかげです。
デフォルトでLegacy Inputに「Mouse X」「Mouse Y」が入力されているからなのか、マウスカーソルを動かすとカメラが回転するようになっています。
さらにInput Systemにコントローラーごとのカメラを動かす方法を登録しておけば、Cinemachine Input Axis ControllerのInput Actionに登録した処理をアサインするだけで簡単にマルチプラットフォーム対応のFPSコントローラーができちゃうんです。
スクリーンショット 2024-12-28 041655.png
それから、カメラを動かすときにこのパラメーターを調整したり、観察してみてください。

最後に

今回はCinemachine3.0を使ってFPS視点を作りました。
Cinemachine3.0には他にもいろいろ機能があるのでぜひ試してみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?