Cinemachine 3 の新機能

ALICE GARDNER / UNITYContent Marketing Manager
Mar 27, 2023|6 分
Cinemachine 3 の新機能
このウェブページは、お客様の便宜のために機械翻訳されたものです。翻訳されたコンテンツの正確性や信頼性は保証いたしかねます。翻訳されたコンテンツの正確性について疑問をお持ちの場合は、ウェブページの公式な英語版をご覧ください。

Cinemachine の説明は不要でしょう。Unity で最も多くダウンロードされているツールの 1 つである Cinemachine は、コードを使用せずに複雑なリアルタイムのカメラショットを作成するためのツール群で、映画のようなゲーム内シーンやその他のリニア制作に使用できます。

弊社は、この機能の継続的な改善に常に取り組み、また、アップデートのリクエストなどを含むユーザーからの有益なフィードバックを受け取っています。これらすべてが、最新のリリース「Cinemachine 3」の開発につながりました。 Cinemachine 3は最小バージョン2022.3に対応しています。6000.0から正式に採用される。

Cinemachine 3 を今使用すべき理由

Cinemachine が買収され、Unity の一部となってから 5 年が経過しました。当初、Cinemachine は既存の Unity フレームワークやプロセスに上手く適合しませんでした。Unity が進化し、現在も続く UI 開発などに注力する中で、Cinemachine は常に最重要事項だったわけではありません。

今回のリリースでは、一歩引いた視点で Cinemachine の実装方法の一部を設計し直しました。Cinemachine 3 のアップデートは、機能アップデートというより、Unity の他の機能との適合性を高めるフォーマット変更となっています。

アップグレード前に開発者が知っておくべきこと

Cinemachine を使用する全員が、アップグレードを実行する必要があるわけではありません。しかし、Unity Editor 6000.0でプロジェクトを開始する場合、デフォルトでCinemachine 3が搭載されています。

注:Cinemachine 3 へのアップグレードを実行する前に、Cinemachine API を頻繁に使用するカスタムスクリプトがないか確認してください。もしある場合、引き続き古いバージョンを使用した方が良いかもしれません。また、プロジェクトデータを変換するためのツールは提供されていますが、現時点ではコードの移行を自動で行う方法はありません。Unity API アップデーターはすべての API の変更に対応しているわけではないため、手動でのアップグレードが必要になります。

カスタムスクリプトを使用せずに、Cinemachine を「そのまま」使用している場合、アップグレードプロセスは比較的簡単です。

Cinemachine 3 における名称変更

Cinemachine 3 をより分かりやすく、使いやすいものにするため、名称の一部を変更および標準化しました。例えば、Unity には「Virtual Camera(バーチャルカメラ)」という製品があるため、Cinemachine のバーチャルカメラは CinemachineCamera という名称に変更されました。これらの名称変更に関する詳細を知るには、こちらの動画が役に立ちます 。

名称変更
アップデートの概要
  • 隠れたゲームオブジェクトの削除
  • プレハブやプリセットとの互換性の向上
  • Unity の標準/慣習との適合性
  • API と Unity の一貫性の向上
  • よりクリーンかつシンプルな UX
  • 簡略化されたワークフロー
  • Unity スプラインとのインテグレーション
  • カスタマイズの機会の増加
  • サンプルシーンの見直し
隠れたゲームオブジェクトの削除

Cinemachine は、以前は隠れたゲームオブジェクトを使用して実装されており、カメラの位置を制御するなどの動作を保持していました。これにより、オブジェクトの取得、アニメーション化、スクリプトからのアクセスを実現するための複雑な API が必要でした。今回、これがクリーンアップされ、標準化されました。

プレハブやプリセットとの互換性の向上

隠されたゲームオブジェクトが削除されたことで、Cinemachine とプレハブおよびプリセットの互換性が向上しました。

Unity の標準/慣習との適合性

Cinemachineはもともと、メンバー変数の名前に独自の基準を用いて書かれていた。この点については、多くのフィードバックが寄せられていました(弊社も不満に思っていた点でした)。そこで、すべての「m_」インスタンスを削除しました。

API と Unity の一貫性の向上

プロシージャルコンポーネントが、通常の方法でゲームオブジェクトを追加した標準的な MonoBehaviours に変更されました。これにより、アクセスするために API の呼び出しを実行する必要はなくなりました。

よりクリーンかつシンプルな UX

巨大な Inspector が削除されました。現在、UX は新たな Cinemachine のプロシージャルコンポーネント全体に分散されています。多くの設定はオプトイン式であるため、不要な設定により Inspector が乱雑になることはありません。

新しいCinemachine 3 UX
新しいCinemachine 3 UX
簡略化されたワークフロー

デフォルトのトラッキングターゲットが 2 つではなく 1 つになり、少ない設定で済むようになりました。また、FreeLook にも徹底的な見直しが行われました。機能が強化され、必要な設定も少なくなりました。さらに、新しい Orbital Follow の挙動を介して、半径スケーリングが標準サポートされるようになりました。

ユーザーインプットを必要とするカメラ設定は、古いインプットシステムと新しいインプットシステムの両方をサポートする別のコンポーネントによって制御されるようになりました。新しい Cinemachine Channel 設定により、画面分割の実装が簡略化され、Unity レイヤーを使用する必要がなくなります。

Cinemachine 3のフリールック機能
Cinemachine 3のフリールック機能
Unity スプラインとのインテグレーション

Cinemachine スプラインの実装は非推奨となり、新しい Unity ネイティブスプラインとのインテグレーションに置き換えられました。

カスタマイズの機会が増加
  • ClearShot で、カスタマイズされたショットの品質評価が利用可能に
  • Spline Dolly と Spline Cart で、カスタム AutoDolly の実装が利用可能に
  • FreeLook で、カメラの垂直移動に対するカスタムモディファイアが利用可能に
  • カスタム入力軸コントローラーの記述がより簡単に
サンプルシーンの見直し

Cinemachine 3 のすべてのサンプルシーンをゼロから作り直しました。

さらに知りたい人のために

Cinemachine 3 の詳細を知りたい方は、 Unity YouTube チャンネルに移動し、Unity の社内エキスパートである Gregory Labute から学びましょう。