2012-03-21 7 views
1

Я работаю над движком игрушечной игры. Я никогда не думал о системе координат, просто принял их как есть, но теперь я немного смущен.Игровой движок: система координат и поворот спрайта

Итак, это то, как скоординировать общая игра выглядит система (наиболее Canvas использование реализация верхнего левого угла, как (0,0), а Y ось идет вниз):

Normal coordinates

Для спрайтов, было бы естественно принять верхний левый угол как положение спрайта.

Теперь посмотрим, как происходит ротация. Если в общей системе координат ось Y идет вверх, вращение будет CCW, если угол положительный. И, угол нуля указывает вправо. Если Y ось идет вниз, то вращение CW:

angles

Из этого я могу предположить, что все спрайты нарисованы с поворотом на 90 градусов по умолчанию? Я прав? Или я должен рисовать их, переворачивая и поворачивая на -90 градусов? Или я должен предположить, что угол 0 указывает вниз, а не справа (что кажется мне неправильным).

sprites rotated

Что система координат рекомендуется использовать в игровых системах? И, собственно, что предпочтительнее - измерение в градусах или радианах?

Спасибо, Серж.

ответ

1

Вы не должны считать, что все спрайты повернуты & перевернуто. Вы должны использовать коды программирования в своем игровом движке в соответствии с вашими потребностями.

Для выбора системы координат я выберу опорную точку в центре спрайта, когда буду работать над перспективными играми сверху вниз; Я буду выбирать точку привязки в левом верхнем углу спрайта, когда я работаю над играми с горизонтальным скроллером (например, Марио). Конечно, для 3D-мира это совсем другая история. Это зависит от того, как ваши спрайты двигаются. Якорная точка должна располагаться в положении, которое не перемещается часто.

+0

Спасибо, я вижу о якорной точке, и я согласен с вами. Это зависит от типа игры и игровой движок должен обеспечить механизмы, чтобы установить точку привязки. Но я не понимаю, что вы подразумеваете под «программированием кодов в движке», извините. – zserge

+0

Сделайте поворот и переверните в программные коды, применяя матрицу преобразования. – Raptor

Смежные вопросы