Note: Fungsi ShaderLabBahasa Unity untuk mendefinisikan struktur benda-benda Shader. More info
Lihat di Glossary pada halaman ini adalah legacy, dan didokumentasikan untuk kesan ke belakang hanya. Jika file sumber shaderProgram yang berjalan di GPU. More info
Lihat di Glossary Anda termasuk kode HLSL, Unity mengabaikan perintah ini sepenuhnya. Jika file sumber naungan Anda tidak termasuk kode HLSL, Unity mengkompilasi perintah ini ke program naungan biasa pada impor.
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 |
---|---|---|---|---|
Legacy lighting | Yes | No | No | No |
Bahan dan parameter pencahayaan digunakan untuk mengontrol pencahayaan simpul built-in. Pencahayaan Vertex adalah model pencahayaan Direct3D / OpenGL standar yang sebanding untuk setiap simpul. Lighting on mengubahnya. Pencahayaan dipengaruhi oleh blok MaterialAset yang menentukan bagaimana permukaan harus diberikan. More info
Lihat di Glossary, perintah ColorMaterial dan SeparateSpecular.
Vertex Coloring & Lighting adalah efek pertama yang dihitung untuk geometri yang diberikan. Ini beroperasi pada tingkat simpul, dan menghitung warna dasar yang digunakan sebelum tekstur diterapkan.
Kontrol perintah tingkat atas apakah menggunakan pencahayaan fungsi tetap atau tidak, dan beberapa opsi konfigurasi. Pengaturan utama adalah di Material Block, rinci di bawah ini.
Color color
Mengatur objek ke warna padat. Warna adalah empat nilai RGBA dalam parenthesis, atau nama properti warna dalam kurung persegi.
Material {Material Block}
Blok material digunakan untuk menentukan sifat material dari objek.
Lighting On | Off
Untuk pengaturan yang didefinisikan dalam blok Material untuk memiliki efek apa pun, Anda harus mengaktifkan Pencahayaan dengan perintah Pencahayaan Pada. Jika pencahayaan mati, warna diambil langsung dari perintah Color.
SeparateSpecular On | Off
Perintah ini membuat pencahayaan specular ditambahkan ke ujung teduh, sehingga pencahayaan spekulatif tidak terpengaruh oleh texturing. Hanya memiliki efek ketika Pencahayaan Pada digunakan.
ColorMaterial AmbientAndDiffuse | Emission
Membuat warna per-vertex digunakan bukan warna yang ditetapkan dalam bahan. AmbientAndDiffuse menggantikan Nilai Ambient dan Diffuse dari bahan; Emission menggantikan Nilai emisi material.
Ini berisi pengaturan untuk bagaimana materi bereaksi terhadap cahaya. Setiap properti ini dapat dibiarkan, dalam hal itu mereka default ke hitam (yaitu tidak memiliki efek).
Sitemap Komponen warna yang diffuse. Ini adalah warna dasar objek.Diffuse color: The diffuse color component. This is an object’s base color.
Sitemap Komponen warna ambient. Ini adalah warna objek yang dimiliki ketika memukul oleh set Ambient color: di ambient lightCahaya yang tidak datang dari arah tertentu, dan berkontribusi cahaya yang sama di semua arah ke Adegan. More info
Lihat di Glossary.jendela pencahayaan.
Sitemap Warna sorotan specular objek.Specular colorThe color of a specular highlight.
See in Glossary: The color of the object’s specular highlight.
Sitemap Ketajaman sorotan, antara 0 dan 1. Di 0 Anda mendapatkan sorotan besar yang terlihat banyak seperti diffuse pencahayaan, pada 1 Anda mendapatkan spekulasi kecil.Shininess number: The sharpness of the highlight, between 0 and 1. At 0 you get a huge highlight that looks a lot like diffuse lighting, at 1 you get a tiny speck.
Sitemap Warna objek ketika tidak terkena cahaya.Emission color: The color of the object when it is not hit by any light.
Warna penuh lampu memukul objek adalah:
Ambient * Pengaturan intensitas Ambient Window Pencahayaan + (Warna Cahaya * Diffuse + Warna Cahaya * Specular) + Emission%
Bagian cahaya persamaan (dalam parenthesis) diulang untuk semua lampu yang menekan objek.
Biasanya Anda ingin menjaga warna-warna Diffuse dan Ambient sama (semua warna built-in melakukan ini).
Selalu render objek di merah murni:
Shader "Solid Red" {
SubShader {
Pass { Color (1,0,0,0) }
}
}
Shader dasar bahwa warna objek putih dan menerapkan pencahayaan simpul:
Shader "VertexLit White" {
SubShader {
Pass {
Material {
Diffuse (1,1,1,1)
Ambient (1,1,1,1)
}
Lighting On
}
}
}
Versi diperpanjang yang menambahkan warna material sebagai properti yang terlihat dalam Bahan InspectorJendela Unity yang menampilkan informasi tentang Pengaturan GameObject yang dipilih saat ini, aset atau proyek, memungkinkan Anda untuk memeriksa dan mengedit nilai. More info
Lihat di Glossary:
Shader "VertexLit Simple" {
Properties {
_Color ("Main Color", COLOR) = (1,1,1,1)
}
SubShader {
Pass {
Material {
Diffuse [_Color]
Ambient [_Color]
}
Lighting On
}
}
}
Dan akhirnya, naungan vertex-lit penuh (lihat juga halaman referensi SetTexture):
Shader "VertexLit" {
Properties {
_Color ("Main Color", Color) = (1,1,1,0)
_SpecColor ("Spec Color", Color) = (1,1,1,1)
_Emission ("Emmisive Color", Color) = (0,0,0,0)
_Shininess ("Shininess", Range (0.01, 1)) = 0.7
_MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader {
Pass {
Material {
Diffuse [_Color]
Ambient [_Color]
Shininess [_Shininess]
Specular [_SpecColor]
Emission [_Emission]
}
Lighting On
SeparateSpecular On
SetTexture [_MainTex] {
Combine texture * primary DOUBLE, texture * primary
}
}
}
}