การแสดงกระจกปลอม

Aug 31 2020

ฉันพยายามหาวิธีมีกระจกปลอมในฉากของฉัน

ตัวละคร A เดินชนกระจกบนผนังซึ่งควรสะท้อนถึงห้องและทุกอย่างในห้องนั้นยกเว้นตัวละคร A แทนที่จะเป็นตัวละคร A จะสะท้อนถึงตัวละคร B

โดยพื้นฐานแล้วฉันต้องการพื้นผิวสะท้อนแสงที่เรียบง่าย แต่:

  • ไม่ควรมองเห็นอักขระ A ในสิ่งที่พื้นผิวสะท้อน ควรแสดงภาพสะท้อนราวกับว่าตัวละคร A ไม่อยู่ในฉาก
  • ตัวละคร B จะอยู่ในฉาก แต่มองเห็นได้ในพื้นผิวสะท้อนแสงเท่านั้นไม่ใช่ในโลก

นี่คือกราฟิกหยาบเพื่อแสดงสิ่งที่ฉันหมายถึง: D

กราฟิกหยาบน้อยลงที่นี่:

เป็นไปได้ด้วย Blender หรือไม่? ฉันคุ้นเคยกับฟังก์ชันการทำงานทั่วไปทั้งหมด แต่คิดไม่ถึงว่าจะทำอะไรได้บ้าง มีคุณสมบัติข้อมูลที่ฉันสามารถปรับแต่งได้หรือไม่? มีตัวปรับแต่งที่จะบรรลุหรือไม่? กลอุบายโพรบสะท้อน?

ฉันตั้งใจจะใช้ Eevee สำหรับการเรนเดอร์ แต่ถ้า Cycles ทำได้ดีกว่านี้ฉันสามารถเปลี่ยนได้

แก้ไข: แน่นอนฉันสามารถเลือกที่จะไม่ใช้พื้นผิวสะท้อนแสง แต่เป็นพื้นผิวที่ส่งผ่านและเพียงแค่จำลองเนื้อหาของกระจกที่อยู่ด้านหลังพื้นผิว ดังนั้นแทนที่จะมีการสะท้อนกลับเลยฉันจะแค่คัดลอกและสะท้อนรูปทรงเรขาคณิตและทำทุกอย่างด้วยตนเอง แต่ 1) เป็นงานที่ต้องทำมาก 2) ไม่ใช่คำตอบสำหรับคำถามทางเทคนิคที่ฉันถามจริงๆ

คำตอบ

18 lemon Aug 31 2020 at 07:16

คุณสามารถใช้"คือการสะท้อนเรย์"เอาท์พุทจาก"เส้นทางแสง"โหนดและเสียบเข้ากับการป้อนข้อมูลของอัลฟา"Shader จริยธรรม"

สิ่งนี้จะใช้ได้กับทั้ง Eevee และ Cycles สำหรับ Eevee คุณต้องตั้งค่า"Blend mode"เป็น alpha hashed ในการตั้งค่าวัสดุ

สำหรับสิ่งที่สะท้อนในกระจก แต่มองไม่เห็นภายนอก:

สำหรับสิ่งที่มองเห็นได้ภายนอกกระจกเท่านั้น:

สำหรับ Eevee ให้ตั้งค่าวัตถุทั้งสองเป็น alpha hashed ในการตั้งค่าวัสดุ:

9 moonboots Aug 31 2020 at 07:10

คุณต้องใช้โหนดInput> Light Pathเป็นปัจจัยระหว่างวัสดุของวัตถุและโหนดโปร่งใส

สำหรับลูกบาศก์สีเขียวของคุณให้ใช้เอาต์พุตIs Glossy Ray (มองไม่เห็นในกระจก):

สำหรับลูกบาศก์สีแดงให้ใช้เอาต์พุตIs Camera Ray (มองเห็นได้เฉพาะในกระจกเงา):