Mengatur kondisi di mana geometri melewati atau gagal pengujian kedalaman.
Pengujian kedalaman memungkinkan GPU yang memiliki fungsi "Early-Z" untuk menolak geometri di awal pipa, dan juga memastikan pemesanan yang benar dari geometri. Anda dapat mengubah kondisi pengujian kedalaman untuk mencapai efek visual seperti oklusi objek.
Feature name | Built-in Render PipelineA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info See in Glossary |
Universal Render Pipeline (URP) | High Definition Render Pipeline (HDRP) | Custom SRP |
---|---|---|---|---|
ZTest | Yes | Yes | Yes | Yes |
Perintah ini membuat perubahan pada state render. Gunakan blok Pass
untuk mengatur state render untuk Pass itu, atau menggunakannya dalam blok SubShader
untuk mengatur state render untuk semua Passes di SubShader.
Signature | Example syntax | Function |
---|---|---|
ZTest [operation] | ZTest Less | Mengatur kondisi di mana geometri melewati atau gagal pengujian kedalaman. |
Parameter | Value | Function |
---|---|---|
operation | Less | Menggambar geometri yang ada di depan geometri yang ada. Jangan menarik geometri yang berada pada jarak yang sama atau di belakang geometri yang ada. |
LEqual | Menggambar geometri yang ada di depan atau pada jarak yang sama dengan geometri yang ada. Jangan menarik geometri yang ada di balik geometri yang ada. Ini adalah nilai default. |
|
Equal | Menggambar geometri yang pada jarak yang sama dengan geometri yang ada. Jangan menarik geometri yang ada di depan atau di belakang geometri yang ada. | |
GEqual | Menggambar geometri yang ada di belakang atau pada jarak yang sama dengan geometri yang ada. Jangan menarik geometri yang ada di depan geometri yang ada. | |
Greater | Menggambar geometri yang ada di balik geometri yang ada. Jangan menarik geometri yang berada pada jarak yang sama atau di depan geometri yang ada. | |
NotEqual | Menggambar geometri yang tidak pada jarak yang sama dengan geometri yang ada. Jangan menarik geometri yang berada pada jarak yang sama dengan geometri yang ada. | |
Always | Tidak ada pengujian kedalaman terjadi. Menggambar semua geometri, terlepas dari jarak. |
Kode contoh ini menunjukkan sintaks untuk menggunakan perintah ini di blok Pass.
Shader "Examples/CommandExample"
{
SubShader
{
// The rest of the code that defines the SubShader goes here.
Pass
{
// Sets the depth test operation to Equal for all pixels in this Pass
// You would typically do this if you want to render the geometry exactly where already rendered geometry is
ZTest Equal
// The rest of the code that defines the Pass goes here.
}
}
}
Kode contoh ini menunjukkan sintaks untuk menggunakan perintah ini dalam blok SubShader.
Shader "Examples/CommandExample"
{
SubShader
{
// Sets the depth test operation to Equal for all pixels in this Pass
// You would typically do this if you want to render the geometry exactly where already rendered geometry is
ZTest Equal
// The rest of the code that defines the SubShader goes here.
Pass
{
// The rest of the code that defines the Pass goes here.
}
}
}