いんでぃーづ

ゲームいろいろ、いろいろ自由

Unity : 3Dシーン内のCanvasが邪魔

Canvasを配置すると、シーン内に3Dオブジェクトと一緒に表示されるようになります。

そしてなぜかこのCanvas、むちゃくちゃ大きいオブジェクトとして表示されてしまいます。

これはUnityがCanvasの1ピクセルを1unitとして計算して表示しているから。
シーンの1unitは1メートルなので、100ピクセルのUIは100メートルで描画されてしまいます。そりゃデカくなるわ...

しかもCanvasの左下が原点(0, 0, 0)に合っているので、3Dのシーンをここを基準にして作成している場合、思いっきり他のオブジェクトと表示がかぶるんですよね。

これが非常に邪魔だったりします。

3Dオブジェクトをクリックして選択したつもりが、Canvasに配置したUIを選択してしまったり。
結構ストレスがたまります。

解1:シーンからCanvasの表示を消す

右上のLayersドロップダウンリストから、UIレイヤーの目のマークをクリックし、目を閉じている表示にします。

f:id:sugar_affordance:20160522095956p:plain

シーン内からCanvasの表示が消えるはずです。

しかしこの方法では、全てのシーンビューからCanvasが消えてしまうので、編集のたびに毎回表示設定をする必要があります。

解2:CanvasのRenderModeを変える

CanvasコンポーネントRender ModeScreen Space - Cameraに変更し、Render Cameraにカメラを設定します。
この設定では、カメラの位置にCanvasが追従するようになります。
カメラのZ座標を100などの大きな値にすれば、シーンのオブジェクトと重なって表示されることはまずなくなるでしょう。

ただしこの方法では、UI表示用のカメラを別に用意する必要があります。

解 : Unity2019

Unity2019で、ヒエラルキービューになにやら目の紋章が...

f:id:sugar_affordance:20190507154748p:plain

クリックするとシーンビューから消えます! 神!

・参考 http://forum.unity3d.com/threads/ui-canvas-related-questions.265171/


“Unity” and Unity logos are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere, and are used under license.


免責事項

当サイトの広告バナー、リンクによって提供される情報、サービス内容について、当サイトは一切の責任を負いません。

また、当サイトの情報を元にユーザ様が不利益を被った場合にも、当サイトは一切の責任を負いません。

すべて自己責任でお願いします。