LoginSignup
2
1

More than 1 year has passed since last update.

BF1のリスポーンみたいなカメラワークを実現したい

Last updated at Posted at 2021-12-22

初めに

今回は私の好きなゲームのBF1のリスポーンみたいなカメラワークを実装したかったので、それについて解説します。
BF1みたいなリスポーンって何って人はこれを参考にしてみてください。
↓参考動画

目次

1.Cinemachineとは
2.Cinemachineの導入
3.実際に使ってみる

1.Cinemachineとは

Cinemachineは名前からも分かる通り映画のようなカメラワークを実現できるアセット?となっています。
もちろんゲームで用いることもできますが、最初のオープニングなどのムービー系に使うのがいいと思います。
今回はCimemachineを使いますが特に難しい機能を使うわけではないので安心してください!

2.Cinemachineの導入

まずはCinemachineを使うためにプロジェクトにCinemachineをインポートします。
やり方としては

1.WindowからPackageManagerを開きます。
スクリーンショット 2021-12-22 21.57.22.png

2.PackageManagerからCinemachineを探しインストールします。ない場合は右上の検索バーから検索しましょう。
(右上のところがUnityRegistryになっていないと出てこないので注意しましょう。)
スクリーンショット 2021-12-22 21.58.49.png

これでひとまずCinemachineの導入は終わりです。

3.実際に使ってみる

次にCinemachineを使う上で重要な仮想カメラを配置します。
Cinemachine>からCreateVirtualCameraを選択します。
スクリーンショット 2021-12-22 22.03.42.png
仮想カメラにあるCinemachineVirtualCameraコンポーネントで、いろいろ設定できて、
Followに設定すると、設定したオブジェクトに追従することができます。
LookAtに設定すると、設定したオブジェクトの方向を向くようになります。
スクリーンショット 2021-12-22 22.05.10.png
今回は特に設定する必要はないとおもます。自分の場合に合わせて設定してください。
(例えばプレイヤーの移動に合わせたいならFollowに設定するとか)
できたら、もう一つ仮想カメラを同様に作成し、その仮想カメラは見下ろす形にしてください。(一つは見下ろし、もう一つはオブジェクトの近くなど)

どうやって切り替えるの?

ここまでいろいろ解説しましたが、結局どうやって切り替えるのって話なのですが、CinemachineVirtualCameraのPriorityの値を変えることによって切り替えることができます。具体的にいうと値が大きいほど優先的に表示することができます。

スクリーンショット 2021-12-22 22.10.18.png

コードに関して

じゃあどうやってスクリプトで切り替えるんだって話なのですが、勘の言い方ならもう気づいてるかもしれませんが
まずusingが書いてあるところに

using Cinemachine;

と記述します。
その次に追加した分だけの仮想カメラの分だけ下のように記述し追加します。

public CinemachineVirtualCamera virtualcamera(名前は好きなように);

そうしたらあとは、好きなタイミングでPriorityを切り替えればいいので任意のタイミングに

virtualcamera.Priority = 数値(数値は他に比べて大きくする);

と記述すれば切り替えることができます。

切り替える動き方を変更したい

その場合は普通のカメラについているCinemachineBrainコンポーネントのDefaultBlendを変更すれば良いです。
私は初期ので十分だと思います。詳し説明は他の方が詳しく説明しているのでそれを参照してください。
参考:https://www.mum-meblog.com/entry/how-to-use/cinemachine-scene-change
スクリーンショット 2021-12-22 22.13.12.png

実際に調節してゲームに適用してみた例

私が作っているゲームで申し訳ないのですが、今日紹介した内容のみでカメラの動きを再現したものです。

最後に

今回はBF1のようなカメラワークを実現するためにCinemachineを使って解説してみました。
参考になれば嬉しいです!Twitterのフォローなどよろしくお願いします!では!
https://twitter.com/Upon_Main

2
1
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
2
1