原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【Unity】Cinemachine3にアップデートして右往左往

配賦物

一歩も外へ出なかった夏休み明け、久しぶりに出社した会社で配られるお見上げ品の数々を目の前にして心苦しさと一抹の後悔を覚える小心者の皆さんこんにちは。もはや見透かされたかのように「夏休みはどこかへ行きました?」という質問さえされません。いや逆に、あの大雨と猛暑が続く中で外へ遊びに出かけた人たちがいることの方が驚きです。

 

机上のモニターで遊ぶべきゲーム

全く事前情報を持たずに、Youtubeでたまたま流れてきたPVに一目ぼれしてゲームを購入しました。

クオータービュー視点のステルスゲームです。
北欧風の架空の街エリクスホルムで警官らに追われながら失踪した弟を探す少女が主人公。追っ手の視線を建物の蔭に隠れてかわしながらチェックポイントまで向かう事が主なプレイ内容ですが、途中で吹き矢を使って敵を眠らせたり、味方のキャラクターと操作を切り替えてギミックを解除したりとパズルアクション的な要素が多く含まれています。
敵に見つかると即ゲームオーバーとなりますがチェックポイントが細かく設置されているのでリスタートしやすくてストレスはないです。

上のように細部のオブジェクトまで陰影が綺麗に表示された映像は美しい反面、ゲーム機をリビングのTVに接続したような環境(モニターから離れてみる環境)ではちょっと見づらいです。
私はPS5に4K対応のTVモニターを繋げてプレイしましたが画面から離れるとキャラクターが小さく操作しずらくなるため、ずっとTVの近くに席を陣どって遊んでいました。リビングのTVではなく机上のモニターで遊ぶべきゲームです。

しかしステルス要素、グラフィック、シナリオ、世界観とどれもレベルが高くまとまっており、俯瞰視点の美麗なグラフィックスによるゲーム体験は今後のステルスゲームの新たなフレームワークとして活用されそうですね。

 

Cinemachine3

Unity公式からリリースされている「Cinemachine Camera」というパッケージはゲーム内での必要なカメラワークを簡単な設定で作成できる便利なパッケージで、以前から使用している方も多いと思いますが、Cinemachine Cameraの2.x版から3.x版へのアップデートに伴いIFや仕様等が大幅に変わっているため、制作中のプロジェクトで2.x版を使用していて何も知らずに3.x版へアップデートしてしまうとエラー等が発生して右往左往する事になります。

docs.unity3d.com

特にカメラを制御するためのクラス名が2.x版までの「CinemachineVirtualCamera」から「CinemachineCamera」へ変更されているため、スクリプトでそのクラスを使用しているとCinemachine3.xアップデー後は必ずビルドエラーとなります。

また「CinemachineVirtualCamera」コンポーネントをアタッチされたオブジェクトの方は自動で「CinemachineCamera」コンポーネントに置き換わってくれますが、オブジェクトを追従するFollowやLookAtの設定は別コンポーネントに移行して、それらの設定のIFや名称が大きく変わっています

名称の主な変更点は以下の通り

  • VirtualCamera → CinemachineCamera
  • Transposer → Follow
  • Framing Transposer → Position Composer
  • POV → Pan Tilt
  • Tracked Dolly → Spline Dolly

 

CinemachineCamera

「CinemachineVirtualCamera」から置き換わった「CinemachineCamera」ですが、Inspector上でもこれまでの設定(プロパティ)とは異なる箇所があります。


特に注目すべきはカメラの切り替え等で頻繁に使用する「Priority」の項目がusing defaultのチェックボックスをONにしないとInspector上で変更できなくなっている事です。最初気づかなくて「Priority」が設定できなくなったと勘違いしそう。

また、これまでFollowやLookAtそれぞれで追従対象を指定した箇所は「Tracking Target」に指定し、位置情報の追従はInspector下部のSet Procedural ComponentsのPosition Controlで、回転の追従はRotation Controlで追従方法や距離、角度の指定を行うようになりました。

 

Position Control/Rotation Control

前述のPosition ControlおよびRotation Controlでプルダウンの中から追従方法を選ぶと、その詳細を設定するためのコンポーネントが自動でアタッチされます。


上の図ではPosition Controlに「Spline Dolly」、Rotation Controlに「Rotation Composer」を指定しています。

■Position Control

  • None: カメラをターゲットに追従して移動させない。
  • Follow: ターゲットとの距離を一定間隔に保って移動する。
  • Orbital Follow: ターゲットに対して可変関係で移動し、オプションでプレイヤー入力を受け入れる。
  • Third Person follow: ターゲットの回転に追従して、トラッキングターゲットをピボットポイントで、プレイヤーの周りを水平および垂直に回転させる。
  • Position Composer: ターゲットに対して固定された画面空間関係で移動(主に2Dカメラや正投影カメラで使用)
  • Hard Lock to Target: ターゲットと同じ位置を保って移動。
  • Spline Dolly: スプラインで指定されたパスに沿って移動。

 

■Rotation Control

  • None: カメラをターゲットに追従して回転させない
  • Rotation Composer: ターゲットをカメラフレーム内に収めるように、ポジションコントロールとダンピングを行う。
  • Hard Look At: ターゲットをカメラフレームの中央に収めます。
  • Pan Tilt: ユーザーの入力に基づいて、オプションで カメラを回転させる。
  • Same As Follow Target: ターゲットの回転に合わせてカメラの回転を行う。

 

最後に

Cinemachineはカメラワークを簡単に実装できますが、バージョンアップにより色々と変わると面倒ですね。また、今後Cinemachineについて調べる場合はその記事が2.x版か3.x版に対するものか確認するよう注意してください

 

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。