LoginSignup
2

More than 1 year has passed since last update.

Unity Cinemachine VirtualCameraを知らない人向けだけの紹介

Last updated at Posted at 2022-12-07

この記事はUnityアドベントカレンダー2022https://qiita.com/advent-calendar/2022/unity の8日目の記事です

初めに

みなさんはCinemachine VirtualCameraをご存知でしょうか
Unity公式のパッケージであり、Unity2017の時点ですでに本リリースされている、熟しているライブラリです
ゲーム内のカメラのコントロールや演出のカットシーンを作る際にとても便利で、しかも公式ライブラリなので無料です!

それではまずはこちらをご覧ください

sample.gif

この動きを簡単に作れる、とても便利なライブラリなのです

ただ、私の観測範囲のイメージでしかないのですが、
このライブラリ、使っている人は使っているが、使ってない人は存在も知らない。といった印象を受けています

そこで、本記事ではCinemachine VVirtualCameraの基礎中の基礎の紹介をさせていただきます
やることはデフォルトのパラメータやそれをちょっといじるだけでできるものに搾っています
この記事を書くためにCinemachine VirtualCameraの設定をいじったのは5分もかかっていません

なので、すでに使われている方はもちろん、Cinemachine VirtualCameraがどういうものかをすでにご存知な方にも新しい情報は無いと思われます

あくまで「ほぼ何もしなくても導入するだけでこれが作れる」と言った、まさに紹介です

どういった機能なのか

最初に動画を出したカメラの動きですが、A地点からB地点まで設定するとそこに向かってカメラがズームする。というよくある動きです
この動画でやっていることはAのカメラとBのカメラの位置をCinemachine VirtualCameraで設定し、優先度を切り替えているだけで、他は完全デフォルトの設定です

その切り替えした時にうまくカメラの遷移をブレンドして動いてくれていますね

もちろん、カメラの位置や設定を変えればそれもまたうまくブレンドしてくれます

こういった、自分でコードやアニメーションを設定すると大変になる処理をなんかいい感じにしてくれるのがCinemachine VirtualCameraとCinemachine Brainなわけです

設定方法

まずはPackageManagerでCinemachineをインストールします

インストール

そうしたらMainCameraにCinemachine Brainのコンポーネントをアタッチします
アタッチ

その後カメラを用意し、位置や回転を調整した後に
PriorityやGameObjectのActiveでカメラの切り替えを行います
Priority

これだけで画面のようなカメラ効果の実装が可能です

他にもできること

こう言った固定カメラへの移動以外にもキャラクタの移動を追従させることが可能です

Dec-06-2022 21-54-16.gif

これは単なる追従ではなく、ちょっと遅れて追従されているのがわかると思います
この動きもノーコードで設定できるのがCinemachine VirtualCameraの大きな特徴です

スクリーンショット 2022-12-06 21.51.52.png

設定項目が多くてわかりにくいところですが、そう言った場合は画面内をドラッグしたりしていい感じに設定できます

また、カメラの設定中にSoloのボタンを押すとEditor上でプレビューもできるので、大変設定しやすいです
そのため、カメラの設定パラメータが何をやっているかがよくわかっていなくても
「なんかいい感じの追従カメラ」を見た目と合わせながら調整できます

Priority

最後に

今回の紹介はあくまで最初に使う、シンプルなものでしかありません
カメラの移動可能範囲を設定できたり、Timelineと連動させて演出を作ることも可能だったりと
基本も応用もかなり使いやすいライブラリです

この記事を見て少しでも興味を持った方がいれば、まずは導入を
そしてすでに数多くの紹介記事やドキュメントがありますので
作っているゲームやアプリに最適なカメラ演出を作っていきましょう

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