Format Tekstur
Mipmaps

Direkomendasikan, default, dan format tekstur yang didukung, oleh platform

Halaman ini berisi informasi berikut:

Halaman ini tidak mengandung informasi tentang platform konsol. Untuk informasi tentang platform konsol, lihat dokumentasi spesifik platform.

Untuk gambaran format tekstur, lihat Format Tekstur. Untuk informasi tentang pengaturan impor tekstur dan cara mengatur overrides spesifik platform per-teks, lihat Pengaturan impor tekstur. Beberapa pengaturan impor tekstur juga dapat overridden global pada Membangun Pengaturan, sebagian besar untuk mempercepat waktu iterasi selama perkembangan.

Terminology

Halaman ini menggunakan terminologi berikut:

  • Bits per pixelThe smallest unit in a computer image. Pixel size depends on your screen resolution. Pixel lighting is calculated at every screen pixel. More info
    See in Glossary
    (bpp)
    adalah jumlah penyimpanan yang diperlukan untuk pixel tekstur tunggal. Tekstur dengan nilai bpp yang lebih rendah memiliki ukuran yang lebih kecil pada disk dan memori. Nilai bpp yang lebih rendah juga berarti bahwa GPU dapat menyimpan lebih banyak piksel dalam cachenya, yang menghasilkan akses tekstur yang lebih cepat.
  • LDR (Low Dynamic Range) mengacu pada gambar paling khas di mana warna secara konseptual antara nilai 0,0 (hitam) dan 1.0 (putih). Mayoritas file gambar (seperti PNG dan JPG) memiliki rentang dinamis rendah.
  • HDRkisaran dinamis tinggi
    Lihat di Glossary
    (High Dynamic Range) mengacu pada format gambar dan tekstur khusus di mana warna dapat memiliki kisaran lebih tinggi dari 0 melalui 1. Format file gambar seperti .exr atau .hdr sering digunakan untuk data gambar HDR. Pada runtime dan pada GPU, ada beberapa format HDR, trading off akurasi, kisaran dan penggunaan memori.
  • RGB adalah model warna di mana merah, hijau dan biru menggabungkan untuk mereproduksi array warna.
  • RGBA adalah versi RGB dengan saluran alfa, yang mendukung campuran dan perubahan opacity.
  • Variable bit rate (VBR) berarti bahwa bit per pixel bukan nilai tetap, dan tergantung pada konten sebenarnya. VBR hanya berlaku untuk ukuran Crunch compression, dan hanya tekstur pada disk. Ukuran dalam memori sama seperti ketika menggunakan format tekstur yang mendasari (misalnya, RGB Compressed DXT1 untuk RGB Crunched DXT1).

Format tekstur yang disarankan, oleh platform

Desktop

Untuk perangkat dengan DirectX 11 atau GPU kelas yang lebih baik, di mana dukungan untuk format BC7 dan BC6H dijamin tersedia, pilihan yang disarankan dari format kompresi adalah: tekstur RGB - DXT1 pada empat bit / piksel. Tekstur RGBA - BC7 (kualitas lebih tinggi, lebih lambat untuk kompres) atau DXT5 (lebih cepat untuk kompres), baik pada delapan bit / piksel. Tekstur HDR - BC6H pada delapan bit / piksel. Jika Anda perlu mendukung DirectX 10 kelas GPU di PC (NVIDIA GPUs sebelum 2010, AMD sebelum 2009, Intel sebelum 2012), maka DXT5 bukan BC7 akan disukai, karena GPU ini tidak mendukung BC7 atau BC6H.

Lihat Tabel referensi format tekstur yang didukung untuk informasi rinci tentang semua format yang didukung.

iOS dan tvOS

Untuk perangkat Apple yang menggunakan chip A8 (2014) atau di atas, ATSC adalah format tekstur yang disarankan untuk tekstur RGB dan RGBA. Format ini memungkinkan Anda untuk memilih antara kualitas tekstur dan ukuran pada tingkat granular: semua cara dari delapan bit / piksel (4x4 ukuran blok) ke 0,89 bit / piksel (12x12 ukuran blok). Jika dukungan untuk perangkat yang lebih tua diperlukan, atau Anda ingin kompresi Crunch tambahan, maka perangkat Apple mendukung format ETC / ETC2 dimulai dengan chip A7 (2013). Untuk perangkat yang lebih tua, PVRTC adalah format untuk digunakan. Di iOS Anda dapat mengkonfigurasi format tekstur default di Pengaturan PemainPengaturan yang memungkinkan Anda mengatur berbagai pilihan khusus pemain untuk permainan akhir yang dibangun oleh Unity. More info
Lihat di Glossary
. PVRTC memberi Anda kompatibilitas yang paling luas. ASTC lebih disukai, tetapi tidak didukung pada perangkat A7 (perangkat logam pertama) dan akan dibongkar pada runtime.

Lihat Tabel referensi format tekstur yang didukung untuk informasi rinci tentang semua format yang didukung.

Android

Tekstur format dukungan pada Android rumit. Anda mungkin perlu membangun beberapa versi aplikasi dengan sub-target yang berbeda.

Anda dapat memilih format default di Pengaturan Pemain. Pilihan Anda adalah ASTC, ETC2 dan ETC (ETC1 untuk RGB, ETC2 untuk RGBA). Lihat Pengaturan kompresi tekstur untuk rincian lebih lanjut tentang bagaimana pengaturan yang berbeda berinteraksi.

Untuk tekstur LDR RGB dan RGBA, GPU Android paling modern yang mendukung OpenGL ES 3.1 atau Vulkan juga mendukung format ASTC, termasuk: Qualcomm GPUs sejak Adreno 4xx / Snapdragon 415 (2015), ARM GPUs sejak Mali T624 (2012), NVIDIA GPUs sejak Tegra K1 (2014), PowerVR GPUs sejak GX6250 (2014).

Jika Anda memerlukan dukungan untuk perangkat yang lebih tua, atau Anda ingin kompresi Crunch tambahan, maka semua GPU yang menjalankan Vulkan atau OpenGL ES 3.0 mendukung format ETC2. Kualitas gambar yang dihasilkan cukup tinggi, dan mendukung data tekstur satu komponen. OpenGL ES 2 perangkat tidak mendukung format ETC2, sehingga Unity menekan tekstur pada runtime ke format ETC2 fallback menentukan. Untuk perangkat yang lebih tua, biasanya hanya format ETC tersedia. Kekurangan adalah bahwa tidak ada dukungan saluran alfa langsung. Untuk SpritesObjek grafis 2D. Jika Anda digunakan untuk bekerja di 3D, Sprites pada dasarnya hanya tekstur standar tetapi ada teknik khusus untuk menggabungkan dan mengelola tekstur sprite untuk efisiensi dan kenyamanan selama perkembangan. More info
Lihat di Glossary
, Unity menawarkan pilihan untuk menggunakan kompresi ETC1 dengan membagi tekstur menjadi dua tekstur ETC1: satu untuk RGB, satu untuk alfa. Untuk mengaktifkan ini, aktifkan opsi Kanal spesifik Android untuk Tekstur saat mengimpor Atlas AsniTekstur yang terdiri dari beberapa tekstur yang lebih kecil. Juga disebut sebagai atlas tekstur, sprite gambar, sprite sheet atau tekstur dikemas. More info
Lihat di Glossary
. Sampel sprite shaderProgram yang berjalan di GPU. More info
Lihat di Glossary
kedua tekstur dan menggabungkannya menjadi hasil akhir.

Untuk tekstur HDR, ASTC HDR adalah satu-satunya format terkompresi yang tersedia di perangkat Android. ASTC HDR memerlukan dukungan Vulkan atau GL_KHR_texture_compression_astc_hdr. ASTC adalah format yang paling fleksibel. Jika perangkat tidak mendukung ASTC HDR tekstur terdekompresi pada runtime ke RGB9e5 atau RGBA setengah, tergantung pada penggunaan saluran alfa.

Untuk perangkat yang tidak mendukung ASTC HDR, semua perangkat yang menjalankan Vulkan, Logam, atau dukungan OpenGL ES 3.0 RGB9e5, yang cocok untuk tekstur tanpa saluran alfa. Jika saluran alfa atau dukungan yang lebih luas diperlukan, gunakan RGBA setengah. Ini membutuhkan dua kali lebih banyak memori sebagai RGB9e5.

Lihat Tabel referensi format tekstur yang didukung untuk informasi rinci tentang semua format yang didukung.

Format tekstur default, oleh platform

Tabel berikut menunjukkan format default yang digunakan untuk setiap platform.

Platform Color model None Normal quality (default) High quality Low quality (higher performance)
Windows, Linux, macOS RGB RGB 24 bit RGB Compressed DXT1 RGB (A) terkompresi BC7 RGB Compressed DXT1
RGBA Datasheet PDF RGBA terkompresi DXT5 RGB (A) terkompresi BC7 RGBA terkompresi DXT5
HDR Login Login RGB Compressed BC6H RGB Compressed BC6H RGB Compressed BC6H
WebGLA JavaScript API that renders 2D and 3D graphics in a web browser. The Unity WebGL build option allows Unity to publish content as JavaScript programs which use HTML5 technologies and the WebGL rendering API to run Unity content in a web browser. More info
See in Glossary
RGB RGB 24 bit RGB Compressed DXT1 RGB Compressed DXT1 RGB Compressed DXT1
RGBA Datasheet PDF RGBA terkompresi DXT5 RGBA terkompresi DXT5 RGBA terkompresi DXT5
Android (configurable) RGB RGB 24 bit RGBA Compressed ASTC 6x6 blok
RGB Sanyo - Panasonic ETC Terkompresi
RGB Compressed ETC

RGB Compressed ETC2
RGB Compressed ETC

RGB Compressed ETC2
RGB Compressed ETC
RGBA Datasheet PDF RGBA Compressed ASTC 6x6 blok
RGBA Terkompresi ETC2

RGBA Compressed ETC2

RGBA Compressed ETC2
iOS (configurable) RGB RGB 24 bit RGBA Compressed ASTC 6x6 blok
RGB PVRTC terkompresi 4 bit

RGB Compressed PVRTC 4 bits

RGB Compressed PVRTC 2 bits
RGBA Datasheet PDF RGBA Compressed ASTC 6x6 blok
RGBA PVRTC terkompresi 4 bit

RGBA Compressed PVRTC 4 bits

RGBA Compressed PVRTC 2 bits
tvOS RGB RGB 24 bit RGBA terkompresi ASTC 6x6 blok RGBA terkompresi ASTC 4x4 blok RGBA terkompresi ASTC 8x8 blok
RGBA Datasheet PDF RGBA terkompresi ASTC 6x6 blok RGBA terkompresi ASTC 4x4 blok RGBA terkompresi ASTC 8x8 blok
Default RGBA Datasheet PDF RGBA 16 bit RGBA 16 bit RGBA 16 bit

Tekstur format, dengan kualitas

Tabel di bawah ini menunjukkan setiap format yang tersedia dalam Unity, dan rincian kualitas mereka.

Texture format Description Channels Quality Bits per pixel Size of 1024x1024 texture, in MB
RGB(A) Compressed BC7 Compressed RGB atau RGBA RGB atau RGBA High 8 1
RGBA Crunched DXT5 RGBA terkompresi, dengan kompresi Crunch on-disk tambahan RGBA Rendah ke media Variable Variable
RGBA 64 bit Uncompressed RGBA, presisi tinggi RGBA Sangat tinggi 64 8
RGBA 32 bit RGBA yang tidak terkompresi RGBA High 32 4
RGBA 16 bit Quantized RGBA RGBA Medium 16 g 2
RGB Compressed DXT1 Compressed RGB (juga dikenal sebagai BC1) RGB Medium 4 Temperatur
RGB Crunched DXT1 RGB terkompresi, dengan kompresi Crunch on-disk tambahan RGB Rendah ke media Variable Variable
RGB 48 bit Uncompressed RGB, presisi tinggi. Terkonversi ke RGBA 64 bit untuk GPU RGB Sangat tinggi 48 disk, 64 GPU 6 disk, 8 GPU
RGB 24 bit RGB yang tidak terkompresi. Terkonversi ke RGBA 32 bit untuk GPU RGB High 24 disk, 32 GPU 3 disk, 4 GPU
RGB 16 bit tlhIngan RGB Medium 16 g 2
RG Compressed BC5 Terkompresi dua saluran (RG) RG High 8 1
RG 32 bit Uncompressed dua saluran (RG), presisi tinggi RG Sangat tinggi 32 4
R Compressed BC4 Saluran tunggal terkompresi (R) R High 4 Temperatur
R 8 Saluran tunggal yang tidak terkompresi (R) R High 8 1
R 16 bit Saluran tunggal yang tidak terkompresi (R), presisi tinggi R Sangat tinggi 16 g 2
Alpha 8 Saluran tunggal yang tidak terkompresi (A) A High 8 1
RGBA Half HDR, setengah presisi (FP16) RGBA, -64k ke kisaran + 64k RGBA High 64 8
RGB Compressed BC6H HDR, RGB terkompresi, kisaran 0 hingga + 64k RGB High 8 1
RGB9e5 32 Bit Shared Exponent Float HDR, RGB yang dikuantisasi, kisaran 0 hingga + 64k RGB Medium 32 4
RGB(A) Compressed ASTC RGB atau RGBA terkompresi, ukuran & kualitas tergantung pada ukuran blok RGB atau RGBA Rendah ke tinggi 12x12: 0.89, 10x10: 1.28, 8x8: 2, 6x6: 3.56, 5x5: 5.12, 4x4: 8 12x12: 0,11, 10x10: 0,16, 8x8: 0,25, 6x6: 0,45, 5x5: 0,64, 4x4: 1.0
RGBA Compressed ETC2 Compressed RGBA RGBA Medium 8 1
RGBA Crunched ETC2 RGBA terkompresi, dengan kompresi Crunch on-disk tambahan RGBA Rendah ke media Variable Variable
RGB + 1-bit Alpha Compressed ETC2 4 bits RGBA terkompresi, dengan nilai alfa sepenuhnya buram atau transparan penuh RGBA Medium 4 Temperatur
RGBA Compressed PVRTC 4 bits RGBA terkompresi, tekstur yang diperlukan untuk persegi RGBA Medium 4 Temperatur
RGBA Compressed PVRTC 2 bits RGBA terkompresi, tekstur yang diperlukan untuk persegi RGBA Low 2 Temperatur
RGB Compressed ETC2 Compressed RGB RGB Medium 4 Temperatur
RGB Compressed ETC Compressed RGB RGB Low 4 Temperatur
RGB Crunched ETC RGB terkompresi, dengan kompresi Crunch on-disk tambahan RGB Low Variable Variable
RGB Compressed PVRTC 4 bits RGB terkompresi, tekstur yang diperlukan untuk persegi RGB Medium 4 Temperatur
RGB Compressed PVRTC 2 bits RGB terkompresi, tekstur yang diperlukan untuk persegi RGB Low 2 Temperatur
RG Compressed EAC 8 bit Terkompresi dua saluran (RG) RG High 8 1
R Compressed EAC 4 bit Saluran tunggal terkompresi (R) R High 4 Temperatur
RGB(A) Compressed ASTC HDR HDR, RGB terkompresi atau RGBA, ukuran & kualitas tergantung pada ukuran blok RGB atau RGBA Rendah ke Tinggi 12x12: 0.89, 10x10: 1.28, 8x8: 2, 6x6: 3.56, 5x5: 5.12, 4x4: 8 12x12: 0,11, 10x10: 0,16, 8x8: 0,25, 6x6: 0,45, 5x5: 0,64, 4x4: 1.0

Format tekstur yang didukung, oleh platform

Tabel di bawah ini menunjukkan setiap format tekstur yang tersedia dalam Unity, dan platform yang mendukungnya.

Texture format Windows macOS Linux Android iOS & tvOS WebGL (Desktop Browsers) WebGL (iOS and Android browser)
RGB(A) Compressed BC7 g (1) g (1) yes no no yes (1) no
RGBA Compressed DXT5 yes yes yes g (3) no parsial (2) no
RGBA Crunched DXT5 yes yes yes g (3) no parsial (2) no
RGBA 64 bit yes yes yes parsial (6) yes no no
RGBA 32 bit yes yes yes yes yes yes yes
RGBA 16 bit yes yes yes yes yes yes yes
RGB Compressed DXT1 yes yes yes g (3) no parsial (2) no
RGB Crunched DXT1 yes yes yes g (3) no parsial (2) no
RGB 48 bit yes yes yes parsial (6) yes no no
RGB 24 bit yes yes yes yes yes yes yes
RGB 16 bit yes yes yes yes yes yes yes
RG Compressed BC5 yes yes yes no no yes no
RG 32 bit yes yes yes parsial (6) yes no no
R Compressed BC4 yes yes yes no no yes no
R 8 yes yes yes parsial (5) yes parsial (5) parsial (5)
R 16 bit yes yes yes parsial (6) parsial (6) yes (14) g (14)
Alpha 8 yes yes yes yes yes yes yes
RGBA Half yes yes yes parsial (7) yes parsial (7) parsial (7)
RGB Compressed BC6H g (1) g (1) yes no no yes (1) no
RGB9e5 32 Bit Shared Exponent Float yes yes yes parsial (4) yes parsial (4) parsial (4)
RGB(A) Compressed ASTC no no no parsial (8) g (10) no mei (13 & 10)
RGBA Compressed ETC2 no no no parsial (9) yes no yes
RGBA Crunched ETC2 no no no parsial (9) yes no yes
RGB + 1-bit Alpha Compressed ETC2 4 bits no no no parsial (9) yes no yes
RGBA Compressed PVRTC 4 bits no no no g (12) yes no no
RGBA Compressed PVRTC 2 bits no no no g (12) yes no no
RGB Compressed ETC2 no no no parsial (9) yes no yes
RGB Compressed ETC no no no yes yes no yes
RGB Crunched ETC no no no yes yes no yes
RGB Compressed PVRTC 4 bits no no no g (12) yes no no
RGB Compressed PVRTC 2 bits no no no g (12) yes no no
RG Compressed EAC 8 bit no no no parsial (9) yes no yes
R Compressed EAC 4 bit no no no parsial (9) yes no yes
RGB(A) Compressed ASTC HDR no no no parsial (11) parsial (11) no parsial (11)

Notes:

  1. Kecuali pada tingkat pra-DX11 GPU, atau macOS ketika menggunakan WebGL atau OpenGL. Ketika tidak didukung, tekstur BC6H terdekompresi ke RGBA setengah, dan BC7 terdekompresi ke RGBA32 pada waktu beban.
  2. Dengan rendering linier pada browser web yang tidak mendukung sRGB DXT, tekstur terdekompresi ke RGBA32 pada waktu beban.
  3. Kecuali pada perangkat Android dengan NVIDIA Tegra GPU; ini mendukung format DXT /BC.
  4. Kecuali pada OpenGL ES 2.0 / WebGL 1.
  5. Ketika pada OpenGL ES 2.0 / WebGL 1: membutuhkan dukungan ekstensi GL_EXT_texture_rg.
  6. Needs GL_EXT_texture_norm16 atau kemampuan Vulkan yang sesuai di Android.
  7. Ketika pada OpenGL ES 2.0 / WebGL 1: membutuhkan dukungan ekstensi OES_texture_half_float.
  8. Membutuhkan ekstensi Vulkan atau Facebook Twitter Google Plus Pinterest Email OpenGL ES.
  9. Kecuali pada OpenGL ES 2.0; ada tekstur ETC2 terdekompresi ke format ETC2 fallback menentukan pada Pengaturan Build Android atau pada tab Android untuk Overrides spesifik platform.
  10. Kecuali pada perangkat chip Apple A7 (2013).
  11. Android: membutuhkan ekstensi GL_KHR_texture_compression_astc_hdr. iOS: membutuhkan A13 atau kemudian chip (2019). WebGL: membutuhkan ekstensi WebGL_compressed_texture_astc dan Profil HDR. Ketika tidak didukung, tekstur terdekompresi ke format RGB9E5, kehilangan saluran alfa.
  12. Kecuali pada perangkat Android dengan Imagination PowerVR GPU; ini mendukung format PVRTC.
  13. Membutuhkan ekstensi WebGL_compressed_texture_astc.
  14. Membutuhkan ekstensi EXT_texture_norm16 dan WebGL 2.

Format tekstur yang didukung di WebGL

Tabel berikut menyediakan format tekstur yang didukung untuk WebGL.

Format Descritpion
ASTC Adaptif Scalable Texture Compression (ASTC) adalah format kompresi tekstur lossy canggih. Banyak digunakan untuk peramban seluler / perangkat.
DXT Juga dikenal sebagai Kompresi Tekstur S3 (S3TC), DXT terutama digunakan untuk browser desktop dan perangkat.
ETC2 Ericsson Texture Compression (ETC) adalah format kompresi tekstur lossy yang lebih tua, kualitas lebih rendah daripada ASTC, digunakan untuk peramban seluler / perangkat.
Format Tekstur
Mipmaps