「Canvas」のUIオブジェクトは常に手前に表示されるように設計されています。
メインカメラ越しの通常のオブジェクトをUIの手前(上)に表示したい場合の方法です。

UIカメラ設定を変更するので、「Canvas」オブジェクトを選択します。
- 「Camera」内の「Render Mode」を「Screen Space-Camera」に変更します
- 「Render Camera」部分に「Main Camera」をドラッグして、メインカメラに設定します
- 「Plane Distance」を調整し、通常オブジェクトの奥に表示される数値を探します
この方法でカメラを設定すると、メインカメラとUIカメラが一体になったようにSceneでの作業もできるようになります。
もとのCanvasカメラに戻すと、表示も元に戻ってしまうみたいなので、トレードオフな機能のようです。
この設定にした際、「キャラが透けて見える」「UIがチカチカする」といった問題が起こるときがあります。
そのための保険として「Sorting Layer」でも表示方法を固定しておくのが良いです。


UIオブジェクトと通常オブジェクトに、コンポーネント追加にて「Sorting Group」を追加します。
- 新規で「Sorting Layer」を2つ作成します。
- Character(下側に配置=手前)命名は任意
- UI_Opinion(上側に配置=奥)命名は任意
- 通常オブジェクト(キャラクター)の「Sorting Layer」を「Character」にする
- UIオブジェクトの「Sorting Layer」を「UI_Opinion」にする
物理的な距離(Z軸)だけでなく、描画エンジンに対しても論理的に命令しておく、ということになります。

コメント