Mengapa node Alpha Over membuat gambar saya lebih cerah?

Dec 11 2020

Dalam proyek Siklus di Blender 2.9, saya ingin semua objek menerima cahaya putih dari lingkungan, jadi saya mengatur Properti Dunia -> Permukaan -> Warna menjadi putih.

Tapi saya ingin latar belakang hasil akhir menjadi biru tua, jadi saya memeriksa Render Properties -> Film -> Transparent, dan menggunakan node Alpha Over di kompositor untuk mendapatkan latar belakang biru saya.

Ini adalah gambar asli yang diberikan dengan latar belakang transparan:

Dan ini adalah gambar dengan latar belakang biru yang digabungkan dalam:

Seperti yang Anda lihat, mode Alpha Over membuat gambar lebih cerah. Tapi saya tidak menginginkan itu: Saya hanya ingin gambar asli dengan latar belakang biru.

Apa yang saya coba:

  1. Memeriksa "Konversi Premul" (tidak diperlukan, karena gambar yang dirender sudah berisi saluran alfa yang telah ditambahkan sebelumnya)
  2. Mengubah "Wajah" secara manual (yang memiliki perilaku tidak terduga: diperlukan nilai yang sangat rendah (0,0001) untuk membuat latar depan transparan. Saya berharap latar depan menjadi 50% transparan pada Fac = 0,5)
  3. Hubungkan output Alpha dari node Render Layers ke input Fac dari node Alpha Over (tidak diperlukan, karena saluran alpha seharusnya sudah ada dalam gambar itu sendiri)
  4. Menyetel kecerahan lampu Matahari yang juga ada dalam pemandangan saya, ke 0. Semua ini tidak menyelesaikan masalah saya.

Pertanyaan saya: Bagaimana cara mendapatkan gambar yang dirender di depan latar belakang biru, tanpa membuat gambar yang dirender lebih cerah?

Bantuan apa pun sangat dihargai!

Jawaban

1 GordonBrinkmann Dec 11 2020 at 19:31

Satu hal yang dapat Anda lakukan untuk mengurangi kecerahan yang berlebihan di bagian semi-transparan adalah dengan menggunakan Alpha Convert Node di Compositor . Letakkan di antara Render Layers dan Alpha Over dan setel ke "Straight to Premul". Ini banyak mengurangi kecerahan di area transparan.

Transparansi dalam render masih tidak akan terlihat seperti transparansi di Viewer Node .

Untuk mendapatkan hasil itu, Anda perlu menjepit nilai RGB gambar, misalnya dengan menggunakan node Color> Mix dengan Clamp diaktifkan. Kemudian Anda dapat menggandakan gambar dengan putih bersih atau menambahkan hitam murni dan kemudian output memiliki semua piksel cerah yang dijepit ke putih dan transparansi alfa berfungsi untuk itu. Masalahnya, jika Anda menginginkannya, mengapa kecerahannya begitu tinggi?

Meskipun kamu bilang, kamu mengatur kekuatan Lampu Matahari ke 0 dan bahkan itu tidak banyak berubah, file yang kamu berikan memiliki matahari dengan kekuatan 1000. Di Blender, matahari bahkan dengan kekuatan 10 sangat terang.

Jadi rendering file Anda dengan kubus dan matahari 1000 menghasilkan area semi-transparan di sekitar kubus, yang memiliki nilai RGB di atas 150 atau bahkan 200 pada transparansi 60% -80%, yang memberikan piksel jauh melampaui warna putih. Dan itulah mengapa semuanya jauh lebih cerah dibandingkan tampilan Latar Belakang.

Anda harus mengatur matahari jauh lebih rendah untuk mendapatkan hasil yang Anda inginkan. Jika objek Anda terlihat abu-abu dan bukan putih dan itulah mengapa Anda menaikkan nilai matahari, coba atur View Transform> Standard daripada Filmic di Color Management .