![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Oct 2002
Адрес: СПБ
Сообщений: 58
|
Есть изметрическое поле (1:2) + ось Z.
Как сделать перемещение объектов с учетом двумерности экрана (т.е. объект кторый движется "в сторону" экрана, по сути не двигался)?
__________________
Ненуачё? :p |
|
|||||
|
Banned
[+4 11.12.07]
[+4 18.03.08] Регистрация: Oct 2007
Сообщений: 269
|
Написать функцию трансформации. На входе мировые xyz, на выходе экранные xy
Скармливаете оригинальные координаты мира, и передаете результат функции перемещения.. И ходите где угодно... |
|
|||||
|
Регистрация: Oct 2002
Адрес: СПБ
Сообщений: 58
|
2 chingachgoog
Нет.. 2 LinuxVideo Написал, но я имел в виду нечто другое. Такая ситауация: Есть объект, который стоит "очень далеко" от экрана, в самой-самой глубине. Он движется "к экрану". В трехмерном пространстве эта дистанция равна, к примеру, 400 пикселей и он должен пройти это расстояние, скажем, за 20 сек. А в двумерном - 5 пикселей. И у меня он пролетает за 1 сек, т.к. не учтен угол наклона вектора движения к "экрану". Вот это меня интересовало.
__________________
Ненуачё? :p |
|
|||||
|
Регистрация: Mar 2001
Сообщений: 1,147
|
реальные скорости тоже необходимо пересчитывать применительно к поекции (3хмерный вектор проецируем на 2мерную плоскость экрана)
__________________
Кто говорит, тот не знает. Кто знает, тот не говорит. |
|
|||||
|
Banned
[+4 11.12.07]
[+4 18.03.08] Регистрация: Oct 2007
Сообщений: 269
|
> скажем, за 20 сек. А в двумерном - 5 пикселей. И у меня он пролетает за 1 сек
Так изометрия, или перспектива? Вы уж определитесь сначала. Если изометрия - все расстояния равны. Если перспектива - вдалеке все медленно, а рядом с камерой - близко Если персонаж должен двигаться с равной скоростью, то это изометрия. На вход функции трансформации будет 400 точек, на выходе 5 точек. Между ними будет куча ответов вроде 2.9837453677, которые тоже надо использовать, а не пропускать. У вас же похоже использованы только 2 точки, вот персонаж и ходит по экранным координатам, делая 5 шагов. Если так охота оптимизации, и точно знаете, что изометрию не променяете, то меряйте как и сейчас, потом 5 пикселей делите на 400 шагов, и за 400 шагов смещайте его по 0.0125 пикселя. Ну или с таймерами химичте, чего ближе. |
|
|||||
|
Цитата:
|
|
|||||
|
Banned
[+4 11.12.07]
[+4 18.03.08] Регистрация: Oct 2007
Сообщений: 269
|
т.е. быстро.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|