EA DICE สร้างสภาพแวดล้อมที่ทำลายล้างได้ใน Battlefield Bad Company 2 และ Battlefield 3 ได้อย่างไร [ปิด]


30

ผู้คนใน EA DICE สร้างสภาพแวดล้อมที่สามารถทำลายได้ใน Battlefield Bad Company 2 และ Battlefield 3 ได้อย่างไร

พวกเขารวมตัวอาคารออกจากภูมิภาคย่อยที่กำหนดไว้ล่วงหน้าซึ่งแตกสลายเมื่อมีการระเบิดหรือสิ่งที่คล้ายกัน? ฉันไม่สามารถคิดอย่างอื่นได้


วิดีโออ้างอิง: youtube.com/watch?v=3lxjAVGcPCk&feature=related
deceleratedcaviar

2
มี 2 ​​เอกสารเกี่ยวกับการทำลาย & การเสียรูปของFrostbite Engineในส่วนสิ่งพิมพ์ในเว็บไซต์ของ DICE หนึ่งที่อยู่ภายใต้หมวดวิทยานิพนธ์และอื่น ๆ ที่อยู่ภายใต้หมวดหมู่การแสดงผล
Quazi Irfan

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

คำตอบ:


27

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

นี่คือวิธีการทำงาน

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

เมื่อทำลายส่วนหนึ่งของบ้านหลังนี้เราเริ่มต้นด้วยการลบส่วนหนึ่งของรูปทรงเรขาคณิต

เมื่อทำลายส่วนหนึ่งของบ้านหลังนี้พวกเขาเริ่มต้นด้วยการเอาชิ้นส่วนของรูปทรงเรขาคณิต

ป้อนคำอธิบายรูปภาพที่นี่ จากนั้นเพิ่มตาข่ายรายละเอียดรอบส่วนที่ถูกทำลาย

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

และขั้นตอนสุดท้ายคือการเพิ่มมาสก์ทำลาย

พวกเขายังใช้เอฟเฟกต์ของอนุภาคและเศษตาข่ายเพื่อให้ดูน่าทึ่งยิ่งขึ้น

(การอ้างอิงทั้งหมดนำมาจาก 2 สิ่งพิมพ์ที่ฉันกล่าวถึงในความคิดเห็น)


8
อนุภาคก็ดูน่าทึ่ง แต่มันก็อนุญาตให้การสลับเรขาคณิตถูกซ่อนไว้จากผู้เล่นด้วยควันและอะไรก็ตาม
AttackHobo

8

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

วิธีการมาตรฐานคือการใช้ตาข่ายสองอันที่มีอยู่ A & B (บ้านและปริมาตร "ระเบิด" ที่หักออก) เพื่อสร้าง "ตาข่าย" ที่สาม (กราฟ) ที่ซึ่งทั้งสองระนาบตาข่ายและขอบตัดกัน C - ซึ่งอธิบายพื้นที่ พวกเขาแบ่งปัน ใน 2D:

      / \
     /   \
    /  A  \
     |   |
     | /-|-\
     | |C| |
---  ----- | ------- G
       |  B|
       \---/

A คือบ้าน B คือปริมาตรการระเบิด C คือพื้นที่สหภาพ / จุดตัดระหว่าง A และ B G คือพื้นดิน

คณิตศาสตร์ / ตรรกะที่อยู่เบื้องหลังมันไม่สำคัญเนื่องจากมีกรณีขอบจำนวนมากที่จะจัดการกับและครึ่งหนึ่งหรือมากกว่าของงานนี้เป็นเพียงการรับรู้ที่เป็นไปได้ของกราฟผลชนิดที่เป็นไปได้กรณีพิเศษที่ต้องได้รับการประมวลผลในรหัส ฉันเคยเห็นปัญหาที่ทหารผ่านศึกบรรยายใน gamedev.net ว่า "เป็นปัญหาที่ยากมาก" และฉันสามารถบอกคุณได้ว่าพยายามเป็นแบบ 2 มิติและประสบความสำเร็จในระดับปานกลางซึ่งมีเพียงสองกรณีเท่านั้นที่ล้มเหลว มันไม่ใช่งานเล็ก ๆ

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


1
อาจถูกลดระดับลงเนื่องจากไม่เกี่ยวข้องกับคำถามมากเกินไปเนื่องจากมีการถามถึงวิธีการที่ใช้สำหรับเกมใดเกมหนึ่งโดยเฉพาะ วิทยานิพนธ์ของ Stegmayr ถูกเขียนขึ้นในขณะที่ BF: BC2 ได้รับการพัฒนาดังนั้นวิธีการและผลลัพธ์ที่ประสบความสำเร็จอาจมีอิทธิพลต่อการออกแบบระบบทำลายล้าง น่าเศร้าที่ดูเหมือนว่ามันจะไม่รอดชีวิตจากเกมนี้ซึ่งไม่ใช่เรื่องแปลกเมื่อมันมาถึงเทคนิคใหม่ในการวิจัยและพัฒนา (และไม่ฉันไม่สามารถทำได้ / ไม่สามารถทำได้)
Lars Viklund
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.