2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

個人開発エンジニア応援 - 個人開発の成果や知見を共有しよう!-

[Unity]3Dオブジェクトの手前と奥にUIを配置する方法

Last updated at Posted at 2023-10-01

0.はじめに

この記事はUnityのuGUIを3Dオブジェクトの奥と手前に表示する方法についての自分向けの備忘録代わりの記事となります。
また、記事の作成や文章を書くのが久しぶりのため、読み辛いことこの上ないかと思いますが、受け入れてください。
(コメントとかで、色々と指摘してもらえると嬉しいです。)

今回はLineRendererが背景よりも後ろで描画される問題に遭遇しました。
その問題解決のための前テストとして、表題の内容について色々と試しつつ調べました。

使用しているUnityのバージョンは[Unity 2021.3.25]です。

1.2Dオブジェクトのみ(UIのみ)の場合

1.SortingLayersから、レイヤー層を作成する
(上に置いてあるほど奥に表示され、下に置いてあるほど手前に表示される)
image.png
2.キャンバスから、[Sorting Layer]に割り当てをする
image.png
これで、同じSortLayer毎にまとめて前後表示の設定をすることができる。
MeshTextの設定でもできるが、コードからになるため今回は割愛。

2.3Dオブジェクトの手前と奥にUIを置く場合

1.[Render Mode]を[Screen Space - Camera]に変更をする
2.[Plane Distance]の値を調整し、3Dオブジェクトを挟む
image.png
これで、3Dオブジェクトの手前と奥にUIを置くことができる。
テスト的に作った画面だとこんな感じになる。
image.png

3.[2]の注意点

Hierarchyタブからカメラを選択した時、Sceneタブでカメラの範囲が表示される。
これよりもUIで作成したCanvasが奥過ぎたり手前過ぎると、UIは表示されなくなる
UIの奥と手前はこの範囲に限定される。->配置できる3Dオブジェクトもこの間に置かないといけない。
image.png

4.おわりに

今回得た知見を基に、次はLineRendererでの問題解決をやってみようと思います。
Canvasの原理的にも、問題はないはずだけれども、ダメだったら辛いなあ......。

5.参考URL

  • 特になし
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?