文档

Unity Engine


Unity Engine


ZWrite command in ShaderLab reference

Reference for the ZWrite command in ShaderLab.
阅读时间1 分钟最后更新于 1 个月前

重要
The Built-In Render Pipeline is deprecated and will be made obsolete in a future release.
It remains supported, including bug fixes and maintenance, through the full Unity 6.7 LTS lifecycle.
Sets whether the depth buffer contents are updated during rendering. Normally, ZWrite is enabled for opaque objects and disabled for semi-transparent ones.
Disabling ZWrite can lead to incorrect depth ordering. In this case, you need to sort geometry on the CPU.

Render pipeline compatibility

Feature name

Universal Render Pipeline (URP)

High Definition Render Pipeline (HDRP)

Custom SRP

Built-in Render Pipeline

ZWriteYesYesYesYes

Syntax

This command makes a change to the render state. Use it in a
Pass
block to set the render state for that Pass, or use it in a
SubShader
block to set the render state for all Passes in that SubShader.

Signature

Example syntax

Function

ZWrite [state]ZWrite OffEnables or disables writing to the depth buffer.

Parameters

Parameter

Value

Function

stateOnEnables writing to the depth buffer.
OffDisables writing to the depth buffer.

Additional resources