Alpha yang bersih untuk mengintegrasikan render Anda
Gambar transparan siap ketika tepinya tetap meyakinkan pada latar yang direncanakan, setelah diimpor dan diubah ukurannya di perangkat lunak tujuan. Mulailah dengan memeriksa interpretasi alpha, lalu warna dan efek. Pola kotak-kotak yang bersih tidak cukup: pola itu bisa menyembunyikan frinji terang, tepi gelap, atau pantulan yang terpotong.
Pisahkan transparansi dari warna yang menyertainya
Kanal alpha menunjukkan kontribusi latar depan terhadap komposisi. Pada nilai nol, ia transparan; pada nilai satu, opak; nilai di antaranya berperan pada tepi yang dilembutkan dan area yang sebagian transparan. Pola kotak-kotak hanyalah bantuan tampilan. Ia bukan bagian dari gambar Anda dan tidak membuktikan bahwa file memiliki kanal yang diharapkan.
Dua konvensi mengaitkan warna dan alpha. Pada straight, yang juga disebut non-associated, warna disimpan terpisah dari cakupannya. Pada premultiplied, atau associated, warna sudah dikalikan dengan alpha. Blender menggunakan konvensi kedua untuk render dan compositing-nya. Node Alpha Convert memungkinkan perpindahan dari satu konvensi ke konvensi lainnya; operasi yang dilakukan dalam straight harus dikembalikan ke konvensi yang diharapkan pada keluaran. Manual Blender menjelaskan hal ini.
Pilihan ini bukan soal preferensi kualitas. Gambar yang sehat bisa tampak rusak jika pemutar menerapkan konvensi yang salah padanya. Identifikasi apa yang dikandung file sebelum menambahkan node konversi.
Lihat apa yang dilakukan perkalian ganda pada sebuah tepi
Mari ambil perhitungan ilustratif dalam cahaya linier, tanpa bermaksud menggambarkan piksel yang dirender. Warna straight sebuah tepi merah bernilai (0,8; 0,1; 0,1) dengan alpha 0,25. Maka warna premultiplied-nya bernilai (0,2; 0,025; 0,025). Pada latar abu-abu (0,4; 0,4; 0,4), kontribusi latar dikalikan dengan 0,75. Hasilnya bernilai (0,5; 0,325; 0,325).
Jika pemutar memperlakukan nilai yang sudah premultiplied sebagai straight, ia mengalikannya lagi dengan 0,25. Kontribusi merah berkurang: tepi menjadi lebih gelap. Sebaliknya, menghilangkan perkalian yang diharapkan dapat membuat tepi terlalu terang. Namun alpha itu sendiri bisa tampak benar dalam hitam-putih.
Demonstrasi ini menjelaskan satu keluarga frinji; ia tidak memungkinkan mendiagnosis semua cacat hanya dari tampilannya. Warna latar yang menyatu, pengelolaan warna yang salah, atau efek yang diterapkan setelah komposisi dapat menghasilkan hasil yang serupa. Simpan file asli untuk kembali ke interpretasi awal.
| Pengamatan | Pemeriksaan pertama | Yang harus dihindari |
|---|---|---|
| Tepi gelap pada latar terang | Konvensi alpha dan perkalian berulang | Mengikis seluruh tepi secara langsung |
| Garis tepi terang pada latar gelap | Interpretasi dan latar lama yang tercampur ke dalam warna | Menggelapkan seluruh objek |
| Tepi benar tetapi warna keseluruhan berbeda | Ruang warna dan transformasi | Mengubah alpha untuk memperbaiki warna |
| Cacat hanya muncul setelah pengecilan | Resampling dan urutan efek | Hanya memvalidasi pada resolusi sumber |
Siapkan keluaran transparan dan kontrak impor
Pertama, pastikan bahwa render benar-benar memiliki transparansi yang diinginkan. Latar yang terlihat menembus objek kaca tidak memiliki peran yang sama dengan latar belakang yang tidak ada. Selanjutnya, pilih keluaran yang memiliki kanal alpha dan periksa file yang disimpan, bukan hanya Render Result. Tuliskan dalam catatan penyerahan: dimensi, ruang warna, konvensi alpha yang diharapkan, dan latar tujuan.
Spesifikasi PNG mendefinisikan alpha non-premultiplied. OpenEXR secara konvensional menggunakan warna premultiplied. Konvensi ini adalah titik awal untuk pertukaran; tetap periksa eksportir dan importir yang digunakan, terutama jika perangkat lunak perantara telah menulis ulang kanalnya. Jangan mengalikan gambar secara manual untuk kedua kalinya hanya karena ekstensinya tampak ambigu. Spesifikasi PNG dan pengantar teknis OpenEXR menjelaskan modelnya secara eksplisit.
Di sisi penerima, impor salinan tanpa koreksi. Tampilkan kanal RGB dan alpha secara terpisah, lalu komposit gambar pada latar yang telah disepakati. Konversi yang beralasan harus memperbaiki tepi tanpa mengubah bagian opak secara artifisial.
Contoh: pita satin pada tiga latar
Kasus ini bersifat ilustratif; konvensi yang dijelaskan mengikuti panduan Blender 5.2 yang dikutip di atas, tanpa mengasumsikan versi tersebut telah terpasang. Pita ungu harus mengelilingi judul pada poster krem, varian hitam, dan kartu oranye. Arahan seni meminta lengkungan halus dan sedikit blur gerakan. Satu pemeriksaan pada pola kotak-kotak saja akan melewatkan dua kesulitan utama: ujung yang tertutup sebagian dan kilau satin yang sangat terang.
Siapkan tiga komposisi identik, masing-masing dengan latar polos. Periksa tepi luar, bagian dalam lengkungan, dan area tempat pita melintasi judul. Lihat pada ukuran sebenarnya, lalu pada ukuran akhir kartu. Jika garis hitam hanya muncul pada krem dan oranye, periksa alpha sebelum menyentuh mask. Jika semburat krem tetap ada pada latar hitam, cari warna yang sudah tercampur dalam gambar sumber.
Selanjutnya, lakukan pengubahan ukuran yang diminta dan buka kembali hasil ekspornya. Untuk animasi, tambahkan bagian berurutan yang pendek di sekitar gerakan paling lebar: kontur harus mempertahankan bentuknya tanpa berkedip. Pemeriksaan yang diharapkan bukanlah "tidak ada piksel semi-transparan"; piksel tersebut diperlukan untuk tepi yang halus. Kesepakatan terletak pada integrasinya yang konsisten pada ketiga latar.
Menangani pinggiran tanpa memotong subjek
Kembalilah dulu ke komposisi minimal: gambar, interpretasi masukan, latar, keluaran. Nonaktifkan sementara penajaman, halo, penyesuaian warna, dan efek lainnya. Jika tepi kembali normal, aktifkan kembali operasi satu per satu untuk menemukan tahap yang bertanggung jawab. Jangan menggabungkan koreksi otomatis dari penampil dengan konversi manual tanpa mengetahui apa yang dilakukan masing-masing.
Koreksi warna non-linear yang diterapkan pada warna yang sudah dikalikan mungkin memerlukan pengerjaan sementara dalam mode straight. Lakukan konversi ini dengan alat yang disediakan, lindungi pengembalian ke konvensi komposisi, dan periksa area alpha yang sangat rendah. Membagi sendiri dengan nilai yang mendekati nol dapat memperkuat nilai yang tidak diinginkan. Filter dekontaminasi atau perubahan mask yang ringan hanya dilakukan setelah diagnosis ini, pada salinan dan dalam batas yang disepakati untuk objek tersebut.
Terakhir, pisahkan kontur subjek dari efeknya. Bayangan kontak atau cahaya luar mungkin perlu tetap terlihat di luar siluetnya. Memperketat alpha untuk menghilangkan garis tepi dapat menghapusnya. Jika efek ini harus dapat disesuaikan, rencanakan penyerahannya dalam elemen yang disepakati dengan penerima; panduan pass compositing membantu memilihnya.
Mengetahui kapan pemotongan sederhana tidak lagi cukup
Refraksi dan pantulan bergantung pada lingkungan yang dirender. Sebuah alpha tidak menghitung ulang apa yang akan terlihat oleh kaca yang diletakkan di depan latar baru. Botol yang di-cutout bisa jadi memiliki kontur yang benar namun tetap menyimpan, di dalam kacanya, tampilan latar lama. Untuk penggantian yang besar, ujilah adegan dengan latar target atau sepakati pemisahan yang sesuai; jangan menjanjikan transparansi universal.
Sebelum persetujuan, periksa latar terang dan gelap, detail halus, efek yang melimpah keluar, dan pengubahan ukuran akhir. Jika hasilnya animasi, periksa juga kesinambungan temporalnya. Simpan referensi yang telah dikomposit dan identifikasi file transparan yang sesuai, agar penerima dapat membedakan hasil yang diharapkan dari latarnya sendiri.
Sebuah file bisa lolos pemeriksaan visual ini namun salah ditafsirkan di aplikasi lain. Catatan impor karenanya menjadi bagian dari penyerahan. Untuk selisih kontras yang memengaruhi seluruh objek, tangani ulang berkasnya pada warna yang konsisten sebelum menyempurnakan masker lebih lanjut.
Pertanyaan Anda.
Apakah PNG transparan harus diatur ke premultiplied?+
PNG menyimpan alpha non-premultiplied sesuai spesifikasinya. Perangkat lunak dapat mengonversi representasi ini secara internal. Deklarasikan input dengan benar dan hindari konversi tambahan yang tidak perlu.
Mengapa pola kotak-kotak tampak benar padahal muncul garis tepi pada latar putih?+
Pola kotak-kotak dapat menyembunyikan cacat yang kontrasnya rendah. Susun gambar dengan latar terang, latar gelap, dan warna tujuan yang sebenarnya untuk memeriksa tepinya.
Apakah alpha perlu dipertegas agar tepinya tajam?+
Tidak selalu. Piksel yang sebagian transparan berfungsi untuk tepi yang halus, blur, dan detail halus. Periksa interpretasinya sebelum melakukan erosi atau modifikasi masker apa pun.
Apakah saluran alpha memungkinkan penggantian latar belakang di balik kaca secara bebas?+
Ini tidak menghitung ulang refraksi maupun refleksi. Untuk objek transparan yang kompleks, perubahan latar dapat memerlukan render ulang atau elemen yang disiapkan secara khusus.