Найкраща практика для системи координат карти


20

Чи існують якісь конвенції та / або найбільш відомі методи навколо систем координат в ігрових картах? Походження зазвичай розташоване в центрі карти? Або вона живе в кутку, і карта побудована в єдиному октанті тривимірного простору?


Гм, ви позначили карту плитки, а головна відповідь - це питання про проблематику карти, але ви також згадуєте 3D та октанти, тому, ймовірно, друга відповідь говорить про точність поплавця. 3D-геометрія зазвичай не зберігається в сітці, тому походження є більш довільним, і я ніколи не чув про проблеми з точністю поплавця в двовимірній карті сітки. Можливо, є якесь уточнення чи уніфікація в порядку…
StarWeaver

Октант був відредагований дюйма. Я згадую 3D, оскільки більшість кадрів, які я бачив, мають якусь вісь Z. Карта гри може бути плоскою та двовимірною, але камера зміщена вздовж третьої осі.
Тейлор

Відповіді:


37

Більшість ігор розміщують походження карти у кутку. Основна причина цього полягає в тому, що карти карти часто внутрішньо зберігаються в двовимірних масивах, і більшість мов програмування не дозволяють індексувати негативні масиви. Існує багато дискусій щодо того, який саме куточок має бути джерелом, але я не вважаю жоден із аргументів особливо сильним. Зрештою, це лише особисті переваги. Я рекомендую просто використовувати той самий кут, який використовує ваш графічний API, щоб мінімізувати головний біль.

Винятком є ​​часто ігри, які дозволяють картам, які нескінченно ростуть у всіх напрямках. Це не працює належним чином без негативних індексів, тому простий 2d масив не підлягає сумніву. Вам потрібно буде зберігати дані вашої карти у більш складній структурі даних. У цій ситуації зазвичай має найбільш сенс розміщувати походження у вихідному положенні.


12

Теоретично місце походження не має значення. Усі математичні операції, які ви виконуєте, коли карта відображається або коли об’єкти рухаються на карті, працюють нормально незалежно від місця власне походження.

Однак на практиці є одна причина, чому ви можете зробити так, щоб центр карти був джерелом, і це обмежена точність значень з плаваючою комою.

Якщо числа з плаваючою комою чим далі ви отримуєте від 0, тим менша точність є у менших цифрах.

Працюючи над грою з відкритим світом, яка мала дуже велику карту, ми насправді зіткнулися з проблемами, коли фізика та інші речі почнуть руйнуватися, коли ви віддаляєтесь від походження.

Виправлення полягало в тому, щоб зробити хитрість, де походження завжди було близько до гравця, інтелектуально телепортувавши речі (програвач, плитки карти, камеру тощо) навколо, щоб не надто далеко від походження.


1

Це насправді не має значення. Те, що деякі люди змінюють у своїй системі координат, часто є віссю y. Замість того, щоб мати (0,0) у верхньому лівому куті, вони вважають за краще мати його внизу зліва для легшої фізики.


Як фізично легше, якщо походження системи координат знаходиться внизу зліва?
Tyyppi_77

3
Я думаю, що в останньому реченні відсутнє слово: налагодження . Більш інтуїтивно зрозуміло, якщо земля дорівнює нулю і все звідти піднімається, ніж якщо «стеля» дорівнює нулю, і все вимірюється wrt, що.
Vaillancourt
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.