Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.29;
Скачать: CL | DM;

Вниз

3D коридор   Найти похожие ветки 

 
Филипп   (2003-07-14 09:20) [0]

В сети есть куча примеров 3D лабиринтов и комнот по которым можно ходить как почти в самомделишном DOOMe, но не где нет решения на тему, чтоб сквозь стены не ходить. Вопрос если ли стандартное решение, чтоб не ходить как призрок, а ощущать границы стен?


 
pasha676   (2003-07-14 09:26) [1]

Не ошибусь если скажу, что есть куча стандартных решений.



 
Asteroid ©   (2003-07-14 12:27) [2]

Collision detection (проверка на столкновения). Пригодится http://www.gametutorials.com/download/OpenGL/CamWorldCollision_OGL.zip


 
NailMan ©   (2003-07-14 14:35) [3]

В DOOMе было реализовано решение с помошью секторов. Это нечто вроде продвинутых матричных уровней аля Wolf3D.

Суто такова что карта в Думе была 2-хмерной, но разделена на "сектора", которые являлись замкнутыми многоугольниками.

Чтобы сектор мог быть трехмерным, ему давали 2 свойства:
Высота Пола и Высота Потолка.

минимальная карта - один замнкутый сектор с 3-мя вершинами(треугольник).

стена могла быть бесконечной высоты(точнее любой большой высоты) - если игрок находится в единственном секторе.
или конечной - внутри главного сектора делаем узкий сектор и снижаем высоту потолка до пола(или наоборот) или смыкаем на середине высоты или несмыкаем.

Подозреваю что коллишн делался на основе факта пересечения координат игрока+вектора направления с отрезком сектора и сравнивалось значения высот положения игрока с высотой сектора(или высотами) - если у сектора ниже, то игрок в него спускался, если выше - значит стенка.

Вышеприведенный алгоритм довольно примитивен, поэтому советую посмотреть сырцы дума.

ЗЫ: сам я думоподобщину не писал, но делал некоторые дополнительные уровни для DukeNukem`a(у него такая же организация карты).



Страницы: 1 вся ветка

Текущий архив: 2004.01.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
3-93365
Marina_S
2004-01-02 19:11
2004.01.29
Обновление формы в при нажатии кнопки


1-93426
DDA
2004-01-16 13:06
2004.01.29
Завершение потока


1-93548
Наиль
2004-01-17 23:53
2004.01.29
функция getcursorpos


1-93437
GAlexis
2004-01-16 14:13
2004.01.29
Округление чисел


14-93676
K.o.Z
2004-01-07 05:07
2004.01.29
shell32.dll