Unity研究所<Unityによるゲーム開発、映像開発>

Unity初心者おやじが綴るゲームで小遣い稼ぎできるようになるまでのブログ

Unity 小ネタ UIを画面の一番手前に表示する方法

前々から不自由に思いつつも、位置を調整して何とかしてきたが・・・

どうしても3Dオブジェクトの前にUIを表示したくなったので、調べてみた

 

結果、大した内容ではなかったが、自分で試しながら発見するようなことは不可能と思われる内容だったため、忘れないように書き残しておく

 

上の図のように、赤いCubeの向こう側にUIのテキストを配置

 

この時のCanvasのRender Modeは、World Space

この状態だと二つ上の図の右の絵のように、Cubeに隠れてUIのテキストが見えない

 

そこで、カメラを追加し、設定を上記のようにする

Clear Flags : Depth only

Culling Mask : UI

Depth : 1 メインカメラよりも大きい値に

 

Cubeの前にUIテキストが表示された!!

 

でも何か解せない

カメラを追加しなくても、UIのRender ModeをOverlayにするだけで、常に手前に表示されるような気もする(~_~;)

 

今のところは用途が思いつかないが、追加したカメラをCanvasのRender Cameraに設定すれば、メインカメラは動かしても、UIは移動しないので、何かには使えそう

 

いや、やっぱりOverlayにすれば、特定のカメラでのレンダリングはされないようなので、いちばん手前に表示されそう(~_~;)

 

もう少しへ勉強が必要そうだが、今日はここまで