แนวทางปฏิบัติที่ดีที่สุดสำหรับระบบพิกัดแผนที่


20

มีอนุสัญญาและ / หรือวิธีการที่รู้จักกันดีที่สุดเกี่ยวกับระบบพิกัดในแผนที่เกมหรือไม่? จุดเริ่มต้นมักจะอยู่ในตำแหน่งกึ่งกลางของแผนที่หรือไม่ หรือมันอาศัยอยู่ในมุมหนึ่งและแผนที่ถูกสร้างขึ้นใน octant เดียวของพื้นที่ 3D หรือไม่?


อืมคุณติดแท็ก tilemap และคำตอบยอดนิยมพูดถึงเรื่อง tilemap แต่คุณพูดถึง 3D และ octants ซึ่งอาจเป็นสาเหตุที่คำตอบที่สองพูดถึงความแม่นยำของโฟลท เรขาคณิต 3 มิติมักจะไม่ถูกจัดเก็บในกริดเพื่อให้กำเนิดมีความเจาะจงมากขึ้นและฉันไม่เคยได้ยินปัญหาความแม่นยำลอยในแผนที่กริด 2D บางทีคำอธิบายหรือการรวมกันบางอย่างนั้นเป็นระเบียบ…
StarWeaver

Octant ได้รับการแก้ไขฉันพูดถึง 3D เพราะเฟรมเวิร์กส่วนใหญ่ที่ฉันเคยเห็นมีแกน Z บางประเภท แผนที่เกมอาจแบนและเป็นแบบ 2D แต่กล้องจะถูกชดเชยตามแกนที่สาม
TaylorE

คำตอบ:


37

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

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


12

ในทางทฤษฎีแล้วที่ตั้งของต้นกำเนิดนั้นไม่สำคัญ การดำเนินการทางคณิตศาสตร์ทั้งหมดที่คุณทำเมื่อมีการแสดงแผนที่หรือเมื่อวัตถุเคลื่อนที่บนแผนที่จะทำงานได้ดีโดยไม่คำนึงถึงแหล่งที่มาจริง

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

ด้วยจำนวนจุดลอยตัวยิ่งคุณได้รับจาก 0 ยิ่งมีความแม่นยำน้อยลงในตัวเลขที่น้อยกว่า

ในขณะที่ทำงานในเกมเปิดโลกที่มีแผนที่ใหญ่มากจริง ๆ แล้วเราพบปัญหาที่ฟิสิกส์และสิ่งอื่น ๆ จะเริ่มพังทลายลงเมื่อคุณอยู่ห่างจากแหล่งกำเนิด

การแก้ไขคือการใช้กลอุบายที่แหล่งกำเนิดอยู่ใกล้กับผู้เล่นเสมอโดยการเคลื่อนย้ายสิ่งต่าง ๆ อย่างชาญฉลาด (ผู้เล่น, แผ่นแผนที่, กล้อง ฯลฯ ) ไปรอบ ๆ เพื่อไม่ให้ห่างไกลจากแหล่งกำเนิด


1

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


ฟิสิกส์จะง่ายขึ้นได้อย่างไรถ้าที่มาของระบบพิกัดอยู่ที่ด้านล่างซ้าย
Tyyppi_77

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