ShaderLab
ShaderLab: pengujian alfa legacy

ShaderLab: pencahayaan legacy

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.

Kompatibilitas pipa Render

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

Overview

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.

Syntax

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 color

Mengatur objek ke warna padat. Warna adalah empat nilai RGBA dalam parenthesis, atau nama properti warna dalam kurung persegi.

Material

    Material {Material Block}

Blok material digunakan untuk menentukan sifat material dari objek.

Lighting

    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

    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.

Bahan warna

    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.

Blok Bahan

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).

Examples

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
            }
        }
    }
}
ShaderLab
ShaderLab: pengujian alfa legacy