sorting layerのテストしてみた

ある日、質問された。
「そういえば、unityでsorting layerと3D objectの関係ってどうなってるんでしょう?」
Sorting Layerは3Dobjectとどう影響しあうのか、検索してみたけれど見つからない。

正確には「違うものだから挙動しない」なんて解説もあってが、テストした結果は違うw

まあこんなのはテストしてみりゃいいやと思ってテストしてみたら、抱腹絶倒というか「エー」な結果が得られたので、ちょっとブログに記事として残しておきたい。

sorting layerは以下のルールで動く。

  • リストの下の方が描画の優先度は高い。
  • 同一優先度ならばカメラに近い方が「上」

実に簡単だ。

またunityでは言うまでもなく3D Objectにはsorting layerはつかない。
そこで空objectにspriteをぶら下げて、そいつにsorting layerをひっつけ、その下に3DObjectを配置するという暴挙に出てみる。

んで、下のようなシーンを用意し、それぞれにsorting layerを付けてみた。

結論として言うと「3D Objectにsorting layerは影響しない【が】、その前後を2Dobjectが動く時には、sorting layerはレンダリング結果に影響する」という世にもキカイな挙動になるのである。

wasakidog/sortinglayertestthis is a really simple testing relationship between 3D object and 2D object with sorting layer in unity - wasakidog/sortinglayertest
wasakidog/sortinglayertest github.com
wasakidog/sortinglayertest

正直、レンダリング結果を見て爆笑したよw

こんなヘンテコなことは普通はやらない気がするけど、まあ、メモ代わりに。

LinkedIn にシェア
Pocket