เหตุใดจึงนำไปใช้ในการสร้างภาพยนตร์และสามเหลี่ยมในการเล่นเกม


14

ในโรงเรียนภาพยนตร์ในชั้นเรียนของการสร้างแบบจำลอง 3 มิติฉันก็บอกว่าเมื่อเราทำอะไรบางอย่างสำหรับภาพยนตร์ที่เรารักษาโทโพโลยีของรูปหลายเหลี่ยม 4 ขอบ รูปหลายเหลี่ยมใด ๆ ที่มีมากกว่าหรือน้อยกว่า 4 ขอบ / จุดยอดถือว่าแย่และควรหลีกเลี่ยง ในขณะที่ถ้าใช้โมเดลเดียวกันในเกม

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


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

@ ratchetfreak ถ้าคุณเริ่มสร้างพาราเมตริกเมทริกจากนั้นขยายมันเป็นนิยามระนาบคุณจบลงด้วยสิ่งที่มีโทโพโลยีสี่ด้านตอนนี้เมื่อเวลาผ่านไปปัญหาเดียวกันก็ยังคงอยู่ที่นั่น
joojaa

คำตอบ:


15

สำหรับการสร้างแบบจำลอง 3 มิติเหตุผลปกติที่จะชอบสี่คนคืออัลกอริธึมการแบ่งพื้นผิวทำงานได้ดีกว่ากับพวกเขาถ้าตาข่ายของคุณได้รับการแบ่งย่อยสามเหลี่ยมสามารถทำให้เกิดปัญหาในความโค้งของพื้นผิวที่เกิดขึ้น ตัวอย่างเช่นลองดูที่กล่องทั้งสองนี้:

กล่องเดิม

คนซ้ายเป็นล่ามทั้งหมด ด้านขวามีรูปร่างโดยรวมเหมือนกัน แต่มุมหนึ่งทำจากสามเหลี่ยมแทนที่จะเป็นสี่คน

ตอนนี้ดูว่าเกิดอะไรขึ้นเมื่อกล่องถูกแบ่งย่อย:

กล่องแบ่งโครงลวด

แตกต่างกันใช่มั้ย สังเกตวิธีที่ลูปขอบเปลี่ยนจากการมีระยะเท่ากันอย่างคร่าว ๆ บนกล่องซ้ายเป็นการจัดเรียงที่ซับซ้อนมากขึ้นบีบและยืดที่ด้านขวา ตอนนี้เรามาปิด wireframe แล้วดูว่ามันสว่างแค่ไหน

กล่องแบ่งเรียบ

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


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


6

@Noah Witherspoon อย่างถูกต้องบอกว่าการแบ่งสามเหลี่ยมไม่ทำงานเช่นเดียวกับการแบ่งรูปสี่เหลี่ยม แม้ว่าในการเริ่มต้นสามเหลี่ยมไม่สามารถแบ่งได้เลย อย่างไรก็ตามเขาไม่ได้อธิบายอย่างแท้จริงว่าทำไมถึงเป็นเช่นนั้น ซึ่งเป็นข้อมูลที่มีประโยชน์และอธิบายว่าทำไมจึงเป็นที่ต้องการของคณะสี่คนและวิธีการใช้งาน

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

ป้อนคำอธิบายรูปภาพที่นี่

ภาพที่ 1 : คุณสามารถแบ่งสามเหลี่ยมออกเป็น 3 ส่วนได้

The reason lies in what has become called edge loops. The person doing the modeling have to anticipate how the subdivision happens as the subdivision is going to be the final shape. Unfortunately humans are only really good at deciphering the shape of the object along the edges of your primitives edges. By formulating the shape into continuous multi edge long loops helps us predict the shape after subdivision and importantly after deformation by bones etc.

สามเหลี่ยมมีวิธีที่น่ารังเกียจในการยกเลิกการวนรอบดังนั้นเราจึงไม่เข้าใจว่าเกิดอะไรขึ้นกับรูปร่างภายในและนอกรูปร่างนั้น ตาข่ายแบบแบ่งย่อยจึงมีแนวโน้มที่จะประพฤติไม่สามารถควบคุมได้ทำให้เกิดการกระแทกที่ไม่พึงประสงค์ หมายเหตุ : มันเป็นไปได้ที่จะแบ่งสามเหลี่ยมในลักษณะที่สิ่งนี้ไม่ได้เกิดขึ้นพวกเขาก็แค่ยากที่จะทำงานด้วยและการทำงานกับคณะสี่คนนั้นเป็นที่รู้จักกันดีในตอนนั้น

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

ป้อนคำอธิบายรูปภาพที่นี่

Image 2 : พื้นผิวแบบพาราเมตริกแบบดั้งเดิมนั้นเป็นส่วนขยายของส่วนโค้งไม่ใช่ตาข่ายแบบสุ่มและรูปร่างเหล่านี้มักจะเป็นสี่เหลี่ยมจัตุรัส


1

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

ดังนั้นเมื่อพูดถึงวิดีโอเกมผู้คนพยายามหาวิธีที่ดีที่สุดในการ "โดยประมาณ" หรือ "ปลอม" รูปลักษณ์ของของจริง เมื่อพูดถึงการคำนวณที่แตกต่างกันและสามเหลี่ยมความเร็วนั้นง่ายกว่ารูปหลายเหลี่ยม เช่นเดียวกับ @ ratchet freak ที่กล่าวถึงเนื่องจากทั้งหมด 3 คะแนนเป็น coplanar และช่วยลดความยุ่งยากในการแยกและการคำนวณอื่น ๆ นั่นเป็นหนึ่งในเหตุผลหลักที่ใช้รูปสามเหลี่ยมในวิดีโอเกม

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

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