LOD ในเกมสมัยใหม่ [ปิด]


14

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

ยกระดับรายละเอียดของกราฟิก 3 มิติเช่นชี้ให้เห็นว่า LOD แบบไม่ต่อเนื่อง (ที่ซึ่งศิลปินเตรียมรุ่นหลายรุ่นไว้ล่วงหน้า) มีการใช้กันอย่างแพร่หลายเนื่องจากค่าใช้จ่ายของ LOD อย่างต่อเนื่อง อย่างไรก็ตามหนังสือเล่มนั้นตีพิมพ์ในปี 2545 และฉันสงสัยว่าตอนนี้สิ่งต่าง ๆ ได้มีการวิจัยบางอย่างในการปฏิบัติล็อดไดนามิกใช้ Shader เรขาคณิต ( บทความนี้ตัวอย่างเช่นมีการดำเนินการใน ShaderX6) ขอที่จะใช้ในเกมสมัยใหม่?

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


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

@Kaj: จุดดี ฉันกำลังพูดถึงการลดความซับซ้อนของโพลิกอนตาข่ายโดยเฉพาะ
Firas Assaad

โอ้ดูเหมือนว่าเราจะแก้ไขในเวลาเดียวกัน (ฉันลืมฉันสามารถเพิ่มแท็กอย่าลังเลที่จะลบการเขียนโปรแกรมกราฟิก: o \) ฉันจะพยายามหาคำตอบในเวลาต่อมา - ตอนนี้ฉันกำลังตกอยู่ในภาวะวิกฤติ
Kaj

คำตอบ:


9

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

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

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

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


1
ฉันคิดว่าพระเมสสิยาห์ใช้การโยงแบบก้าวหน้าอย่างกว้างขวางดูเหมือนว่าก่อนหน้านี้โลกกึกก้องเกี่ยวกับเรื่องนี้ แต่ฉันเห็นด้วยดูเหมือนว่าที่พักแบบคงที่ยังคงเป็นที่แพร่หลายที่ฉันมอง เป็นการยากที่จะตัดสินใจว่ารายละเอียดมีความสำคัญต่อการรักษาอัลกอริธึมอย่างไรแม้ว่ากระดาษ SigGraph จำนวนมากจะถูกเขียนเกี่ยวกับเรื่องนี้เพราะฉันมั่นใจว่า OP รู้ นอกเหนือจากนี้วิธีการที่น่ารักที่ฉันจำได้เสมอคือบท 'ผู้แอบอ้างตัวจริง' ในอัญมณีแห่งการเขียนโปรแกรมเกมที่ฉันเชื่อว่า ... ที่พวกเขาใช้ตัวกระตุ้นที่มีการแมป Parralax occlusion ฉันรู้ว่าฉันเคยเห็นเอกสารที่เขียนเพิ่มเติมตามระเบียบวิธีเดียวกัน (Fabio Policarpo บางที)
Kaj

1
การโจมตีอีกครั้งกับ LOD อย่างต่อเนื่องคือจำนวนหน่วยความจำคงที่ที่มีอยู่ในสภาพแวดล้อมคอนโซล วัตถุที่ไม่ต่อเนื่องช่วยให้คุณสามารถโยนโมเดลความละเอียดสูงและพื้นผิว / เฉดสีที่ขึ้นอยู่กับพวกมันทั้งหมดและเปลี่ยนเป็นแบบจำลองราคาที่ต่ำกว่ามากด้วย shader ที่เรียบง่ายและพื้นผิวขนาดเล็กที่รวมกันไว้ล่วงหน้า ในชื่อเรื่องโลกเปิดที่ต่อสู้กับข้อมูลที่เติมหน่วยความจำที่มีอยู่อย่าง จำกัด มักเป็นการต่อสู้ที่ใหญ่กว่ารอบ CPU / GPU
wkerslake

6
  • ผู้บัญชาการทหารสูงสุด (1 & 2) - RTSนี้ภูมิใจในความจริงที่ว่าคุณสามารถย่อแผนที่เพื่อดูแผนที่สนามรบได้อย่างราบรื่นจากนั้นซูมเข้าไปในพื้นที่และจัดการมัน มันใช้ LOD อย่างดีในขณะที่คุณซูมเข้าและออกเพื่อป้องกันการโอเวอร์โหลดการ์ดกราฟิกและในบางระดับการซูมออกตาข่ายจะถูกแทนที่ด้วยภาพ 2D ของหน่วยประเภทใดเพื่อให้แผนที่สนามรบสามารถเห็นได้ชัดเจน แสดงว่าสิ่งต่าง ๆ อยู่ที่ใด (เนื่องจากเห็นได้ชัดว่าตาข่ายสามมิติที่มีรายละเอียดต่ำจริงๆที่ 20,000 ฟุตนั้นไม่สามารถแยกแยะได้) คุณสามารถเห็นเอฟเฟกต์การเปลี่ยน 2D ค่อนข้างชัดเจนในไม่กี่วินาทีแรกของวิดีโอนี้
  • RollerCoaster Tycoon 3 - คล้ายกับผู้บัญชาการทหารสูงสุดเกมนี้ให้คุณซูมเข้าและออกตามใจดูสวนสนุกทั้งหมดของคุณหรือจัดการรถไฟเหาะเดียว มันไม่ได้ใช้การเปลี่ยนภาพ 2D แต่เนื่องจาก LOD ทุกอย่างยังคงราบรื่น ตาข่ายขนาดใหญ่ไม่เพียง แต่ลดคุณภาพ แต่รายละเอียดเล็ก ๆ เช่นผู้คนที่เดินไปมาก็หายไปเมื่อคุณซูมออกมากพอ
  • Legend of Zelda: Wind Waker - ในขณะที่คุณล่องเรือในทะเลเปิดคุณสามารถมองไปรอบ ๆ และดูหมู่เกาะใกล้เคียงที่สุดเพื่อคุณ อย่างไรก็ตามมันเป็นเพียงเงาของเกาะและโมเดล 3 มิติที่แท้จริงจะไม่โหลดจนกว่าคุณจะเข้าใกล้เกาะ คุณสมบัติอื่น ๆ ของเกาะเช่นกันเช่นศัตรูและพายุไต้ฝุ่นในน่านน้ำใกล้เคียง; น่าเสียดายที่ผู้เล่นสามารถเห็นพวกเขา "ป๊อป" เข้ามาในชีวิตเมื่อเขาเข้าใกล้ แต่โดยรวมแล้วมันเป็นเทคนิคที่ดีที่ป้องกันไม่ให้ฮาร์ดแวร์ Nintendo GameCube ทำงานหนักเกินไปในขณะที่ให้ผู้เล่นรู้สึกถึงความแม่นยำในการแล่นเรือในทะเล ระยะทาง.
  • Elder Scrolls IV: Oblivion - ฉันไม่ได้เล่นเกมนี้มานาน แต่ฉันรู้ว่ามันใช้ทั้งแบบเงาหรือแบบรายละเอียดต่ำจริง ๆ สำหรับโครงสร้างที่โดดเด่นเช่นหอคอยสูงของเมืองหนึ่งและภูเขาที่อยู่ห่างไกล .

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


4

วิธีการหนึ่งที่ทันสมัยในการ LOD อย่างต่อเนื่องคือการสอนฮาร์ดแวร์ tessellation ฮาร์ดแวร์ถูกนำมาใช้ใน DirectX 11 และเป็นหลักให้ส่วนย่อยที่ตั้งโปรแกรมได้ของพื้นผิว เนื่องจากสิ่งนี้ถูกนำไปใช้กับ GPU จึงอนุญาตให้มีรายละเอียดที่สูงกว่าการทำเทสเซลเลชันที่สร้างโดย CPU ยกตัวอย่างเช่นการแบ่งพื้นผิวตามระยะทางในการดูคุณสามารถจัดรูปแบบ LOD อย่างต่อเนื่อง

Hardware tessellation เป็นคุณสมบัติใหม่ของ GPU และมีเกมที่ใช้งานไม่มาก ฉันสงสัยว่าเกมที่ใช้ส่วนใหญ่เป็นแบบดรอปดาวน์สำหรับการทำแผนที่ bump - แทนที่จะเป็นแผนที่ bump ใน pixel shader คุณสามารถปรับเปลี่ยนเรขาคณิตที่แท้จริงได้ อาจมีห้องพักจำนวนมากสำหรับการวิจัยเพิ่มเติมเกี่ยวกับการทำให้เข้าใจง่ายขึ้นของตาข่ายและการปรับปรุงโดยใช้ฮาร์ดแวร์ tessellation

แหล่งข้อมูลเพิ่มเติม:


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

4

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

http://codesuppository.blogspot.com/2009/11/convex-decomposition-library-now.html


3

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

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


1

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

โครงการสมัยใหม่หลายโครงการเริ่มใช้การสร้างภูมิประเทศแบบเรียลไทม์เพื่อสร้างพื้นที่ขนาดใหญ่ (Outerra, Infinity (INovae) เพื่อสร้างชื่อที่โดดเด่นที่สุด) Discrete LOD ไม่ได้เป็นตัวเลือกเพราะธรรมชาติของขั้นตอนการประกบ

ภูมิประเทศเหล่านี้มักจะใช้โครงสร้างการแบ่งพาร์ติชันแบบ Heirarchical เช่น quadtrees เพื่อพิจารณา LOD และสร้างตาข่ายของการแก้ปัญหาที่เหมาะสมตามความลึกของโหนดของต้นไม้

หากไม่มีการใช้ continuos LOD โครงการที่ยอดเยี่ยมเหล่านี้จะเป็นไปไม่ได้

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