Перемещения в 3d пространстве.
Здравствуйте. Я реализую функции перемещения объекта в пространстве, относительно его нынешней позиции, как в блитце: Move Turn.
Я попытался сам допереть, но что-то не получается . Кто знает, какую-нибудь литературу на это тему? И вообще кто-нибудь реализовал подобное? Если есть исходники (понятные) у кого, не отказался бы посмотреть! :) |
Ответ: Перемещения в 3d пространстве.
"Реализкю" - взял на заметку..
На чём пишешь, чё делаешь? Матрицы? Тебе нужны матрицы или квартерионы.. |
Ответ: Перемещения в 3d пространстве.
Пишу на с++ с directx.
Имеется класс мировой матрицы: Цитата:
Что мне понадобиться для реализации этого метода? |
Ответ: Перемещения в 3d пространстве.
хм...
PHP код:
|
Ответ: Перемещения в 3d пространстве.
ну это в глобальных коордах, а мув и турн блицевские по умолчанию были в локальных.
умножай вектор смещения на имеющуюся мировую матрицу, потом прибавляй полученное к позиции. |
Ответ: Перемещения в 3d пространстве.
Что-то я не вижу у него парентов и чайлдов... Да и я привел как раз в локальных. Вот с глобальными уже сложнее.
|
Ответ: Перемещения в 3d пространстве.
Да не все так просто, в блитце метод move не так реализован.
Ось z это направление объекта, x относительно его позиции это лево и право, а y это верх вниз. |
Ответ: Перемещения в 3d пространстве.
Вперед, назад то я сделал:
Цитата:
Я без понятия!(( |
Ответ: Перемещения в 3d пространстве.
|
Ответ: Перемещения в 3d пространстве.
Ну, простите! Исправлюсь. В творческом порыве и не такое напишешь!:) :ok:
|
Ответ: Перемещения в 3d пространстве.
|
Ответ: Перемещения в 3d пространстве.
Русские комменты.. Олег! Английский, ну нужно, очень нужно его знать, тем более столь техническому разработчику как ты..
|
Ответ: Перемещения в 3d пространстве.
Возможно так тогда (но синтаксис точный не воспроизведу, не пишу на С++ и на DX :)):
PHP код:
UPD по примеру от HolyDel: PHP код:
|
Ответ: Перемещения в 3d пространстве.
Цитата:
Код:
float hpi = 1.5707963; // половина PI dx = движение вперед назад dy = "ходьба боком" dz = полет вверх\вниз (относительно текущего поворота камеры) Хорошего дня. |
Ответ: Перемещения в 3d пространстве.
Цитата:
|
Ответ: Перемещения в 3d пространстве.
видимо я один такой лох который делает так
псевдокод move = 0,0,1 - это вперед move = 1,0,0 - это вбок итд move = rotmatrix * move position += move --- UPD: гляжу у Холидела так же Цитата:
|
Ответ: Перемещения в 3d пространстве.
Цитата:
|
Ответ: Перемещения в 3d пространстве.
Цитата:
|
Ответ: Перемещения в 3d пространстве.
Всем спасибо, теперь есть над чем поразмышлять.:) :ok:
|
Ответ: Перемещения в 3d пространстве.
Цитата:
|
Ответ: Перемещения в 3d пространстве.
получить вектор вперед исходя из угла поворота по всем осям умножить на скорость и прибавлять этот вектор к текущему положению объекта
|
Ответ: Перемещения в 3d пространстве.
Давно решил эту проблему, в одной книге очень хороший пример с классом камеры есть, если кому надо: Франк Луна - Введение в программирование трехмерных игр с DX9.
http://www.proklondike.com/books/cod..._dx9games.html Смотреть главу про реализацию класса камеры, она подходит и для объектов естественно) |
Часовой пояс GMT +4, время: 18:25. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot