![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
3D коридор
Филипп © (2003-07-14 09:20:00)
В сети есть куча примеров 3D лабиринтов и комнот по которым можно ходить как почти в самомделишном DOOMe, но не где нет решения на тему, чтоб сквозь стены не ходить. Вопрос если ли стандартное решение, чтоб не ходить как призрок, а ощущать границы стен?
NailMan (2003-07-14 14:35:00) [1]
В DOOMе было реализовано решение с помошью секторов. Это нечто вроде продвинутых матричных уровней аля Wolf3D.
Суто такова что карта в Думе была 2-хмерной, но разделена на "сектора", которые являлись замкнутыми многоугольниками.
Чтобы сектор мог быть трехмерным, ему давали 2 свойства:
Высота Пола и Высота Потолка.
минимальная карта - один замнкутый сектор с 3-мя вершинами(треугольник).
стена могла быть бесконечной высоты(точнее любой большой высоты) - если игрок находится в единственном секторе.
или конечной - внутри главного сектора делаем узкий сектор и снижаем высоту потолка до пола(или наоборот) или смыкаем на середине высоты или несмыкаем.
Подозреваю что коллишн делался на основе факта пересечения координат игрока+вектора направления с отрезком сектора и сравнивалось значения высот положения игрока с высотой сектора(или высотами) - если у сектора ниже, то игрок в него спускался, если выше - значит стенка.
Вышеприведенный алгоритм довольно примитивен, поэтому советую посмотреть сырцы дума.
ЗЫ: сам я думоподобщину не писал, но делал некоторые дополнительные уровни для DukeNukem`a(у него такая же организация карты).
Asteroid (2003-07-14 12:27:00) [2]
Collision detection (проверка на столкновения). Пригодится http://www.gametutorials.com/download/OpenGL/CamWorldCollision_OGL.zip
pasha676 (2003-07-14 09:26:00) [3]
Не ошибусь если скажу, что есть куча стандартных решений.