Ambient occlusion
Lightmapping and shaders

Lightmaps: Informasi teknis

Toko Unity 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
dengan kompresi dan skema pengkodean yang berbeda, tergantung pada platform target dan pengaturan kompresi di Jendela Pencahayaan.

Skema pengkodean

Proyek persatuan dapat menggunakan dua teknik untuk mengkodekan rentang intensitas cahaya panggang ke dalam tekstur rentang dinamis rendah ketika ini diperlukan:

  • RGBM encoding. RGBM encoding menyimpan warna di saluran RGB dan multiplier (M) di saluran alfa. Berbagai peta lampu RGBM dari 0 hingga 34.49 (52.2) di ruang linier, dan dari 0 hingga 5 di ruang gamma.

  • Double Low Dynamic Range (dLDR) encoding. pengkodean dLDR digunakan pada platform mobile dengan hanya memetakan berbagai [0, 2] ke [0, 1]. Intensitas cahaya panggang yang berada di atas nilai 2 akan dijepit. Nilai decoding dihitung dengan menggandakan nilai dari tekstur lightmap oleh 2 ketika ruang gamma digunakan, atau 4.59482 (22.2) ketika ruang linier digunakan. Beberapa platform menyimpan lightmaps sebagai dLDR karena kompresi hardware mereka menghasilkan artefak yang terlihat buruk ketika menggunakan RGBM.

Ketika Ruang Warna Linear digunakan, tekstur lightmap ditandai sebagai sRGB dan nilai akhir yang digunakan oleh shadersProgram yang berjalan di GPU. More info
Lihat di Glossary
(setelah pengambilan sampel dan decoding) akan berada di Ruang Warna Linear. Ketika warna Gamma Ruang digunakan, nilai akhir akan berada di Gamma Color Space.

Note: Ketika pengkodean digunakan, nilai-nilai yang disimpan dalam lightmaps (GPU tekstur memori) selalu di Gamma Color Space.

Fungsi naungan Decode Lightmap dari naungan UnityCG.cginc termasuk pegangan file decoding nilai lightmap setelah nilai dibaca dari tekstur lightmap dalam naungan.

Dukungan lightmap HDR

Anda dapat menggunakan HDR lightmaps pada Windows, Mac, Linux, iOS, tvOS, dan Android. Untuk mengontrol pengkodean/kompresi peta lampu untuk platform ini, pergi ke Edit > Project Settings > Player > Other Settings > Lightmap Encoding.

Memilih High Quality akan mengaktifkan dukungan lightmap HDRkisaran dinamis tinggi
Lihat di Glossary
, sedangkan Normal Quality akan beralih menggunakan pengkodean RGBM. Low Quality akan beralih ke pengkodean dLDR pada platform seluler, di platform lain itu setara dengan Normal Quality.

Ketika lightmap CompressionMetode menyimpan data yang mengurangi jumlah ruang penyimpanan yang dibutuhkan. Kompresi Tekstur, Kompresi Animasi, Kompresi Audio, Membangun Kompresi.
Lihat di Glossary
diaktifkan di Window Pencahayaan, lightmaps akan dikompresi menggunakan format kompresi BC6H pada platform desktop dan konsol. Untuk platform seluler, Unity memilih format HDR sesuai dengan tabel di bawah ini.

Keuntungan dari peta cahaya berkualitas tinggi (BC6H)

  • HDR lightmaps tidak menggunakan skema pengkodean untuk mengkodekan nilai lightmap, sehingga kisaran yang didukung hanya dibatasi oleh titik mengambang 16-bit texture formatFormat file untuk menangani tekstur selama rendering real-time oleh perangkat keras grafis 3D, seperti kartu grafis atau perangkat seluler. More info
    Lihat di Glossary
    yang berasal dari 0 hingga 65504.

  • Kualitas format BC6H lebih unggul dari pengkodean format DXT5 + RGBM, dan tidak menghasilkan setiap artefak banding warna yang dimiliki pengkodean RGBM.

  • Shaders yang perlu sampel HDR lightmaps adalah beberapa instruksi ALU lebih pendek karena tidak perlu decode nilai sampel.

  • Format BC6H memiliki persyaratan memori GPU yang sama seperti DXT5.

Berikut adalah daftar skema pengkodean dan format texture compressionPerangkat keras grafis 3D memerlukan Tekstur untuk dikompresi dalam format khusus yang dioptimalkan untuk pengambilan sampel Tekstur cepat. More info
Lihat di Glossary
mereka per platform target:

Target platform Encoding Compression - size (bits per pixel)
Standalone(PC, Mac, Linux) Datasheet PDF DXT5 / BC6H - 8 bpp
WebGLLogin API yang membuat grafis 2D dan 3D di browser web. Opsi build Unity WebGL memungkinkan Unity untuk mempublikasikan konten sebagai program JavaScript yang menggunakan teknologi HTML5 dan WebGL rendering API untuk menjalankan konten Unity di browser web. More info
Lihat di Glossary
1.0 / 2.0
RGBM DXT5 - 8 bpp
iOS POS (1) DLDR / RGBM / HDR ASTC - 3.56 bpp / ASTC - 3.56 bpp / RGB9E5 - 32 bpp
Facebook Twitter DLDR / RGBM / HDR
tvOS DLDR / RGBM / HDR ASTC - 3.56 bpp / ASTC - 3.56 bpp / RGB9E5 - 32 bpp
Android SDK (2) DLDR / RGBM / HDR ASTC - 3.56 bpp / ASTC - 3.56 bpp / ASTC HDR - 3.56 bpp
Android SDK DLDR / RGBM / HDR ETC2 RGB - 4 bpp / ETC2 RGBA - 8 bpp / ASTC HDR - 3.56 bpp
Android SDK DLDR / RGBM / HDR ETC1 RGB - 4 bpp / ETC2 RGBA - 8 bpp / ASTC HDR - 3.56 bpp

[1] Format kompresi tekstur yang digunakan untuk lightmaps pada iOS tergantung pada pengaturan Format kompresi tekstur pada Pengaturan Pemain.

[2] Format kompresi tekstur yang digunakan untuk lightmaps pada Android tergantung pada Pengaturan Pemain dan Membangun Pengaturan. Lihat Pengaturan kompresi tekstur untuk rincian lebih lanjut tentang bagaimana pengaturan ini berinteraksi.

Iluminasi Global real-time (GI)

Masukan ke sistem GI memiliki berbagai macam dan pengkodean ke output. Albedo permukaan 8-bit unsigned integer RGB di ruang gamma dan emisi adalah titik mengambang 16-bit RGB di ruang linier. Untuk memberikan masukan kustom menggunakan meta pass, lihat dokumentasi pada Lightmapping and shaders.

Tekstur output irradiance disimpan menggunakan format titik mengambang RGB9E5 bersama jika perangkat keras grafis mendukungnya, atau RGBM dengan berbagai 5 sebagai fallback. Kisaran RGB9E5 lightmaps adalah [0, 65408]. Untuk rincian pada format RGB9E5, lihat Khronos.org: EXT_texture_shared_exponent.

Lihat juga:


  • 2019–04–26 Login

  • Baked lightmaps ditambahkan dalam Unity NewIn20172

  • Dukungan lightmap HDR ditambahkan dalam Unity NewIn20173

  • Pengaturan pengkodean Lightmap untuk platform seluler ditambahkan dalam Unity NewIn20191

  • Memperbarui format kompresi tekstur lightmap untuk Android dan iOS

Ambient occlusion
Lightmapping and shaders