Merender cermin palsu

Aug 31 2020

Saya mencoba mencari cara untuk memiliki cermin palsu dalam adegan saya.

Karakter A berjalan di dekat cermin di dinding, yang seharusnya mencerminkan ruangan dan segala isinya, kecuali Karakter A. Bukan Karakter A, karakter B.

Jadi, pada dasarnya, saya menginginkan permukaan reflektif yang sederhana, tetapi:

  • Karakter A tidak boleh terlihat dalam apa yang dipantulkan permukaan. Refleksi harus dirender seolah-olah Karakter A tidak ada dalam adegan
  • Karakter B akan ada di adegan, tetapi hanya terlihat di permukaan reflektif, bukan di dunia itu sendiri.

Di sini, grafik kasar untuk menunjukkan apa yang saya maksud: D

Grafik kurang kasar di sini:

Apakah ini mungkin dengan Blender? Saya terbiasa dengan semua fungsi yang paling umum, tetapi saya tidak dapat memikirkan apa pun yang dapat mencapai ini. Apakah ada properti data yang bisa saya atur? Apakah ada pengubah yang akan mencapainya? Tipuan probe refleksi?

Saya bermaksud menggunakan Eevee untuk rendering, tetapi jika Cycles mencapai ini dengan lebih baik, saya dapat beralih.

EDIT: Tentu saja saya dapat memilih untuk tidak menggunakan permukaan reflektif tetapi transmisif dan hanya memodelkan isi cermin di belakang permukaan. Jadi alih-alih melakukan refleksi sama sekali, saya hanya akan menyalin dan mencerminkan geometri dan melakukan semuanya secara manual, tetapi 1) itu banyak pekerjaan, 2) sebenarnya bukan jawaban untuk pertanyaan teknis yang saya tanyakan.

Jawaban

18 lemon Aug 31 2020 at 07:16

Anda dapat menggunakan "Apakah sinar refleksi" keluaran dari "Jalur cahaya" node dan menghubungkannya ke masukan alfa dari "Prinsip shader" .

Ini akan bekerja untuk Eevee dan Cycles. Untuk Eevee Anda perlu menyetel "Blend mode" ke alpha hash dalam pengaturan material.

Untuk yang terpantul di cermin tetapi tidak terlihat di luarnya:

Untuk yang hanya terlihat di luar cermin:

Untuk Eevee, setel kedua objek ke hash alfa di setelan material:

9 moonboots Aug 31 2020 at 07:10

Anda harus menggunakan node Input> Light Path sebagai faktor antara material objek dan node Transparan .

Untuk kubus hijau Anda, gunakan keluaran Is Glossy Ray (tidak terlihat di cermin):

Untuk kubus merah gunakan keluaran Is Camera Ray (hanya terlihat di cermin):