2D ゲームの制作に昔ながらのカメラシステムを使用し続けている皆様、2D で Cinemachine が使用できたら、と思うことはありませんか?実は、あまり知られていませんが、これはすでに可能なのです!本記事では、Cinemachine を最大活用するためのヒントや、このツールがどのように 2D ゲームの開発に役立ち、開発のスピードを大幅にアップさせるかをご紹介します。Cinemachine Virtual Camera や Cinemachine Confiner その他の 2D ゲームへの活用法を知りたい方は、ぜひ以下を読み進めてください。
バージョン 2018.1.0b7 以降の Unity をお使いであれば、Unity 上でパッケージマネージャーを使って Cinemachine を入手できます。
Cinemachine を入手するには、メニューを Window > Package Manager > All の順に選択し、「Cinemachine」を選択してください。
Cinemachine を使用すると、2D 環境用のカメラシステムの作成が比較的簡単に行えます。2D 用 Virtual Camera の作成方法は以下の通りです。
2D Virtual Camera と 3D Virtual Camera の最も分かりやすい違いは、2D Virtual Camera では Framing Transposer が使われていることです。この特殊な Transposer はカメラの X-Y 平面上でターゲットをフォローし、カメラの回転を止めます。Framing Transposer が正常に機能するためには Virtual Camera の「LookAt」のターゲットが null になっている必要があります。また、2D ゲームは Orthographic(垂直投影)ビューを使用するため、Virtual Camera の初回作成時にはシーンの Cinemachine Brain Camera の投影方法を「Orthographic」に変更する必要があります。
Cinemachine では、ひとつのカメラにすべてを行わせようとしないことが重要です。そうではなく、シーンの周囲に複数の Virtual Camera を設置して Cinemachine Brain を使用してそれら同士をブレンドします。このブレンドは、プレイヤーの体力が低くなっている時やプレイヤーが特定の領域に入った時など、カメラのフレーミングやポストプロセッシングに変更が必要になる各種状況が発生した時に起こります。Cinemachine Brain のブレンド設定は希望のビジュアルになるように調整することができます。
下の動画のように、再生モードで Virtual Camera の調整を行うことができます。
Cinemachine のもうひとつの便利な機能は、バウンダリーボックスを使用して Virtual Camera の移動範囲を特定の領域内に限定できるというものです。これは Virtual Camera の拡張機能セクションから利用可能です。このエフェクトの作成手順は以下の通りです。
結果は以下のようになります。
サンプル動画
グループカメラ(Group Camera)も、2D で便利に使用できる Cinemachine 機能のひとつです。この機能では、カメラが映すターゲット(対象)のグループを作成できます。グループカメラは、重要なものを映すカットシーンを作成したい場合や、2 つ以上のオブジェクトを各フレームに維持したい場合や、2D でローカルのマルチプレイヤーゲームを作成したい場合に便利です。
これは Cinemachine 内で以下の手順で行います。
「Target Group」は Cinemachine のコンポーネントで、同じ Virtual Camera の複数のターゲットを表示できるようにするものです。カメラのサイズを調整して、ウェイトに応じてターゲットが表示されるようにします。例えば、すべてのターゲットのウェイトが 1 である場合、すべてのターゲットが表示されます。
下の映像は、プレイヤーと宝箱に焦点を合わせたグループカメラの例です。
Cinemachine V2.2 には、Impulse の Extension が新しく追加されています。この拡張機能は、ユーザーがカメラシェイクエフェクトをコード記述なしで作成できるようにするものです。Impulse の Extension は拡張機能として Virtual Camera に追加できます。これをシーンに追加する手順は以下の通りです。
必要であれば Dissipation Mode を調整して減衰の種類を変更することも可能です。他にも調整可能な設定はありますが、今回はこれだけで事足ります。
結果は以下のようになります。
以上、本記事では、下記を行う方法をご紹介しました。
以上、本記事をお楽しみいただけたなら嬉しく思います。これで皆様も、次の 2D プロジェクトでは Cinemachine を使用していただけるでしょう。最新の Cinemachine 情報を入手されたい方は、ぜひフォーラムにご参加ください!