回答編集履歴

1

コード内のコメントの誤字を修正、インスペクターの設定項目名の取り違えを修正、「カラーチャンネル」より「カラーバッファ」の方が妥当なように思って修正

2022/03/29 22:25

投稿

Bongo
Bongo

スコア10807

test CHANGED
@@ -1,6 +1,6 @@
1
1
  おっしゃる通りですね...`ZWrite Off`に設定したのでスプライトのデプスは書き込まれず、Transparentオブジェクトを描画する時点ではスプライトが存在しないのと同じになってしまい、容赦なく上書きされてしまうようです。
2
2
 
3
- ちょっと作戦を変更しました。まず以前の回答で申し上げた二段カメラはなしにして、元の単一カメラに戻します。Backgroundも元通りメインカメラがスカイボックスを描画するようにします。
3
+ ちょっと作戦を変更しました。まず以前の回答で申し上げた二段カメラはなしにして、元の単一カメラに戻します。Clear Flagsも元通りメインカメラがスカイボックスを描画するようにします。
4
4
 
5
5
  ![図1](https://ddjkaamml8q8x.cloudfront.net/questions/2022-03-29/604ab9b6-7112-4fbd-beaa-997b703b1cd6.png)
6
6
 
@@ -22,7 +22,7 @@
22
22
 
23
23
  private void OnEnable()
24
24
  {
25
- // Enable時に、子オブェクトのスプライトに後述のZWriterHelperをアタッチする
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"