最近めっきり Unity の技術説明的な記事を書いてなかったです。
しかし、ログを見ると Unity の技術ページがいつもダントツ アクセス数が多いのですよね。と言うことで、反省しつつ久々に Unity技術系です。

今回紹介するのは私の Windows用ゲーム Merlion Adventure for Windows で使われている以下の様なサブカメラの作り方。
このゲームでは右下にある上空からのカメラ映像がそれです。
(ちなみにこのゲームも Microsoft Store からフリーでリリースしてますので、よかったら試してみてください。)
( URL:http://blog.lab7.biz/archives/8784429.html
HELP_02

このやり方は今制作中のMerlion Adventure2でも使用しています。(リリース時期未定)

この方法の良いところは、サブカメラを UI上のオブジェクトの大きさに合わせておくことができること。
要は、私の例だとサブカメラの周りにフレームのようなイメージを付けたくて、UI上の固定の大きさでサブカメラを表示させたい訳です。
その場合、この方法だと UI上の Raw Image オブジェクト上に表示しているので、このUIオブジェクトで他の UIとのバランスをとった形で大きさを固定しておけます。
この方法をとらないで、UIとカメラの映像を別々にあつかっている際は端末によってサブカメラの映像がフレームより大きくなってしまったりして苦労しました。

それでは、以下がその方法です。
まず、サブカメラと UIの Raw Image 間で映像の受け渡し役となる Render Texture を Project に追加します。
Sub Camera_01

そして、次にサブカメラとして、新たなCameraを追加。
サブカメラの Target Texture には 今作成した Render Texture をアタッチします。
Sub Camera_02

次に UIに Raw Image を追加。
Sub Camera_03

その Raw Image の Texture に Render Texture をアタッチします。
Sub Camera_04

これだけです。
サブカメラの利用はほんとうに簡単です。

しかし、一度設定すれば その後そうそう設定する機会がないので、すぐ忘れてしまいます。
今回も、Merlion Adventure Windows 用作成時に一度体験していたのに、Merlion Adventure2の作成時には設定どころか存在自体も忘れていました。

自分の備忘も兼ねて、この記事がみなさんのお役に立てば幸いです。


Sponsored Link