HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (244): « Первая ... « 240 241 242 243 [244]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32285
Нанёс повреждений: 392 ед.

Рейтинг



Сегодня знаменательная дата! 02.06.2024 можно считать днём, когда движок наконец-то полностью и окончательно отвязался от брашей в качестве основного и определяющего строительного материала!

Отныне XashNT переходит из разряда брашевых движков семейства Quake, в семейство современных полигональных движков
Как это определяется? Очень просто. В брашевом движке вы не сможете построить уровень только из моделей, вам обязательно понадобится хотя бы небесная коробка, ну или что-то вроде этого. К тому же при таком подходе у вас не будет просчитана видимость. В XashNT теперь можно полноценно считать видимость без использования брашей, полноценно работает коллизия и накладываются лайтмапы. Тем не менее я не планирую полностью избавляться от брашей по двум соображениям:

1. Поддержка классических брашевых уровней из старых игр. Это останется по прежнему доступно, более того - XashNT будет собирать такие уровни гораздо лучше и точнее чем оригинальные компиляторы тех игр. Но есть и другая интересная возможность. Как вы знаете эти уровни довольно плохо поддаются декомпиляции обратно в браши (зависит от формата BSP). Так вот, теперь есть возможность сдампить эти уровни в полигональную модель и скомпилить обратно под XashNT. Единственное что потребуется от моделлёра - это расставить порталы для обеспечения видимости. Впрочем их потребуется расставить в любом случае. Так что этот кейс сохраняет одно из важных направлений для любителей возиться со старыми играми и поэтому я не могу его просто взять и выбросить.

2. Несмотря на то, что XashNT умеет обходиться полностью без брашей, они ему всё же нужны. Для трёх важных случаев:
- Без брашей не будут работать триггеры. Вернее будут, но не слишком чётко. Могут срабатывать через раз, зависит от протяжённости триггера и места его пересечения другим примитивом. Полигональный движок коллизии может весьма точно определить момент пересечения двух тел, но нет абсолютно никакой возможности точно определить - продолжает ли тело застревать "в текстуре" или уже освободилось. Именно поэтому вы и наблюдаете чертопляску когда код антизастревания пытается вытолкнуть объект из текстуры. Потому что пересечения определяются по пересечению рёбер, а это происходит далеко не всегда. Это не ограничение XashNT это ограничение любого полигонального детектора коллизии. Решения этой проблемы не существует в принципе.
Точнее существует - в виде брашей, т.е. конвексных замкнутых примитивов
- Так же без брашей и по той же причине будут не очень хорошо работать всякие давилки, типа дверей, поездов и прочего. Хотя могу сказать, что в принципе этот момент в будущем скорее всего будет успешно исправлен. Ну просто потому что поездам не надо проникать в игрока, в отличие от триггеров. Просто на данный момент используется старый код детектирования коллизии из Quake (естественно в кодобазе на Shot, не в движке).
- Водяные объемы. Ну тут всё просто - нахождение предмета в воде определяется по результату возврата функции POINT_CONTENTS, а контентсы можно считать только и исключительно для объема. Если в первыми двумя пунктами ещё есть вероятность, что я это дело разрулю и исправлю, то здесь без вариантов. Вода будет работать только и исключительно с брашами. Если в движке нету брашей, там соответственно нет и никакой воды. Либо вода есть - но фейковая, как в Сталкере. Либо вода есть, но глобальная на всю карту и задаётся через гигантскую плоскость, как в Кризисе. А вот чтобы делать какую угодно воду, как в Quake - тут без брашей не обойтись.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 220981

Старое сообщение сегодня 15:07
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12937
Возраст: 32

Рейтинг



Вроде как в любом физическом движке есть замкнутые коллайдеры для триггеров? Причём и трассу ими можно делать, там коробкой, сферой или капсулой. А вот для полигонов уже мешколайдер. Так что в целом это и всё и без брашей может работать даже для полигональной геометрии как в Юнити.
Но если делать по заветам Кармака, то да придётся писать целую систему. В Юнити кстати проваливания я крайне редко замечал, в основном только в тех случаях когда объект имел какое то неадекватное ускорение.

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

Ещё я помню очень давно когда я делал карту на конкурс по хл, был случай когда на ровном месте появлялась невидимая и непроходимая плоскость.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro сегодня в 16:02

Сообщить модератору | | IP: Записан
Сообщение: 220982

Старое сообщение сегодня 15:52
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 18:15. Новая тема    Ответить
Страницы (244): « Первая ... « 240 241 242 243 [244]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024