【Unity】uGUIよりも手前に3Dオブジェクトを配置したUIを作る
こんにちは(ી(΄◞ิ౪◟ิ‵)ʃ)
今開発中のゲームで、少し躓いたところがあったので、一応メモ(?)しておきます。
===================
この記事を書いた時のバージョン(Mac)
・Unity 5.2.2f1 PersonalEdition
===================
自分はUIにuGUIを使用しているのですが、uGUIによりも手前に3Dオブジェクトを配置したい場所がありました。
しかし、どうしてもUIが手前に表示されてしまい、どうしたらよいかわからない。。
具体的にはこんな感じ。
↓この黒いUIの裏で回転しているキャラクターを、UIの前に表示させたい。
そこで色々調べたところ、Canvasの設定を少し変えるだけでできました!( ✧Д✧) カッ!!
①まず「Canvas」のRender Modeを「Screen Space - Camera」に設定。
②Render Cameraに使用しているカメラをセット。
③Plane Distanceをちょうどよい具合に調整。
だけです!簡単ですね!!
①で「Screen Space - Camera」に設定すると、今まで2Dとして表示されていたUIが、まるで3Dオブジェクトのように配置されるようになります。
↓今までのUI配置(Screen Space - Overlay)
↓それがこんな配置に。(Screen Space - Camera)
③がちょっとイメージしにくいのですが、「UIをカメラからどのくらい離れた場所に配置するか」、です。
↓実際にPlane Distanceの値を上げたり下げたりしているところ。
これでもう分かったかと思います!
Plane Distanceで距離感を調整して、UIの前に表示させたいオブジェクトをUIとカメラの間に設置してあげればいいだけです!
結果、やりたいことがうまくできました‹‹\(´ω` )/›› ‹‹\( ´)/›› ‹‹\( ´ω`)/››
ちなみにCanvasのRender Modeの「Screen Space - Overlay」は常にUIを手前に表示、「World Space」はまさにUIをオブジェクトとして扱う設定になります。
ここら辺は少しいじってみるだけで感覚的に理解できると思いますので、もし凝ったUIを作ってみたいという方、ぜひ試してみてください!٩(•౪• ٩)
(参考にしたもの)
今回紹介した知識はこの本の144pに書かれてました。
大変良書なので、もしuGUIを使用しているのであれば、とても勉強になるかと思いますよ!
UnityゲームUI実践ガイド 開発者が知っておきたいGUI構築の新スタンダード
- 作者: 池和田有輔,時村良平
- 出版社/メーカー: エムディエヌコーポレーション
- 発売日: 2015/03/06
- メディア: 単行本
- この商品を含むブログ (5件) を見る