HLFX.Ru Forum Страницы (10): [1] 2 3 4 5 » ... Последняя »
Показать все 150 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Paranoia 2:Savior (https://hlfx.ru/forum/forumdisplay.php?forumid=38)
-- Paranoia 2:Savior map compile tools (https://hlfx.ru/forum/showthread.php?threadid=5263)


Отправлено Дядя Миша 17-05-2019 в 12:17:

Paranoia 2:Savior map compile tools

Итак, обновлённая версия компиляторов является результатом большого кол-ва проведённых сравнительных экспериментов, главной задачей которых, была как ни странно цель - скомпилить ad_sepulcher (это карта из Arcane Dimensions). Следует заметить, что 16-битные ограничители в оригинальном BSP30 сделать этого не позволяют, но сам код компиляторов на это вполне рассчитан, т.к. тестирования проводились на XashNT и формате BSP32 (с 32-битными лимитами). Остальные приятные возможности - рекурсивная поддержка префабов и патчей, появились тогда, когда я решил протестировать возможность компиляции карт из Quake3.

Список изменений (+ добавилось, - убрано, * изменилось)
CSG:
+ возможность загружать вады из паков
* в связи с этим вады всегда должны находиться в игровой директории, но зато нет нужды указывать к ним полные пути, имени достаточно.
* -wadinclude теперь аналогично надо указывать имя вада вместо пути
+ поддержка формата map Brush Primitive (Quake3)
+ поддержка формата map Quake2
+ поддержка Bezier Curves из Quake3 (несолидных, впрочем q3map для них тоже не строит коллизию)
+ поддержка misc_external_map из TyrUtils (нерекурсивное вложение карты-префаба, где все брашы должны находится в worldspawn)
+ поддержка misc_model (поддерживается только ase-формат)
+ поддержка рекурсивного вложения префабов (через тот же misc_model, причём в карту попадают только детальные брашы, misc_model и env_static, а всё остальное, в том числе и структуральные брашы удаляется). Впоследствии можно завести еще одну энтить для таких префабов и позволить себе вставлять любые энтить с других карт.
+ если в hulls.txt размеры клипхулла равны нулю, то такой хулл не считается компилятором, например для Quake.
* исправлен параметр -nullifytrigger на -nonullifytrigger
- убраны спецтекстуры "bevel"
- убран параметр zhlt_forcelightmap, лайтмапа для воды считается всегда (ну как и в оригинале)
+ параметры _shadow и _dirt, первый аналогичен zhlt_lightflags 2 и нужен для совместимости с TyrUtils, второй запрещает\разрешает dirtmapping на фейсе или группе фейсов. Так же работает для мировых брашей, если их выделить в func_group.
+ Новые виртуальные энтити func_detail_wall, func_detail_fence и func_detail_illusionary. Аналогичны таковым у TyrUtils и являются чем-то вроде готовых пресетов для func_detail, которым не надо прописывать zhlt_detaillevel, zhlt_noclip и так далее.
+ фейсы покрытые текстурой skip для солидного браша автоматически превращаются в NULL - это тоже поведение из TyrUtils. Если вы хотите именно несолидный браш, то используйте zhlt_noclip 1 (впрочем мапперы именно так и делают).
+ зануляются не только текстуры AAATRIGGER но и текстуры TRIGGER (для Quake).
+ старый классический алгоритм надувания брашей для построения клипов включается параметром zhlt_precisionclip 1. Алгоритм генерирует вчетверо больше клипнодов чем китайский, поэтому им стоит пользоваться только в том случае, если китайский не справился.
* по идее исправлена ошибка CSG, приводящая к тому, что что браш покрытый NULL, при разрезании обычного получал больший приоритет в занулении стенок соседа. Обычно это приводило к загадочным дырам в геометрии, надеюсь такого больше не будет.
- убраны параметры zhlt_clipnodedetaillevel, zhlt_chopup, zhlt_chopdown, zhlt_coplanarpriority.
- New. Исправлен один баг, который приводил к швам лайтмапы на несолидных брашах.

BSP:
* классический прогресс-бар при построении дерева, вместо загадочных циферок.
* .prt файл будет создан даже на карте с дыркой (но помните, что у дырявой карты останется куча полигонов снаружи).
+ автоматическое определение maxnodesize по умолчанию, с целью подобрать наиболее оптимальное значение (базируется на размерах карты)
+ некоторые изменения в генерации порталов, призванные ускорить виз.

VIS:
+ Оптимизатор видимости порталов, нечто вроде вальвовской Leafs Crosscheck, но действующей прямо по ходу PortalFlow. По идее должен немного ускорить виз и улучшить его качество. Сравнительных тестов толком не проводилось.
* исправлен баг с генерацией leaf ambient sound (ветер в Quake).
+ RLE-компрессия далеко не всегда уменьшает размер виздаты, иногда она наоборот его увеличивает. Обе ситуации теперь выделяются зелёным и красным цветом чтобы вы не ломали себе голову как это виздата сжалась с 200 килобайт до 350 килобайт.

RAD:
* пересмотрены константы для непрямого повертексного освещения, думаю должно стать более корректно чем было.
- убран zhlt_halflambert для повертексного освещения, т.к. нарушает целостность модели освещения.
* _minlight не работает если -bounce больше нуля.
* переписан код трассы для возможности кастовать тени от несолидных объектов (например патчей). исправлено несколько мелких ошибок.
+ Drop To Floor для env_static теперь выполняет RAD. Для того чтобы реальное положение модели совпадало с тенью в лайтмапе. Разумеется если выставлен соответствующий флаг.
- убран рассчёт визматрицы. В определённых случаях это экономит немного времени и во всех случаях экономит от 10 до 400 мегабайт памяти.
+ Для light_environment строится vis, что позволило ускорить рассчёты света от солнца.
+ Поддержка всех типов лампочек из Quake (более подробно в инструкции по TyrUtils).
+ для большинства операций выводится размер занятой памяти для предварительной оценки суммарного потребления
+ на реальных условиях оттестировано потребление в 3GB памяти. К тому же аллокаторы в случае отказа API еще минуту пытаются всё же выделить кусок памяти (например если Windows перестраивает свой своп, он может на какое-то время отказать в выделении памяти). С учётом того, что визматрица упразднена, ситуация когда памяти может нехватить стала еще менее вероятной.
+ введён ключ -quake, который гамму ставит в 1.0, а -dscale в 0.5 и -sky 0.0, а так же включает -lightbalance. Не считая того, что для регулировки гаммы отдельного параметра не предусмотрено это фактически презет, для того чтобы сделать освещение чисто кушным ну прямо как структура папок. Полезно для тех, кто будет делать карты для Quake под враппер, например.
+ New. Реализована подгрузка внешних текстур для моделей, чтобы отбрасывать тень от Additive поверхностей, если во внешней текстуре есть альфа-канал. В стадии тестирования.
+ New. Корректный релайтинг карт, которые были сконвертированы при помощи утилиты bsp31migrate.

Дополнения:
В эту версию так же включены компиляторы света для GoldSource, Paranoia и Doom Remake. Соответственно для них отключены те вещи, которые используются только P2:Savior, что позволило увеличить скорость их работы\объем потребляемой памяти. Но бамп в стиле P2, они разумеется не считают. Компилятор света для Paranoia даёт более мягкое освещение по сравнению с bumprad и скорее всего позволит избежать залысин - характерной проблемы первой паранои. С другой стороны, бамп скорее всего будет не так ярко выражен. Тестируйте. dlight.exe - это "компилятор" света для Doom Remake, строго говоря это и не компилятор вовсе, но посекторное освещение он тем не менее рассчитывает. Предназначается для использования в паре с doom2gold. Иначе не работает.

Известные проблемы:
По сравнению с версией 0.93 на некоторых картах может вылезти дырка, хотя в реальности её там нет. Случай весьма редкий, но тем не менее.

Патчи, как их вставлять на карту:
Я не знаю. QuArK позволяет сохранять для Half-Life карты в формате Brush Primitive к тому же описание патчей корректно поддерживается для Quake2 формата. Это должно быть учтено в JackHammer, но подробностей я не знаю. т.к. не пользуюсь им. На всякий случай прилагаю исходник тестовой карты.

Тестирование:
по входным и выходным форматам компиляторы полностью совместимы с преведущей версией 0.93, поэтому в случае какого-то регресса, вы всегда можете подменить проблемный участок и убедиться, что дело действительно в нём, ну и конечно же оставить багрепорт в этой теме, приложив карту для воспроизведения бага.

ЗЫ. То что помечено как New отсутствует в релизах на CSM. Я не стал перечислять здесь все исправления, начиная с версии 0.96, только возможности. Но вы в любом случае можете оставить багрепорт.

Update at 20.05.2019
- исправлен вылет у p2rad при старте BuildFaceLights.

Update at 25.06.2019
- версия компиляторов обновлена до 0.98
- поддержка лайтмап на моделях (ключ zhlt_modellightmap 0/1).
- оптимизация потребления памяти вдвое (экспериментальное нововведение)
- подправлен режим освещения из ZHLT _falloff 1
- на моделях специальный параметр zhlt_backfrac, помогающий предотвратить лайтлики на этой модели (пример - kung.bsp из тестовых карт P2).
- введён параметр -onlylights который на самом деле ни для чего не нужен. (взамен устаревшей поддержки Мытищ).
- расширены лимиты на освещение моделей, как повертексно так и лайтмапами. Максимум - 524 тысячи треугольников в модели.
- оптимизация рассчёта повертексного освещения. В некоторых ситуациях (мало высокополигональных моделей) может стать в несколько раз быстрее.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 19-05-2019 в 13:28:

Раз ты снова какие-то изменения вносишь, я напомню про пару багрепортов которые я оставлял в теме на КСМ.


Отправлено Дядя Миша 19-05-2019 в 13:34:

Crystallize как минимум один из них учтён в этом релизе и уже исправлен. Там где на трубах швы были. Второй не помню.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 19-05-2019 в 13:50:

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

Добавлено 19-05-2019 в 20:50:

Ах да, и ещё был третий багрепорт про пропадающий фрагмент стенки на декомпиле из ХЛ2, там я тоже выложил конкретно маленький фрагмент карты где это происходит.


Отправлено Дядя Миша 19-05-2019 в 14:38:

Crystallize то что было на CSM я уже не найду. перевыложи здесь.

__________________
My Projects: download page

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

Цитата:

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


Отправлено thambs 19-05-2019 в 15:15:

Цитата:
_minlight не работает если -bounce больше нуля.

Как теперь правильно делать fullbright поверхности?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Дядя Миша 19-05-2019 в 15:22:

thambs через флажок EF_FULLBRIGHT.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 20-05-2019 в 09:06:

вылетает рад: 0.93beta update 2 отрабатывает, 0.95 anniversary вылетает.


Отправлено Crystallize 20-05-2019 в 09:09:

Карта-коробка с двумя брашами для которых неправильно генерится коллизия.


Отправлено Crystallize 20-05-2019 в 09:10:

Наверху башенки пропадает вертикальный фейс.


Отправлено Дядя Миша 20-05-2019 в 10:32:

Crystallize да, вот про вылет попо дробнее. Вылет происходит на 0% BuildFaceLights, верно?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 20-05-2019 в 12:03:

Дядя Миша верно.


Отправлено LeFront 20-05-2019 в 12:23:

Так и не поборол пока, что вылет p2rad на buildfacelights 0%
Попробовал все карты из Ioh2
Сейчас попробую новую сделать, какую нибудь


Отправлено Дядя Миша 20-05-2019 в 16:16:

Разобрался с вылетом на buildfacelights 0%
Это происходит при условии что на карте есть light_environment и ни одного скайфейса.

Добавлено 20-05-2019 в 19:10:

По поводу сломанного хулла - вот как раз тот случай когда zhlt_precisionclip 1 спасает положение. Отправляем два проблемных браша в func_group, и там в настройках прописываем zhlt_precisionclip 1

Добавлено 20-05-2019 в 19:12:

От выпадения фейса спасает zhlt_nocsg 1, но мне кажется там в чём-то другом дело.

Добавлено 20-05-2019 в 19:16:

Вылет исправил, выложил обновление.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 21-05-2019 в 18:57:

Спасибо, теперь освещает.
Про хулл и про фейс будешь ещё разбираться что там происходит?


Временная зона GMT. Текущее время 21:12. Страницы (10): [1] 2 3 4 5 » ... Последняя »
Показать все 150 сообщений этой темы на одной странице

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