Fungsi bantuan naungan built-in
Jenis data dan presisi Shader

Variabel naungan internal

Built-in unity termasuk file mengandung variabel global untuk shadersProgram yang berjalan di GPU. More info
Lihat di Glossary
Anda: hal-hal seperti matriks transformasi objek saat ini, parameter cahaya, waktu saat ini dan sebagainya. Anda menggunakannya dalam program warna seperti variabel lain, tetapi jika Anda menyertakan file yang relevan, Anda tidak perlu menyatakannya.

Untuk informasi lebih lanjut termasuk file, lihat Built-in termasuk file.

Transformations

Semua matriks ini adalah tipe float4x4, dan merupakan kolom utama.

Name Value
UNITY_MATRIX_MVP Model saat ini * tampilan * matriks proyeksi.
UNITY_MATRIX_MV Model saat ini * melihat matriks.
UNITY_MATRIX_V Matriks tampilan saat ini.
UNITY_MATRIX_P Matriks proyeksi saat ini.
UNITY_MATRIX_VP Tampilan saat ini * matriks proyeksi.
UNITY_MATRIX_T_MV Transpose model * melihat matriks.
UNITY_MATRIX_IT_MV Transpose terbalik model * melihat matriks.
unity_ObjectToWorld Matriks model saat ini.
unity_WorldToObject Sebaliknya matriks dunia saat ini.

Kamera dan layar

Variabel ini akan sesuai dengan KameraKomponen yang menciptakan gambar sudut pandang tertentu di tempat kejadian Anda. Output ditarik ke layar atau ditangkap sebagai tekstur. More info
Lihat di Glossary
yang rendering. Misalnya selama rendering bayangan, mereka masih akan merujuk pada nilai komponen Kamera, dan bukan “kamera virtual” yang digunakan untuk proyeksi bayangan.

Name Type Value
_WorldSpaceCameraPos float3 Posisi ruang dunia kamera.
_ProjectionParams float4 x adalah 1.0 (atau -1.0 jika saat ini rendering dengan flipped matriks proyeksi), y adalah pesawat dekat kamera, z adalah pesawat jauh kamera dan w adalah 1/FarPlane.
_ScreenParams float4 x adalah lebar tekstur target kamera di pixelsUnit terkecil dalam gambar komputer. Ukuran piksel tergantung pada resolusi layar Anda. Pencahayaan pixel dihitung pada setiap piksel layar. More info
Lihat di Glossary
, y adalah ketinggian tekstur target kamera dalam pixel, z adalah 1,0 + 1,0 / lebar dan w adalah 1.0 + 1.0 / tinggi.
_ZBufferParams float4 Digunakan untuk memijat nilai penyangga Z. x adalah (1-far/near), y (far/near), z (x/far) dan w (y/far).
WordPress.org float4 x adalah lebar kamera ortopografi, y adalah ketinggian kamera ortopografi, z tidak digunakan dan w adalah 1,0 ketika kamera ortopografi, 0,0 ketika perspektif.
unity_CameraProjection float4x4 Matriks proyeksi kamera.
unity_CameraInvProjection float4x4 Sebaliknya matriks proyeksi kamera.
unity_CameraWorldClipPlanes[6] float4 Persamaan ruang dunia pesawat kamera frustum, dalam urutan ini: kiri, kanan, bawah, atas, dekat, jauh.

Time

Waktu diukur dalam hitungan detik, dan diskalakan oleh Pengganda Waktu dalam Pengaturan waktu Proyek Anda. Tidak ada variabel bawaan yang menyediakan akses ke waktu yang tidak berskala.

Name Type Value
_Time float4 Waktu karena beban tingkat (t / 20, t * 2, t * 3), gunakan untuk menghidupkan sesuatu di dalam naungan.
_SinTime float4 Sine waktu: (t/8, t/4, t/2, t).
_CosTime float4 Cosine waktu: (t/8, t/4, t/2, t).
unity_DeltaTime float4 Waktu Delta: (dt, 1/dt, smoothDt, 1/smoothDt).

Lighting

Parameter cahaya dilewatkan ke naungan dengan cara yang berbeda tergantung pada Rendering PathTeknik 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, dan yang LightMode Pass Tag digunakan dalam naungan.

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 pass type):

Name Type Value
_LightColor0 (dideks dalam UnityLightingCommon.cginc) fixed4 Warna terang.
_WorldSpaceLightPos0 float4 Lampu arah: (arah ruang dunia, Sitemap Lampu lain: (posisi ruang dunia, 1).
unity_WorldToLight (dideclared di AutoLight.cginc) float4x4 Matriks dunia-to-light. Digunakan untuk sampel cookie & tekstur atenuasi.
bvseo_sdk, p_sdk, 3.2.1 float4 Posisi ruang dunia (Sebelumnya hanya lulus) dari empat lampu titik non-imporan pertama.
unity_4LightAtten0 float4 (Sebelumnya hanya lulus) attenuation factors of first four non-important point lights.
unity_LightColor setengah4 [4] warna (Sebelumnya hanya lulus) dari empat lampu titik non-imporan pertama.
Login Login float4x4[4] Matrice di dunia. Satu matriks untuk Lampu Spot, hingga empat untuk kader cahaya directional.

Mendefinisikan dan mencairkan pencahayaan, digunakan dalam pencahayaan melewati naungan (semua yang dinyatakan dalam UnityDeferredLibrary.cginc):

Name Type Value
_LightColor float4 Warna terang.
unity_WorldToLight float4x4 Matriks dunia-to-light. Digunakan untuk sampel cookie & tekstur atenuasi.
Login Login float4x4[4] Matrice di dunia. Satu matriks untuk Lampu Spot, hingga empat untuk kader cahaya directional.

Koefisien harmonik Spherical (digunakan oleh probe ambient dan ringan) diatur untuk jenis pass ForwardBase, PrePassFinal dan Deferred. Mereka mengandung urutan ketiga SH untuk dievaluasi oleh ruang dunia normal (lihat ShadeSH9 dari UnityCG.cginc). Variabel adalah semua tipe setengah4, unity_SHAr dan nama serupa.

Vertex-lit rendering (Vertex pass type):

Hingga 8 lampu diatur untuk tipe pass Vertex; selalu diurutkan mulai dari yang paling terang. Jadi jika Anda ingin membuat objek yang terkena dua lampu sekaligus, Anda hanya dapat mengambil dua entri pertama di array. Jika ada sedikit lampu yang mempengaruhi objek dari 8, sisanya akan memiliki set warna mereka menjadi hitam.

Name Type Value
unity_LightColor half4[8] Warna terang.
unity_LightPosition float4[8] Posisi lampu View-space. (arah,0) untuk lampu arah; (posisi,1) untuk Lampu Titik atau Spot.
unity_LightAtten half4[8] Faktor penyakit ringan. x adalah cos (spotAngle/2) atau -1 untuk lampu non-Spot; y adalah 1 / cos (spotAngle/4) atau 1 untuk lampu non-Spot; z adalah atenuasi quadratik; w adalah rentang cahaya persegi.
unity_SpotDirection float4[8] Posisi lampu spot View-space; (0,0,1,0) untuk lampu non-Spot.

Lightmaps

Name Type Value
unity_Lightmap Tekstur2D Mengandung informasi lightmapTekstur 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
.
unity_LightmapST float4[8] Timbangan dan menerjemahkan informasi UV ke kisaran yang benar untuk sampel tekstur lightmap.

Fog dan Ambient

Name Type Value
WordPress.org fixed4 Sky ambient pencahayaan warna dalam kasus pencahayaan ambient gradien.
unity_AmbientEquator fixed4 Equator ambient pencahayaan warna dalam kasus pencahayaan ambient gradien.
unity_AmbientGround fixed4 Warna pencahayaan ambien tanah dalam kasus pencahayaan ambient gradien.
UNITY_LIGHTMODEL_AMBIENT fixed4 Warna pencahayaan Ambient (warnasky dalam kasus ambient gradien). Login
unity_FogColor fixed4 Fog warna.
unity_FogParams float4 Parameter untuk perhitungan kabut: (density / sqrt (ln(2)), kepadatan / ln(2), -1 / (end-start), end / (end-start)). x berguna untuk mode kabut Exp2, y untuk mode Exp, z dan w untuk mode Linear.

Various

Name Type Value
unity_LODFade float4 fade tingkat-of-detail saat menggunakan LODGroup. x fade (0..1), y fade dikuantisasi ke 16 tingkat, z dan w tidak digunakan.
_TextureSampleAdd float4 Set secara otomatis oleh Unity for UI(User Interface) Allows a user to interact with your application. Unity currently supports three UI systems. More info
See in Glossary
only
berdasarkan apakah tekstur yang digunakan dalam format Alpha8 (nilainya diatur menjadi (1,1,0) atau tidak (nilainya diatur ke (0,0,0,0)).
Fungsi bantuan naungan built-in
Jenis data dan presisi Shader