質問編集履歴

2

タイトルの変更と追記に対する補足を追加

2022/06/20 00:56

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- UnityでSortingLayerを使用してMeshRenderを使たオブジェクトの表示順を変更したい
1
+ UnityでMeshRenderを使用したオブジェクトのマテリアルを変更せずに、表示順をSortingLayerで変更したい
test CHANGED
@@ -28,6 +28,12 @@
28
28
 
29
29
  SortingLayerを使用してMeshRenderを使ったオブジェクトの表示順を変更するにはどうすればよいのでしょうか。
30
30
 
31
+ ### 頂いた追記・修正の依頼を元に補足
32
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-06-20/ac65a39a-e4b8-4aee-8b9c-f7efc1f71795.png)
33
+ Bongoさんの指摘を元にオブジェクトのマテリアルをFadeに変更したところ、上記のように実現することが出来ました。
34
+ しかし、この方法では既存の3Dモデルのアセットをすべてのマテリアルを変更しなければならず(それが最初から変えておくか、実行中に動的に変えるかはともかく)、手間が掛かったり、見た目が変わってしまう可能性があります。
35
+ ですので、今回作成したプリミティブなオブジェクトのように、マテリアルを変更せずに表示順の変更を実現したいです。
36
+
31
37
  ### 補足情報(FW/ツールのバージョンなど)
32
38
  確認をしたunityのバージョンは2021.3.4f1です。
33
39
 

1

改行などをみやすく

2022/06/16 03:22

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,5 @@
1
1
  ### 前提
2
- Unityでカメラからの距離に関係なく、複数のカメラを使わずに表示順を制御したいと調べたところ、SortingLayerを使うと実現できそうなのですが、3Dのオブジェクトに対て望んだ表示になりません。
2
+ Unityでカメラからの距離に関係なく、複数のカメラを使わずに表示順を制御したいと調べたところ、SortingLayerを使うと実現できそうなのですが、MeshRenderのオブジェクトついて意図表示になりません。
3
3
 
4
4
  ### 動作確認
5
5
  まず、SortingLayerに「Front」を追加。以下のようにSprireRenderの画像を並べ、奥にある星の画像のSortingLayerを「Front」に変更しました。
@@ -24,7 +24,8 @@
24
24
 
25
25
  ### 試したこと
26
26
  参考にしたこちらのサイト:https://tsubakit1.hateblo.jp/entry/2015/01/05/233000
27
- 参考に、オブジェクトのSortingLayerを明示的にDefaultを指定して見たり、SortingLayerの設定でDefaultより小さいSortingLayerの追加、オブジェクトに設定したりしましたが、やはりオブジェクトの表示にはSortingLayerが反映されず、上記画像の位置関係であれば常に手前に表示されてしまいます。
27
+ のスクリプトに、オブジェクトのSortingLayerを明示的にDefaultを指定して見たり、SortingLayerの設定でDefaultより小さいSortingLayerの追加、オブジェクトに設定したりしましたが、やはりオブジェクトの表示にはSortingLayerが反映されず、上記画像の位置関係であれば常に手前に表示されてしまいます。
28
+
28
29
  SortingLayerを使用してMeshRenderを使ったオブジェクトの表示順を変更するにはどうすればよいのでしょうか。
29
30
 
30
31
  ### 補足情報(FW/ツールのバージョンなど)