HLFX.Ru Forum
Показать все 9 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- система координат (https://hlfx.ru/forum/showthread.php?threadid=3652)


Отправлено marikcool 20-10-2012 в 21:52:

система координат

интересует несколько вопросов о системе координат:
1. какую систему координат обычно юзают в 3д движках и в инструментариях к движку?
2. какую используете вы?
3. нужно ли чтобы они совпадали для меньшей путаницы с конвертацией из одной в другую?
4. какую интуитивно проще воспринимает большинство людей?

__________________
vk.com/skullcapstudios


Отправлено Government-Man 20-10-2012 в 22:21:

1. Зависит от стороннего инструментария например, ну и от используемого апи например, ну и от привычки девелоперов
2. На первый взгляд, такую же как в 3DS MAX: +X - право, +Y - вперед, +Z - вверх. Но фактически у меня +X - вперед, +Y - влево - как в ку-движках. Связано это с тем, что так удобнее считать heading.
3. Можно и так, чтобы они не совпадали, но тогда нпц начнут бегать по стенам например.
4. Смотря для чего. Лично я ненавижу моделить в редакторах, где верх это +Y, а не +Z. Но если нужно что то нарисовать непосредственно в пространстве камеры, то да - проще когда +Y - это верх. А освещение вообще удобнее считать в касательном пространстве например.


Отправлено XaeroX 21-10-2012 в 01:38:

Цитата:
Government-Man писал:
Связано это с тем, что так удобнее считать heading.

Не надо считать heading. Это от лукавого.

__________________

xaerox on Vivino


Отправлено Government-Man 21-10-2012 в 02:03:

Цитата:
XaeroX писал:
Не надо считать heading. Это от лукавого.


Ну я ошибся конечно. Я наоборот имел ввиду - высчитывать X и Y из хединга.


Отправлено Дядя Миша 21-10-2012 в 07:46:

На самом деле координата Z была добавлена к уже существующим (все их помнят со школы), координатам обычных графиков. И там, как мы помним Y это действительно высота, а Z- получилась глубина. Именно поэтому буффер глубины называется Z-буффером. А Кармак смекнул, что это ну ваще неудобно и переориентировал. Двумя поворотами. Сначала по оси Z положил ось Y параллельно плоскости земли, а затем уже с учётом повернутой оси Y повернул ось Z вверх. Поэтому порядок вращения крайне важен. В последнем уроке по физике есть соответствующий комент. Если нарушить порядок вращения - всё изломается к чертям.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено nemyax 21-10-2012 в 08:22:

Так удачно сложилось, что это всё праворукие системы координат. А ведь ещё леворукие бывают.


Отправлено Government-Man 21-10-2012 в 09:33:

Цитата:
Дядя Миша писал:
А Кармак смекнул, что это ну ваще неудобно и переориентировал. Двумя поворотами. Сначала по оси Z положил ось Y параллельно плоскости земли, а затем уже с учётом повернутой оси Y повернул ось Z вверх. Поэтому порядок вращения крайне важен.


Я вот ничего не верчу. У меня все вычисления проходят в мировой системе координат, а потом все разом умножается на матрицу вида, которая вычисляется при помощи forward, right, up векторов камеры. Ну я правда DX юзаю, где есть отдельная матрица вида - это удобно.

Хотя запилить подобное на гл также труда не составляет, только там еще по оси Z в пространстве камеры зеркалить нужно.


Отправлено Дядя Миша 21-10-2012 в 10:15:

Да в ксаше тоже все матрицы хранятся локально, а потом тупо скармливаются ГЛ. Так что я могу их перемножать как хочу.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено marikcool 21-10-2012 в 12:30:

спасибо за ответы.

__________________
vk.com/skullcapstudios


Временная зона GMT. Текущее время 17:26.
Показать все 9 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024