回答編集履歴
1
コード内のコメントの誤字を修正、インスペクターの設定項目名の取り違えを修正、「カラーチャンネル」より「カラーバッファ」の方が妥当なように思って修正
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
おっしゃる通りですね...`ZWrite Off`に設定したのでスプライトのデプスは書き込まれず、Transparentオブジェクトを描画する時点ではスプライトが存在しないのと同じになってしまい、容赦なく上書きされてしまうようです。
|
2
2
|
|
3
|
-
ちょっと作戦を変更しました。まず以前の回答で申し上げた二段カメラはなしにして、元の単一カメラに戻します。
|
3
|
+
ちょっと作戦を変更しました。まず以前の回答で申し上げた二段カメラはなしにして、元の単一カメラに戻します。Clear Flagsも元通りメインカメラがスカイボックスを描画するようにします。
|
4
4
|
|
5
5
|

|
6
6
|
|
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
private void OnEnable()
|
24
24
|
{
|
25
|
-
// Enable時に、子オブ
|
25
|
+
// Enable時に、子オブジェクトのスプライトに後述のZWriterHelperをアタッチする
|
26
26
|
var spriteRenderers = this.GetComponentsInChildren<SpriteRenderer>(true);
|
27
27
|
foreach (var spriteRenderer in spriteRenderers!)
|
28
28
|
{
|
@@ -121,7 +121,7 @@
|
|
121
121
|
}
|
122
122
|
```
|
123
123
|
|
124
|
-
また、下記のようにスプライトのシェーダーと同様のアルファカットオフを行いつつ、`ZWrite On`かつカラー
|
124
|
+
また、下記のようにスプライトのシェーダーと同様のアルファカットオフを行いつつ、`ZWrite On`かつカラーバッファには書き込みを行わないシェーダーを用意します。
|
125
125
|
|
126
126
|
```ShaderLab
|
127
127
|
Shader "Custom/ZWriter"
|