【Unity】MainCameraとCanvasのサイズが合わないときの対処法|UIが大きすぎる問題の解決方法

目次

はじめに

UnityでゲームUI(ユーザーインターフェース)を作ろうとして、Canvasにテキストや画像を挿入したときに、
**「UIがめちゃくちゃ大きくて、MainCameraとサイズが合っていない!」**と困ったことはありませんか?

私もまさにその状態になり、SceneビューではUIが表示されるのに、Gameビューでは全く見えないという現象に遭遇しました。
そこで今回は、Canvasの表示スケールとMainCameraの整合性を取る方法を紹介します。


症状:UIが画面からはみ出す or ゲームビューに表示されない

  • Canvasに配置したボタンやテキストが、SceneビューにはあるのにGameビューでは消えている
  • MainCameraとCanvasのスケールが極端に違って見える
  • 「なんでこんなにCanvasが大きいの?」と思ってしまう

解決方法:Canvasの「Render Camera」にMainCameraを指定する

この問題の原因は、Canvasの描画モード(Render Mode)が「Screen Space – Overlay」になっていることが多いです。

解決手順:

  1. Canvasオブジェクトを選択
  2. インスペクターウィンドウで「Render Mode」を「Screen Space – Camera」に変更
  3. Render Camera」の項目が出てくるので、Main Cameraをドラッグ&ドロップでアタッチ
  4. 必要に応じて「Plane Distance」や「Canvas Scaler」も調整

なぜこれで解決するのか?

デフォルトの 「Screen Space – Overlay」 は、カメラに依存せず画面全体にUIを描画します。
そのため、カメラとCanvasのスケールがバラバラになりがちで、表示位置がずれることがあります。

一方で、**「Screen Space – Camera」**に変更し、Render CameraをMainCameraに指定することで、
UIがカメラの視野に合わせて描画されるようになり、スケールや表示のズレがなくなります。


補足:GameビューでUIが表示されなかった問題も同時に解決

この設定を行ったことで、私の環境では以下の問題も解決しました:

  • SceneビューではUIが見えるのに、Gameビューに切り替えるとUIが消えてしまう現象

つまり、Canvasがカメラの視野外にあったということが原因だったようです。
Render Cameraを指定することで、正しくUIがカメラ内に表示されるようになりました。


まとめ

UnityでCanvasが大きすぎる / UIがGameビューに表示されないといったトラブルに遭遇した場合は、
まずCanvasのRender ModeRender Cameraの設定を確認してみましょう。

ポイント:

  • CanvasのRender Modeを「Screen Space – Camera」に変更
  • Render Cameraに「Main Camera」を指定
  • GameビューでUIが正しく表示されるか確認

この設定ひとつで、UIのスケール問題が一気に解決することがあります。
少しでも参考になれば幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次