質問: ![やりたいこと](https://teratail.storage.googleapis.com/uploads/contributed_images/ee442997b5654dd26fa955d0a6e2021c.png) ![Textの設定](https://teratail.storage.googleapis.com/uploads/contributed_images/301c269e285702437d222aeb41c2a857.png) ![Square 2の設定](https://teratail.storage.googleapis.com/uploads/contributed_images/12a6683449d969534165e2646cb6fde5.png) ![SpriteにCanvas追加](https://teratail.storage.googleapis.com/uploads/contributed_images/3fe4808f82283ff7921d40c71afe6d73.png) ![TextにCanvas追加](https://teratail.storage.googleapis.com/uploads/contributed_images/3a63a873a98063cd1a34c2cab842d5b7.png) ![Square 2のLayer変更](https://teratail.storage.googleapis.com/uploads/contributed_images/8bc1e7a39377b96d89aa8b7ca6c5d693.png) ![Square 2のみ別Canvas引っ越し](https://teratail.storage.googleapis.com/uploads/contributed_images/34f37b86833348aa903512b074524ca0.png) まず、最初のpngを見てください。 「やりたいこと」は、白い長方形(Canvasの子オブジェクトText)(Assets→Create→Sprite→Squareで作成したもの)が、"Test Text"(Canvasの子オブジェクトSquare 2)(GameObject→UI→Textで作成したもの)の後に描画されるようにする(つまり、"Test Text"の中央付近は白い長方形で覆われる)ことです。 が、以下のいろいろな方法を試してもうまくいかず (どうしてもTextが上に描画されてしまう)、 手詰まりになっています。 【試したこと一覧】に記載がない限り、Text, Square2の設定は それぞれ添付の2枚目、3枚目のpng画像のようにしています。 【試したこと一覧】 ・Canvasの中で、TextとSquare 2の並び順を入れ替えてみる ・(4枚目、5枚目の画像参照)TSquare 2とTextそれぞれにCanvasコンポーネントを追加、 どちらもOverride sortingをオンにし、それぞれのSort Orderをいろいろ変えてみる ・(6枚目の画像参照)Square 2のLayerを、高優先度のLayer「HighLayer」に変更 ・(7枚目の画像参照)もともとのCanvasより高優先度のLayerを設定した 「Canvas_HighLayer」を作成し、Square 2のみそちらに引っ越し
回答: Canvasの描画モードを変えてみてはいかがでしょうか? !プレビュー たとえば上図の場合、モードを「Screen Space - Camera」として、「Plane Distance」は「10」としました。 この場合、Canvasがカメラ前方10mに浮かんだ板の上に描画されたような状態になります。カメラの位置は(0, 0, -10)にあり、向きはZ軸+方向を向かせていますので、CanvasはZ座標0のXY平面上に位置していることになります。 ここでSquareのZ座標を操作してみますと、Z < 0の場合はSquareがCanvasよりカメラに近い側に位置するのでCanvasより手前に描画され、Z > 0の場合は遠い側に位置するのでCanvasより奥に描画されます。