Чи існують якісь конвенції та / або найбільш відомі методи навколо систем координат в ігрових картах? Походження зазвичай розташоване в центрі карти? Або вона живе в кутку, і карта побудована в єдиному октанті тривимірного простору?
Чи існують якісь конвенції та / або найбільш відомі методи навколо систем координат в ігрових картах? Походження зазвичай розташоване в центрі карти? Або вона живе в кутку, і карта побудована в єдиному октанті тривимірного простору?
Відповіді:
Більшість ігор розміщують походження карти у кутку. Основна причина цього полягає в тому, що карти карти часто внутрішньо зберігаються в двовимірних масивах, і більшість мов програмування не дозволяють індексувати негативні масиви. Існує багато дискусій щодо того, який саме куточок має бути джерелом, але я не вважаю жоден із аргументів особливо сильним. Зрештою, це лише особисті переваги. Я рекомендую просто використовувати той самий кут, який використовує ваш графічний API, щоб мінімізувати головний біль.
Винятком є часто ігри, які дозволяють картам, які нескінченно ростуть у всіх напрямках. Це не працює належним чином без негативних індексів, тому простий 2d масив не підлягає сумніву. Вам потрібно буде зберігати дані вашої карти у більш складній структурі даних. У цій ситуації зазвичай має найбільш сенс розміщувати походження у вихідному положенні.
Теоретично місце походження не має значення. Усі математичні операції, які ви виконуєте, коли карта відображається або коли об’єкти рухаються на карті, працюють нормально незалежно від місця власне походження.
Однак на практиці є одна причина, чому ви можете зробити так, щоб центр карти був джерелом, і це обмежена точність значень з плаваючою комою.
Якщо числа з плаваючою комою чим далі ви отримуєте від 0, тим менша точність є у менших цифрах.
Працюючи над грою з відкритим світом, яка мала дуже велику карту, ми насправді зіткнулися з проблемами, коли фізика та інші речі почнуть руйнуватися, коли ви віддаляєтесь від походження.
Виправлення полягало в тому, щоб зробити хитрість, де походження завжди було близько до гравця, інтелектуально телепортувавши речі (програвач, плитки карти, камеру тощо) навколо, щоб не надто далеко від походження.
Це насправді не має значення. Те, що деякі люди змінюють у своїй системі координат, часто є віссю y. Замість того, щоб мати (0,0) у верхньому лівому куті, вони вважають за краще мати його внизу зліва для легшої фізики.