Maju rendering jalur
Legacy Deferred rendering path

Mendefinisikan jalur rendering

Halaman ini rincian Deferred Shading 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
dalam Unity Built-in 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
. Lihat Wikipedia: pemalukan deferred untuk ikhtisar teknis pengantar pencukur.

Overview

Ketika menggunakan pencukur yang rusak, tidak ada batasan pada jumlah lampu yang dapat mempengaruhi GameObjectObjek mendasar dalam adegan Unity, yang dapat mewakili karakter, props, pemandangan, kamera, waypoints, dan banyak lagi. Fungsi GameObject didefinisikan oleh Komponen yang melekat padanya. More info
Lihat di Glossary
. Semua lampu dievaluasi per-piksel, yang berarti bahwa mereka semua berinteraksi dengan benar dengan normal mapsJenis tekstur Peta Bump yang memungkinkan Anda untuk menambahkan detail permukaan seperti benjolan, alur, dan goresan ke model yang menangkap cahaya seolah-olah mereka diwakili oleh geometri nyata.
Lihat di Glossary
, dll. Selain itu, semua lampu bisa memiliki cookie dan bayangan.

Pencukur rusak memiliki keunggulan bahwa overhead pemrosesan pencahayaan proporsional dengan jumlah pixelsUnit terkecil dalam gambar komputer. Ukuran piksel tergantung pada resolusi layar Anda. Pencahayaan pixel dihitung pada setiap piksel layar. More info
Lihat di Glossary
cahaya bersinar. Ini ditentukan oleh ukuran volume cahaya dalam SceneAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
Lihat di Glossary
terlepas dari berapa banyak GameObjects itu menerangi. Oleh karena itu, kinerja dapat ditingkatkan dengan menjaga lampu kecil. Mendefinisikan shading juga memiliki perilaku yang sangat konsisten dan dapat diprediksi. Efek setiap cahaya dikomputasikan per-piksel, sehingga tidak ada komputasi pencahayaan yang memecah pada segitiga besar.

Di sisi bawah, pencukur deferred tidak memiliki dukungan nyata untuk anti-aliasing dan tidak dapat menangani semi-transparan GameObjects (sebagai yang diberikan menggunakan rendering forward). Tidak ada dukungan untuk bendera Bayangan Receive MeshGrafik utama primitif Unity. Mesh membuat sebagian besar dunia 3D Anda. Unity mendukung mesh poligon triangulat atau Quadrangulasi. Nurbs, Nurms, permukaan Subdiv harus dikonversi ke poligon. More info
Lihat di Glossary
dan culling masksMemungkinkan Anda untuk memasukkan atau membatasi objek untuk diberikan oleh Kamera, dengan Layer.
Lihat di Glossary
hanya didukung dengan cara terbatas. Anda hanya dapat menggunakan hingga empat masker. Itu, culling layer maskNilai yang menentukan lapisan yang termasuk atau dikecualikan dari operasi, seperti rendering, tabrakan atau kode Anda sendiri. More info
Lihat di Glossary
Anda setidaknya harus mengandung semua lapisan minus empat lapisan sewenang-wenang, jadi 28 dari 32 lapisan harus diatur. Jika Anda mendapatkan artefak grafis.

Requirements

Ini membutuhkan kartu grafis dengan Multiple Render Target (MRT), ShaderProgram yang berjalan di GPU. More info
Lihat di Glossary
Model 3.0 (atau nanti) dan dukungan untuk Kedalaman render texturesJenis Tekstur khusus yang diciptakan dan diperbarui pada runtime. Untuk menggunakannya, pertama membuat Tekstur Render baru dan menunjuk salah satu Kamera Anda untuk membuatnya. Kemudian Anda dapat menggunakan Tekstur Render dalam Bahan seperti Tekstur biasa. More info
Lihat di Glossary
. Kebanyakan kartu grafis PC dibuat setelah 2006 mendukung pencukur yang rusak, dimulai dengan GeForce 8xxx, Radeon X2400, Intel G45.

Di ponsel, pencukur deferred didukung pada semua perangkat yang berjalan setidaknya OpenGL ES 3.0.

Sitemap rendering yang rusak tidak didukung ketika menggunakan proyeksi orografi. Jika mode proyeksi Note: diatur ke Orthographic, Kamera jatuh kembali ke rendering Forward.CameraKomponen yang menciptakan gambar sudut pandang tertentu di tempat kejadian Anda. Output ditarik ke layar atau ditangkap sebagai tekstur. More info
Lihat di Glossary
’s projection mode is set to Orthographic, the Camera falls back to Forward rendering.

Pertimbangan kinerja

overhead rendering lampu real-time dalam pencukur deferred proporsional dengan jumlah piksel yang diterangi oleh cahaya dan not tergantung pada kompleksitas Adegan. Jadi lampu titik kecil atau lampu spot sangat murah untuk membuat dan jika mereka sepenuhnya atau sebagian dikosongkan oleh adegan GameObjects maka mereka bahkan lebih murah.

Tentu saja, lampu dengan bayangan jauh lebih mahal daripada lampu tanpa bayangan. Dalam pencukur yang rusak, GameObjects bayangan masih perlu diberikan sekali atau lebih untuk setiap lampu bayangan-casting. Selanjutnya, naungan pencahayaan yang menerapkan bayangan memiliki overhead rendering yang lebih tinggi daripada yang digunakan ketika bayangan dinonaktifkan.

Detail implementasi

Objek dengan Shaders yang tidak mendukung pencukur yang rusak diberikan setelah pencukur yang rusak selesai, menggunakan jalur 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
.

Tata letak default dari target render (RT0 - RT4) di G-buffer tercantum di bawah ini. Jenis data ditempatkan di berbagai saluran setiap target render. Saluran yang digunakan ditunjukkan pada orang tua.

  • RT0, format ARGB32: Warna diffuse (RGB), occlusion (A).
  • RT1, format ARGB32: Specular colorWarna sorotan specular.
    Lihat di Glossary
    (RGB), kekasaran (A).
  • RT2, format ARGB21010101010: Ruang dunia normal (RGB), tidak digunakan (A).
  • RT3, ARGB2101010 (non-HDR) atau format ARGBHalf (HDR): Emisi + pencahayaan + 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
    + penyangga reflection probesKomponen rendering yang menangkap pandangan bulat dari sekitarnya di semua arah, seperti kamera. Gambar yang ditangkap kemudian disimpan sebagai kubus yang dapat digunakan oleh benda dengan bahan reflektif. More info
    Lihat di Glossary
    .
  • Kedalaman +Stencil bufferSebuah toko memori yang memegang nilai per-piksel 8-bit. Dalam Unity, Anda dapat menggunakan penyangga stensil untuk piksel bendera, dan kemudian hanya render ke piksel yang melewati operasi stensil. More info
    Lihat di Glossary
    .

Jadi tata letak G-buffer default adalah 160 bit / piksel (non-HDR) atau 192 bit / piksel (HDR).

Jika menggunakan mode Shadowmask atau Jarak Shadowmask untuk pencahayaan campuran, target kelima digunakan:

  • RT4, format ARGB32: Nilai oklusi cahaya (RGBA).

Dan dengan demikian tata letak G-buffer adalah 192 bit / piksel (non-HDR) atau 224 bit / piksel (HDR).

Jika perangkat keras tidak mendukung lima penargetan render bersamaan maka benda-benda yang menggunakan masker bayangan akan jatuh ke jalur rendering ke depan. Emission+lighting buffer (RT3) secara logarithmically dikodekan untuk memberikan jangkauan dinamis yang lebih besar daripada biasanya dimungkinkan dengan tekstur ARGB32, ketika Kamera tidak menggunakan HDRkisaran dinamis tinggi
Lihat di Glossary
.

Perhatikan bahwa ketika Kamera menggunakan rendering HDR, tidak ada penargetan render terpisah yang diciptakan untuk Penyangga Emission +lighting (RT3); bukan penargetan render yang diberikan Kamera ke dalam (yang ada, yang dilewatkan pada efek gambar) digunakan sebagai RT3.

G-Buffer pass

G-buffer lulus renders setiap GameObject sekali. Diffuse dan warna-warna specular, kelancaran permukaan, ruang dunia normal, dan emisi + ambient + refleksi + lightmaps diberikan ke tekstur G-buffer. Tekstur G-buffer setup sebagai sifat naungan global untuk akses selanjutnya oleh naungan (KameraGBufferTexture0 ..CameraGBufferTexture3 nama).

Lighting pass

Pencahayaan melewati pencahayaan computes berdasarkan G-buffer dan kedalaman. Pencahayaan bersaing di ruang layar, sehingga waktu yang diperlukan untuk memproses independen dari kompleksitas Adegan. Pencahayaan ditambahkan ke penyangga emisi.

Lampu Titik dan Lampu Spot yang tidak melintasi pesawat dekat Kamera diberikan sebagai bentuk 3D, dengan uji penyangga Z terhadap Adegan diaktifkan. Ini membuat sebagian atau penuh occluded Point Lights dan Spot Lights sangat murah untuk render. Lampu Directional dan Lampu Point atau Spot yang melintasi pesawat dekat diberikan sebagai layar penuh quadsObjek primitif yang menyerupai pesawat tetapi tepinya hanya satu unit panjang, hanya menggunakan 4 simpul, dan permukaan berorientasi pada pesawat XY ruang koordinat lokal. More info
Lihat di Glossary
.

Jika cahaya memiliki bayangan diaktifkan maka mereka juga dirender dan diterapkan di lewat ini. Perhatikan bahwa bayangan tidak datang untuk “bebas”; kasir bayangan perlu diberikan dan warna cahaya yang lebih kompleks harus diterapkan.

Satu-satunya model pencahayaan yang tersedia adalah Standar. Jika model yang berbeda ingin Anda dapat memodifikasi lampu melewati naungan, dengan menempatkan versi dimodifikasi dari internal-DeferredShading. file naungan dari ke dalam folder bernama "Resources" di folder "Assets". Kemudian buka pengaturan Graphics (menu: Edit > Project Settings, lalu klik kategori Grafik). Mengubah dropdown “Deferred” ke “Custom Shader”. Kemudian ubah opsi Shader yang muncul ke naungan yang Anda gunakan.


  • 2017–06–08 Sitemap

  • Mode cahaya (ShadowmaskTekstur yang berbagi tata letak UV yang sama dan resolusi dengan peta cahaya yang sesuai. More info
    Lihat di Glossary
    dan Distance ShadowmaskVersi mode pencahayaan Shadowmask yang mencakup bayangan berkualitas tinggi yang dilemparkan dari GameObjects statis ke GameObject dinamis. More info
    Lihat di Glossary
    ) ditambahkan di 5.6

Maju rendering jalur
Legacy Deferred rendering path