URP 2Dで複数のカメラを使って描画する

今回はUnityのURP2Dで複数のカメラを使ってゲーム画面に表示させる方法を紹介したいと思います。
私は自分の2Dゲームでミニマップなどを表示したいときにこの方法を使います。
このような感じで疑似3Dとは別に見下ろし2Dのミニマップを表示させるのに活用しています。

複数のカメラを使ってみたい方は是非最後までお読み下さい。

Unityプロジェクトの作成

それでは新規プロジェクトを作成します。
今回はテンプレートで2D(URP)というものを選択します。
図のようにUnityHub新しいプロジェクトから2D(URP)を選択して下さい。

urp2dプロジェクト

URPについて

簡単にURP(Universal Render Pipeline)について書いておきます。
まず、レンダリングパイプラインとはグラフィックの描画にかかわる仕組みだそうです。
そしてUnityにはいくつかレンダリングパイプラインがあります。

  1. ビルトインレンダリングパイプライン
  2. SRP(スクリプタブルレンダーパイプライン)
    • HDRP
    • URP

1つ目のビルドインレンダリングパイプラインは従来のレンダリングパイプラインです。
2つ目のSRP(スクリプタブルレンダーパイプライン)はUnityの新しいレンダリングパイプラインです。
C#スクリプトによって色々細かい調整などが出来るそうです。
しかしゲーム開発する際に描画システムを自作するのは大変ということでUnity側で準備してくれているテンプレートがHDRPとURPだそうです。

URPの特徴は下記のようです。

  1. 描画の処理が軽い
  2. 様々なプラットフォームに対応している
  3. Shader Graph等の新機能

描画に関しては詳しく紹介されているサイトがありますので、是非そちらを参考にして下さい。

必要なものを設置していく

描画するゲームオブジェクトとLayer設定

プロジェクトが立ち上がったら描画するオブジェクトを置いていきます。
SquareとCircleの2つのオブジェクトを作りました。

次にCircleのLayerを変更します。
InspectorでLayerを選択し、Add LayerでSubLayerを新たに作りCircleのLayerに設定しました。

複数のカメラ

続いてCameraを新たに追加しましょう。
今回はSubCameraという名前にしました。
ポジションを設定します。
一旦X、Y、ZをそれぞれMain Cameraと同じ0、0、-10とします。

次にSubCameraのAudio Listenerコンポーネントを削除しておきます。
同じSceneに複数のAudio Listenerがあると注意的なものがログに表示されるのでやっておきましょう。

続いてSubCameraの方のRender TypeをOverlayに変更します。
そしてRenderRingのCulling MaskをEverythingからこのカメラで描画したいSubLayerに変更します。

MainCameraのInspectorにあるStackにSubCameraを追加します。

この段階でゲームシーンはこのようになっています。

黄色のCircleの中に黒い丸が表示されました。
この黒い丸がSubCameraで描画しているSubLayerのオブジェクトです。
黒くなっている理由はSubLayerにライトが無いためです。
Global Light 2DのLayerをSubLayerにすることで解消されます。

SubCameraの調整

SubCameraのInspectorを調整して色々変更していきたいと思います。
TransformのPostionの値を変更することでSubCameraの描画する位置が変わります。

またProjectionのField of Viewの値を変更することで拡大縮小のような事ができます。

このように2台のカメラで描画してみました。
色々な使い方ができると思いますので、皆さんもご自身のゲームにご活用下さい。

この記事への感想・コメントをどうぞ

購読
通知する
guest
0 コメント
Inline Feedbacks
View all comments

Unityの学習方法

Udemy

Udemyの動画講座にもUnity関連のオススメの動画がたくさんあります。

その中でも私が特に気に入っている動画を紹介します。

テックアカデミー

途中で挫折しないためにメンター(相談者)が週2回、マンツーマンであなたの質問・相談に答えてくれます。 ゲーム開発・プログラミング未経験の人でも安心してゲーム開発に取り組めます。 受講終了後、自分のオリジナルゲームでコンテストに応募することができます。

デジハリONLINE

【基礎編】【実践編】とカリキュラムが分かれていて、それぞれに課題があり、ご自身の理解度を把握できます。 内容も充実していて最終的にはハイクオリティの3Dゲームが作れるようになります。 サイト内にカリキュラム詳細のPDFが公開されていますので、一度見てみるのも良いでしょう。 サポート体制は、回数無制限のSlackによるテキスト質問予約制のZoomによる個別質問があります。

Unity本【kindle unlimited】

私も利用しているAmazonが提供する電子書籍読み放題のサービスです。

月額980円で約200万冊以上が読み放題でとてもお得です。

また30日無料体験もできるのが魅力です。当然Unityに関する書籍もたくさん揃っています。

またC#関連の書籍や、プログラミングのものも多数あります。

プログラミング関連の書籍は値段が結構しますので、それらが無料で読めるのはかなりお得なサービスです。

30日無料体験もありますので気に入らなければその期間に解約すれば料金は発生しません

通常のUnity本

kindle unlimitedは全部のUnity関連書籍が読めるわけではありません。

通常に購入しなければ読めない本もありますので、その中から私が参考になった書籍を紹介します。

関連記事

最後までご覧頂いてありがとうございました。

Unityゲーム制作講座 多数公開

作りたかったジャンルの講座でスキルUP♪

もっと早く教えてほしかった!

Unity C#プログラミング入門

2Dローグライトゲーム開発

Unity ヴァンパイアサバイバーズ風 講座

目指せ 脱初心者!

ワンランク上の実践向けシューティング講座

プログラミング未経験でもOK

初学者向け ブロック崩しで学ぶUnityゲーム開発

作って覚える 7つの2Dパズル

段階的にUnityゲーム開発をレベルアップ