えんじにあ雑記!

開発していて学んだことをまとめていきます!

Cinemachineでシーン切り替え

f:id:flat-M_M:20200407230039j:plain

プログラマでも扱えるUnityでのカットシーン作成ツール「Cinemachine」

簡単かつ、便利な機能が盛り沢山だったので軽くまとめてみました!

はじめに

Cinemachineを使ってゲームのクオリティをあげるカメラテクニックを身につけたい!

と思ったのはいいのですが、完全無知状態から説明されている記事が見つけられず苦戦したので記事にまとめていこうと思います。同じCinemachineへの第一歩で苦戦している方の参考になれば幸いです。🙇‍♂️

ちなみに動画だと、アーティストのためのTimeline/Cinemachine活用術が非常に参考になりました。Unityさん、いつもありがとうございます( ̄▽ ̄)

Cinemachineとは

ゲームのみならず、映像や映画などの表現の世界で、クリエイターにとって最適で使いやすいカメラツールを目指してUnityが開発しているものです。

実行環境

  • Unity2019.1.10f1
  • Cinemachine

インストール方法

AssetStoreから「Cinemachine」で検索すると出てくるのでダウンロードして、インポートするだけ!

Cinemachine基本①カメラの切り替え

まずはこんな感じで、アニメーション付きでカメラを切り替える機能を実装してみます。

f:id:flat-M_M:20200211205756g:plain
Cinemachine基本①

MainCameraにCinemachineBrainをアタッチ

Main CameraにCinemachineBrainコンポーネントをアタッチします。これは今後登場する全てのVirtual Cameraを管理するコンポーネントになります。

f:id:flat-M_M:20200211210327p:plain
CinemachineBrain

Virtual Cameraを作る

次に上部のメニューバーから、Cinemachine>Create Virtual Cameraを選択してVirtual Cameraを作成します。

すると、Game Viewの視点が、Main Cameraの視点から、今作成したVirtual Cameraの視点になっていると思います。これは、Virtual CameraがMain Cameraの値を上書きしているからです。

つまり、Cinemachineとは

一つのカメラと、複数のVirtual Cameraを切り替えて操作するもの

と説明できます。

複数のVirtual Cameraを作成する

Virtual Cameraを複数作成します。今回は、正面、上から、横からの三視点のvirtual Cameraを作成しました。

Hierarchyはこんな感じになっています。

f:id:flat-M_M:20200211212317p:plain

Virtual CameraのPriority

複数あるVirtual Cameraから、現在どのカメラを写すかを決定するパラメータがあります。それがPriorityです。

同じPriorityだと、最後に設置されたVirtual Cameraが表示されるのですが、これだと管理がしにくいので、一つ一つPriorityを設定します。

Priorityが設定できたら、ゲームを再生して、現在投影されているVirtual Cameraのアクティブを切ってみると、次にPriorityの大きいVirtual Cameraの視点に切り替わります。

f:id:flat-M_M:20200211205756g:plain
Virtual Cameraのシーン切り替え

カメラ遷移のアニメーションを変更する

Virtual Camera間の遷移時のアニメーションも既定のものから選択して変更することができます。

既定のものは、以下のものがあります。

  • Cut
  • Ease In Out
  • Ease In
  • Ease Out
  • Hard In
  • Hard Out
  • Linear

これらは、Main CameraにアタッチしたCinemachine BrainコンポーネントDefault Blendから選択することができます。

Cut

f:id:flat-M_M:20200211215236g:plain
Cut

Ease In Out

f:id:flat-M_M:20200211215317g:plain
EaseInOUt

Ease In

f:id:flat-M_M:20200211215430g:plain
EaseIn

Ease Out

f:id:flat-M_M:20200211215458g:plain
EaseOut

Hard In

f:id:flat-M_M:20200211215533g:plain
HardIn

Hard Out

f:id:flat-M_M:20200211215613g:plain
HardOut

Linear

f:id:flat-M_M:20200211215707g:plain
Linear

さいごに

今回はCinemachineを使って最も簡単なカメラの切り替えをまとめました。これからもう少しCinemachineを使い込んでみて新しい学びがあれば、まとめていこうと思います。