Menulis Permukaan Shaders
Contoh Shader permukaan

Permukaan Shader dan jalur rendering

Dalam Render PipelineRangkaian operasi yang mengambil isi dari Adegan, dan menampilkannya di layar. Unity memungkinkan Anda memilih dari pipa render yang dibangun sebelumnya, atau menulis sendiri. More info
Lihat di Glossary
Built-in, ketika menggunakan Surface ShaderProgram yang berjalan di GPU. More info
Lihat di Glossary
, bagaimana pencahayaan diterapkan dan yang Passes naungan digunakan tergantung pada jalur renderingTeknik yang menggunakan pipa render untuk membuat grafik. Memilih jalur rendering yang berbeda mempengaruhi bagaimana pencahayaan dan pembentukan dihitung. Beberapa jalur rendering lebih cocok untuk berbagai platform dan perangkat keras daripada yang lain. More info
Lihat di Glossary
digunakan. Setiap lulus dalam naungan berkomunikasi jenis pencahayaannya melalui Lulus Tag.

Kompatibilitas pipa Render

Feature name Built-in Render Pipeline Universal Render Pipeline (URP) High Definition Render Pipeline (HDRP) Custom SRP
Surface Shaders Yes No

Untuk cara merampingkan menciptakan benda-benda Shader di URP, lihat Shader Graph.
No

Untuk cara ramping menciptakan benda-benda Shader di HDRP, lihat Shader Graph.
No

Rendering jalur

  • Dalam Forward RenderingSebuah jalur rendering yang membuat setiap objek dalam satu atau lebih melewati, tergantung pada lampu yang mempengaruhi objek. Lampu sendiri juga diperlakukan berbeda dengan Rendering Maju, tergantung pada pengaturan dan intensitas mereka. More info
    Lihat di Glossary
    , ForwardBase dan ForwardAdd berlalu digunakan.
  • Di Deferred ShadingSebuah jalur rendering di Pipa Render Built-in yang tidak membatasi jumlah Lampu yang dapat mempengaruhi GameObject. Semua Lampu dievaluasi per-piksel, yang berarti bahwa mereka semua berinteraksi dengan peta normal dan sebagainya. Selain itu, semua Lampu bisa memiliki cookie dan bayangan. More info
    Lihat di Glossary
    , Deferred pass digunakan.
  • Dalam legacy Deferred Lighting, PrepassBase dan PrepassFinal berlalu digunakan.
  • Pada Login Login, Vertex, VertexLMRGBM dan VertexLM digunakan.
  • Dalam setiap di atas, untuk render ShadowsKomponen UI yang menambahkan efek garis besar sederhana ke komponen grafis seperti Teks atau Gambar. Ini harus pada GameObject yang sama sebagai komponen grafis. More info
    Lihat di Glossary
    atau tekstur kedalaman, umpan ShadowCaster digunakan.

Meneruskan jalur rendering

ForwardBase lulus render ambient, lightmapsTekstur pra-render yang mengandung efek sumber cahaya pada objek statis di tempat kejadian. Lightmaps dilalui atas geometri adegan untuk menciptakan efek pencahayaan. More info
Lihat di Glossary
, lampu directional utama dan tidak penting (vertex / SH) lampu sekaligus. ForwardAdd pass digunakan untuk setiap lampu per-piksel tambahan; satu invocation per objek yang diterangi oleh cahaya tersebut dilakukan. Lihat Forward Rendering untuk rincian.

Jika rendering ke depan digunakan, tetapi naungan tidak memiliki umpan yang dapat disesuaikan ke depan (yaitu tidak jenis umpan ForwardBase atau ForwardAdd hadir), maka objek itu diberikan seperti itu akan di jalur Vertex Lit, lihat di bawah ini.

Jalur Shading yang rusak

Deferred lulus renders semua informasi yang diperlukan untuk penerangan (dalam warna built-in: warna redup, warna specular, kelancaran, ruang dunia normal, emisi). Ini juga menambahkan peta ringan, probe refleksi dan pencahayaan ambient ke saluran emisi. Lihat Deferred Shading untuk rincian.

jalur pencahayaan yang rusak

PrepassBase lulus render normal & exponent specular; PrepassFinal lulus renders warna akhir dengan menggabungkan tekstur, pencahayaan & emissive bahan properti. Semua pencahayaan in-scene biasa dilakukan secara terpisah di ruang layar. Lihat Pencahayaan Deferred untuk rincian.

Login Sitemap

Karena pencahayaan simpul paling sering digunakan pada platform yang tidak mendukung naungan yang dapat diprogram, Unity tidak dapat membuat beberapa varian naungan secara internal untuk menangani kasus yang ringan vs. non-lightmapped. Jadi untuk menangani benda-benda ringan dan non-lightmapped, beberapa pass harus ditulis secara eksplisit.

  • Vertex pass digunakan untuk objek non-lightmapped. Semua lampu diberikan sekaligus, menggunakan fungsi tetap OpenGL/Direct3D model pencahayaan (Blinn-Phong)
  • VertexLMRGBM pass digunakan untuk benda-benda ringan, ketika lightmaps RGBM dikodekan (PC dan konsol). Tidak ada pencahayaan real-time diterapkan; lulus diharapkan untuk menggabungkan tekstur dengan lightmap.
  • VertexLM pass digunakan untuk benda-benda ringan, ketika lightmaps dikodekan ganda-LDR (platform seluler). Tidak ada pencahayaan real-time diterapkan; lulus diharapkan untuk menggabungkan tekstur dengan lightmap.
Menulis Permukaan Shaders
Contoh Shader permukaan