"ไฟอบ" หมายความว่าอย่างไร


36

การอบ lightmap หมายความว่าอย่างไร ฉันได้ยินสิ่งนี้ใน Unity3d และพบปลั๊กอิน LightUp นี้อีกครั้งสำหรับภาพร่างที่ทำ Lightmap

จากสิ่งที่ฉันสังเกตเห็นไลท์แม็กซ์อบให้วัตถุ 3 มิติให้ความรู้สึกเหมือนจริงมากขึ้น จุดประสงค์ของการอบไฟบนวัตถุเพื่อให้ภาพเคลื่อนไหว cg นั้นมองเห็นคุณในภาพเคลื่อนไหวที่แสดงล่วงหน้าหรือไม่


นอกจากนี้เมื่อใดก็ตามที่คุณอบบางอย่างไม่ว่าจะเป็นฟิสิกส์แสงหรือสิ่งอื่นใด หมายความว่าคุณได้ตั้งค่าบางอย่างที่จะใช้เวลานานในการเรนเดอร์ / ประมวลผลแบบเรียลไทม์หรือคุณต้องการให้มันเล่นแบบเดียวกันในแต่ละครั้งดังนั้นคุณทำได้เพียงครั้งเดียวและบันทึกผลลัพธ์เพื่อใช้ในภายหลังและเนื่องจาก การคำนวณทั้งหมดเสร็จสิ้นแสดงสิ่งที่ถูกอบแล้วอย่างรวดเร็วและเหมือนกันใน playthroughs ทั้งหมด
AttackHobo

AttackHobo นั่นเป็นวิธีที่ยอดเยี่ยมที่จะวางไว้ ฉันเข้าใจแล้ว แต่อยากรู้อยากเห็นฟิสิกส์จะถูกอบอย่างไร Luxrender ผลิตการสะท้อนแสงแบบเสมือนจริงเพราะสามารถคำนวณฟิสิกส์ของแสงได้หรือไม่?
Kim Jong Woo

1
ฟิสิกส์สามารถอบสำหรับฉากที่ซับซ้อนได้โดยการจำลองและจัดเก็บตำแหน่งวัตถุทั้งหมดและการหมุน ฯลฯ สำหรับทุกเวลา จากนั้นแทนที่จะคำนวณค่าทั้งหมดใหม่อีกครั้งพวกมันจะถูกเล่นกลับจากค่าที่เก็บไว้
AttackHobo

คำตอบ:


53

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

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

ความสามัคคี แต่ดูเหมือนว่าจะมีการสร้างLightmap นี่คล้ายกับความคิดข้างต้น แต่แสงอบถูกเก็บแยกต่างหากแทนที่จะปรับเปลี่ยนพื้นผิวพื้นฐานและฉันถือว่า shader ผสานทั้งสองตอนรันไทม์ นี่จะมีข้อได้เปรียบในการรักษาความได้เปรียบของพื้นผิวที่มีการปูกระเบื้อง (เช่นการใช้หน่วยความจำต่ำ) เนื่องจากพวกเขาไม่มีแสงที่ถูกอบเข้ามาดังนั้นพวกเขาจึงยังคงติดกระเบื้องและ shader จะมีน้ำหนักเบามาก แสงเป็นแบบไดนามิก

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


12
และส่วนใหญ่แล้วเนื่องจากแสงมีความนุ่มนวล lightmap สามารถบันทึกได้ในความละเอียดต่ำกว่าพื้นผิวส่วนที่เหลือยังดูดี แต่เรนเดอร์เร็วขึ้นและใช้หน่วยความจำน้อยลง
AttackHobo

+1 นี่เป็นคำตอบที่ดีและครอบคลุมจริงๆขอบคุณ :)
Xeo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.