![]() |
|
Модераторы: Rickert |
![]()
|
|
| Dronchik |
|
|||
![]() Звукач ёмаё ![]() ![]() Профиль Группа: Участник Сообщений: 451 Регистрация: 1.5.2007 Репутация: 8 Всего: 37 |
Привет всем. Как реализовать движение игрока по неровному ландшафту на С++ и DirectX9?
-------------------- Вместо слов делай дело, от которого ты фанатеешь. (с) |
|||
|
||||
| ShellRaiser |
|
|||
![]() еще чуть и закоммичу ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 20.7.2007 Где: Белaрусь, Гродно Репутация: 1 Всего: 1 |
Если ты юзал когданить Блитз3д то там была такая функция MoveEntity(объект,x,y,z) ну вот думаю подобным образом тебе придётся реализовывать на с++, только при этом ещё и учитывать коллизию...
Добавлено через 1 минуту и 12 секунд и посмотри сэмлы с DirectX SDK там как раз реализован ответ на твой вопрос... |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
Dronchik, ландшафт должен уметь давать высоту Y по указанным X, Z. Типа GetHeightAt(float x, float z); на каждое движение чара получаешь новое значение высоты и кооректируешь его позицию.
|
|||
|
||||
| Dronchik |
|
|||
![]() Звукач ёмаё ![]() ![]() Профиль Группа: Участник Сообщений: 451 Регистрация: 1.5.2007 Репутация: 8 Всего: 37 |
То есть высота ландшафта на каждой позиции гдето записана? А где и как получить её?
Добавлено через 2 минуты и 35 секунд ShellRaiser, в блитце я никогда не работал, можешь рассказать об этой функции? Добавлено через 11 минут и 9 секунд О придумал, ландшафт делатся в 3Д максе, я его сфоткаю сверху, переведу в чёрно-белый вид и загружу эту карту высот вместе с модель ландшафта. Но как проверит что игрок столкнулся с деревом например? Ведь деревьев там будет много. А каждую координату проверять долго. -------------------- Вместо слов делай дело, от которого ты фанатеешь. (с) |
|||
|
||||
| ShellRaiser |
|
|||
![]() еще чуть и закоммичу ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 20.7.2007 Где: Белaрусь, Гродно Репутация: 1 Всего: 1 |
как я помню в блице была такая хрень - EntityType тоесть она указывала тип объекта, и просто при инициализации указывал коллизи каких типов могут происходить...т.е. коллизия чела например и ландшафта...
А насчёт функции MoveEntity(объект, х,у,z): вот пример как я думаю эт бут на jave, где описан частичный код Entity в блитзе
тоесть как ты заметил ты лиш прибовляеш к координатам небольшое смещение, в случае коллизи думаю ты догадаешся что сделать)) Это сообщение отредактировал(а) ShellRaiser - 8.8.2007, 10:25 |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
Dronchik, из карты высот. сгенери карту каким-нить World Machine, и строй ландшафт из нее. Google "построение трехмерных ландшафтов"
|
|||
|
||||
![]()
|
| Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |