Модераторы: Rickert
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передвижение игрока по ландшафту 
:(
    Опции темы
Dronchik
  Дата 7.8.2007, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Звукач ёмаё
**


Профиль
Группа: Участник
Сообщений: 451
Регистрация: 1.5.2007

Репутация: 8
Всего: 37



Привет всем. Как реализовать движение игрока по неровному ландшафту на С++ и DirectX9?


--------------------
Вместо слов делай дело, от которого ты фанатеешь. (с)

PM MAIL WWW ICQ   Вверх
ShellRaiser
Дата 7.8.2007, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


еще чуть и закоммичу
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 20.7.2007
Где: Белaрусь, Гродно

Репутация: 1
Всего: 1



Если ты юзал когданить Блитз3д то там была такая функция MoveEntity(объект,x,y,z) ну вот думаю подобным образом тебе придётся реализовывать на с++, только при этом ещё и учитывать коллизию...

Добавлено через 1 минуту и 12 секунд
и посмотри сэмлы с DirectX SDK там как раз реализован ответ на твой вопрос...
PM MAIL ICQ Skype   Вверх
arilou
Дата 7.8.2007, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



Dronchik, ландшафт должен уметь давать высоту Y по указанным X, Z. Типа GetHeightAt(float x, float z); на каждое движение чара получаешь новое значение высоты и кооректируешь его позицию.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Dronchik
Дата 8.8.2007, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Звукач ёмаё
**


Профиль
Группа: Участник
Сообщений: 451
Регистрация: 1.5.2007

Репутация: 8
Всего: 37



То есть высота ландшафта на каждой позиции гдето записана? А где и как получить её?

Добавлено через 2 минуты и 35 секунд
ShellRaiser, в блитце я никогда не работал, можешь рассказать об этой функции?

Добавлено через 11 минут и 9 секунд
О придумал, ландшафт делатся в 3Д максе, я его сфоткаю сверху, переведу в чёрно-белый вид и загружу эту карту высот вместе с модель ландшафта. Но как проверит что игрок столкнулся с деревом например? Ведь деревьев там будет много. А каждую координату проверять долго.


--------------------
Вместо слов делай дело, от которого ты фанатеешь. (с)

PM MAIL WWW ICQ   Вверх
ShellRaiser
Дата 8.8.2007, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


еще чуть и закоммичу
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 20.7.2007
Где: Белaрусь, Гродно

Репутация: 1
Всего: 1



как я помню в блице была такая хрень - EntityType тоесть она указывала тип объекта, и просто при инициализации указывал коллизи каких типов могут происходить...т.е. коллизия чела например и ландшафта...

А насчёт функции MoveEntity(объект, х,у,z):
вот пример как я думаю эт бут на jave, где описан частичный код Entity в блитзе
Код

class player{
   private float x;
   private float y;
   private float z;

   private float translate[3];
//и т.д., и метод MoveEntity();

   public void MoveEntity(x,y,z){
      this.x+=x;
      this.y+=y;
      this.z+=z;
   }
    
    public float EntityX(){
       return x;
    }

    public float EntityY(){
       return y;
    }

    public float EntityZ(){
       return z;
    }
//дальше можеш добавить переменные поворотов углов и т.д.
}


тоесть как ты заметил ты лиш прибовляеш к координатам небольшое смещение, в случае коллизи думаю ты догадаешся что сделать))

Это сообщение отредактировал(а) ShellRaiser - 8.8.2007, 10:25
PM MAIL ICQ Skype   Вверх
arilou
Дата 8.8.2007, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



Dronchik, из карты высот. сгенери карту каким-нить World Machine, и строй ландшафт из нее. Google "построение трехмерных ландшафтов"


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0437 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.