質問編集履歴
3
テンプレートに沿った書き方に変えました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,24 +1,24 @@
|
|
1
|
+
### 前提
|
2
|
+
|
1
|
-
3D空間に設置したSpriteがSkyboxと重なった時に表示されなくなります。(Skyboxが表示される)
|
3
|
+
Unityで3D空間に設置したSpriteが、Skyboxと重なった時に表示されなくなります。(Skyboxが表示される)
|
2
4
|
|
3
5
|
キャラクターとして表示しているSpriteで、同じマテリアルを持つオブジェクトを複数重ねて配置しています。
|
4
6
|
そのため、パーツ毎に表示順を設定する必要があります。
|
5
7
|
|
6
|
-
ZwriteをOffにすることでOrder in Layerから表示順を設定していましたが、ClearFlagがSkyboxになった際に上記の問題が発生しました。
|
7
|
-
|
8
|
-
|
8
|
+
### 実現したいこと
|
9
|
-
|
10
|
-
SpriteのRender QueueをSkyboxより上げる(2501以上)にすることでも問題を回避できますが、この場合だとSpriteに落ちる影が描写されなくなってしまいます。
|
11
9
|
|
12
10
|
- 3D空間に配置されたSpriteが
|
13
11
|
- 他オブジェクトの影や光の影響を受け
|
14
12
|
- 同一のシェーダーを持った他Spriteとの表示順を設定でき
|
15
13
|
- Skyboxと干渉しない
|
16
14
|
|
17
|
-
|
15
|
+
という状況を作りたいです。
|
18
16
|
|
19
|
-
|
17
|
+
### 発生している問題
|
20
18
|
|
21
|
-
|
19
|
+
ZwriteをOffにすることでOrder in Layerから表示順を設定していましたが、ClearFlagがSkyboxになった際に題目の問題が発生しました。
|
20
|
+
|
21
|
+
### 該当のソースコード
|
22
22
|
|
23
23
|
Spriteのシェーダーは以下です。
|
24
24
|
```HLSL
|
@@ -101,4 +101,19 @@
|
|
101
101
|
}
|
102
102
|
ENDCG
|
103
103
|
```
|
104
|
+
|
105
|
+
### 試したこと
|
106
|
+
|
107
|
+
|
108
|
+
ZwriteをOnにすることで回避できますが、表示順が距離依存になってしまうので、この方法だと正確な描写は難しいと判断しました。
|
109
|
+
|
110
|
+
SpriteのRender QueueをSkyboxより上げる(2501以上)にすることでも問題を回避できますが、この場合だとSpriteに落ちる影が描写されなくなってしまいます。
|
111
|
+
|
112
|
+
[Problem with ZWrite and sorting objects - Unity Forum](https://forum.unity.com/threads/problem-with-zwrite-and-sorting-objects.675055/)
|
113
|
+
|
114
|
+
上記のページも参考にしましたが、シェーダーの知識が足りず、解決には至りませんでした。
|
115
|
+
|
116
|
+
### 補足情報(FW/ツールのバージョンなど)
|
117
|
+
|
104
|
-
|
118
|
+
Unity 2021.2.8f1
|
119
|
+
|
2
題名に「Unity3Dで」を追加しました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
描画順を設定できるSpriteをSkyboxより手前に表示したい
|
1
|
+
Unity3Dで描画順を設定できるSpriteをSkyboxより手前に表示したい
|
test
CHANGED
File without changes
|
1
題名をより具体的にしました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
描画順を設定できるSpriteをSkyboxより手前に表示したい
|
test
CHANGED
File without changes
|