P2: Savior map compile tools 0.93 beta
С момента последнего обновления компиляторов прошло почти полгода. В основном его тестирование протекало в непубличном режиме и исправлялись некоторые ошибки. Я не торопился выкладывать обновление, зная что к моменту релиза ксаш-мода еще обязательно что-нибудь поменяется и это внесёт путаницу. Но теперь стандарты устаканились и проблем быть не должно.
Что изменилось с версии 0.9
- Выработан единый стандарт для расширенного формата, который совпадает с уже выложенными компиляторами VHLT. По этой причине пользователей паранои прошу воздержаться от использования компиляторов до выхода апдейта самой паранои.
- добавлен рассчёт Leaf Ambient Lighting как и в VHLT. Весьма вероятно что его будут использовать как ксаш-мод так и параноя.
- исправлено сглаживание нормалей для мира и для повертексного освещения env_static
- исправлен баг с извлечением пути к игровой директории из пути до компилируемой карты (иногда проявлялся)
- рад научился грузить вады из паков
- csg автоматически создаёт оригин-браш для func_portal, если маппер забыл это сделать (актуально для ксаш-мода)
- исправлен баг с режимом -onlyents (сбивались оригины моделей)
- исправлен баг с авто-определением вадов
- повертексное освещение теперь считается для алиас-моделей тоже
- улучшено повертексное освещение моделей от солнца
- Ambient Occlusion (включается параметром -dirty у p2rad)
- Исправлен вылет в случае, когда на карте не было ни единого фейса с лайтмапой (но были модели с повертексным освещением)
- исправлено отбрасывание тени от бмоделей с флажком Opaque (не работало)
- для alias-моделей повертексное считается для класса misc_model, однако увидеть результат пока что негде
Документация
Настройки энтить и их описание
"zhlt_invisible" 0\1 - позволяет сделать энтитю невидимой.
"zhlt_noclip" - 0\1 - позволяет сделать энтитю несолидной. При обоих включённых параметрах, от энтити останется только описание.
"zhlt_forcelightmap" - 0\1 - по умолчанию лайтмапа для воды не просчитывается. Эта настройка включает рассчёт принудительно.
"zhlt_detaillevel" - Для func_detail уровень приоритетности, а так же принадлежность к группе детайлов. Если выставить в 0, то func_detail превратится в func_group.
"zhlt_chopup" - позволяет искуственно поднять detaillevel для отдельно взятой группы для видимого хулла.
"zhlt_chopdown" - позволяет искуственно занизить detaillevel для соседней группы, с целью определения кто кого должен порезать во время CSG. Используется в том, случае если у вас два браша с одинаковым detaillevel перекрывают друг-друга, но вычитаются не так как вам бы хотелось,а detaillevel менять нельзя.
"zhlt_clipnodedetaillevel" - аналогично "zhlt_detaillevel" но для хуллов коллизии. Если не указан явно. то используется "zhlt_detaillevel".
Иногда помогает избавится от глюков с коллизией в детайлах, но обычно не требуется.
"zhlt_coplanarpriority" - на тот случай, если один браш полностью покрывает другой и вы хотите определится, то ли маленький вырежет дырку в большом, то ли большой уничтожит маленький полностью.
Примечание: в большинстве случаев CSG сам корректно обрабатывает все эти случаи и подсказки ему не требуются.
"zhlt_nocsg" - 0\1 Отключение CSG полностью. В некоторых сложных случаях использование CSG резко увеличивает BSP-дерево\приводит к появлению битых полигонов и прочих неожиданностей. В этом случае вы можете попробовать отключить его совсем, для выбранной группы брашей (например func_group). Но помните, что при отключённом CSG невидимые грани не удаляются. Но вы можете самостоятельно закрасить их нуллом, как это делают мапперы под Quake3. (возможны проблемы под софтварным рендерером)
"zhlt_landscape" - имя описания настроек ландшафта в mapname_land.txt Пример можно посмотреть в xashXT 0.8 на карте grass_test2.
"zhlt_texturestep" - разрешение лайтмапы на сурфейсе. По умолчанию используется соотношение 1 люксель на 16 текселей. Таким образом чем ниже значение - тем выше разрешение лайтмапы. Еденица даёт тени, похожие на стенсильные, но это очень долго считается.
"zhlt_maxextent" - при разрешении лайтмапы в 1 люксель на 16 текселей, полигон делится через каждые 240 юнитов (texture_step * max_extent - texture_step). При увеличении разрешения лайтмапы возрастает и частота разбиения, она будет равна уже 120 юнитов. Что в конечном итоге быстро исчерпает лимит на сурфейсы. Чтобы избежать этого, ставьте zhlt_maxextent равным 64 (максимальное значени 12
.
"zhlt_worldluxels" - 0\1\2 По умолчанию размер люкселя привязан к размеру текселя, а тот в свою очередь к скейлу текстуры, из-за чего крайне тяжело достичь равномерного освещения, поскольку гуляет плотность лайтмапы. Данная настройка позволяет отвязать размер люкселя от текселя и привязать к размеру мирового юнита. В первую очередь это полезно для убирания швов и других странных артефактов. Но и на стандартный халфовский фонарик влияет крайне положительным образом, пятно его света больше не зависит от скейла текстур.
"zhlt_usestyle" - позволяет явным образом задать лайтстиль, который должна использовать данная энтить. Иногда помогает устранить противоречия в переключаемых лампочках.
"zhlt_lightflags" 2 - брашевые энтити отбрасывают тени. Остальные флаги не используются.
"zhlt_modelshadow" - 0\1 заставляет любую энтить отбросить тень от места своего расположения. Используется для GoldSource.
Параметры и настройки для env_static:
"spawnflags" "4" - запрет на отбрасывание тени
"spawnflags" "8" - запрет на повертексное освещение
"zhlt_selfshadow" 0\1 - самозатенение для повертексного освещения
"zhlt_halflambert" - использовать half-lambert модель вместо phong. Актуально, например для деревьев или труб.
"zhlt_nosmooth" - отключить сглаживание нормалей для повертексного освещения. Используется в случае модели с некорректными нормалями или достижения эффекта жестких углов.
Тестируйте, сообщайте об ошибках. Обновление компиляторов выложено в рамках подготовки к релизу XashXT 0.8
Update at 12.06.2018
- Исправлен баг стенями от альфа-текстур в моделях
- Компилятор научился читать mapname.rad из пак-файла
Update at 12.06.2018
- исправлено несколько ошибок
- авто-конверсия параметров multi_switcher(критично для ксаш-мода).
Update at 16.06.2018
- исправлено несколько ошибок
- добавлен параметр zhlt_nosmooth для env_static
Ссылка на скачивание:
С момента последнего обновления компиляторов прошло почти полгода. В основном его тестирование протекало в непубличном режиме и исправлялись некоторые ошибки. Я не торопился выкладывать обновление, зная что к моменту релиза ксаш-мода еще обязательно что-нибудь поменяется и это внесёт путаницу. Но теперь стандарты устаканились и проблем быть не должно.
Что изменилось с версии 0.9
- Выработан единый стандарт для расширенного формата, который совпадает с уже выложенными компиляторами VHLT. По этой причине пользователей паранои прошу воздержаться от использования компиляторов до выхода апдейта самой паранои.
- добавлен рассчёт Leaf Ambient Lighting как и в VHLT. Весьма вероятно что его будут использовать как ксаш-мод так и параноя.
- исправлено сглаживание нормалей для мира и для повертексного освещения env_static
- исправлен баг с извлечением пути к игровой директории из пути до компилируемой карты (иногда проявлялся)
- рад научился грузить вады из паков
- csg автоматически создаёт оригин-браш для func_portal, если маппер забыл это сделать (актуально для ксаш-мода)
- исправлен баг с режимом -onlyents (сбивались оригины моделей)
- исправлен баг с авто-определением вадов
- повертексное освещение теперь считается для алиас-моделей тоже
- улучшено повертексное освещение моделей от солнца
- Ambient Occlusion (включается параметром -dirty у p2rad)
- Исправлен вылет в случае, когда на карте не было ни единого фейса с лайтмапой (но были модели с повертексным освещением)
- исправлено отбрасывание тени от бмоделей с флажком Opaque (не работало)
- для alias-моделей повертексное считается для класса misc_model, однако увидеть результат пока что негде
Документация
Настройки энтить и их описание
"zhlt_invisible" 0\1 - позволяет сделать энтитю невидимой.
"zhlt_noclip" - 0\1 - позволяет сделать энтитю несолидной. При обоих включённых параметрах, от энтити останется только описание.
"zhlt_forcelightmap" - 0\1 - по умолчанию лайтмапа для воды не просчитывается. Эта настройка включает рассчёт принудительно.
"zhlt_detaillevel" - Для func_detail уровень приоритетности, а так же принадлежность к группе детайлов. Если выставить в 0, то func_detail превратится в func_group.
"zhlt_chopup" - позволяет искуственно поднять detaillevel для отдельно взятой группы для видимого хулла.
"zhlt_chopdown" - позволяет искуственно занизить detaillevel для соседней группы, с целью определения кто кого должен порезать во время CSG. Используется в том, случае если у вас два браша с одинаковым detaillevel перекрывают друг-друга, но вычитаются не так как вам бы хотелось,а detaillevel менять нельзя.
"zhlt_clipnodedetaillevel" - аналогично "zhlt_detaillevel" но для хуллов коллизии. Если не указан явно. то используется "zhlt_detaillevel".
Иногда помогает избавится от глюков с коллизией в детайлах, но обычно не требуется.
"zhlt_coplanarpriority" - на тот случай, если один браш полностью покрывает другой и вы хотите определится, то ли маленький вырежет дырку в большом, то ли большой уничтожит маленький полностью.
Примечание: в большинстве случаев CSG сам корректно обрабатывает все эти случаи и подсказки ему не требуются.
"zhlt_nocsg" - 0\1 Отключение CSG полностью. В некоторых сложных случаях использование CSG резко увеличивает BSP-дерево\приводит к появлению битых полигонов и прочих неожиданностей. В этом случае вы можете попробовать отключить его совсем, для выбранной группы брашей (например func_group). Но помните, что при отключённом CSG невидимые грани не удаляются. Но вы можете самостоятельно закрасить их нуллом, как это делают мапперы под Quake3. (возможны проблемы под софтварным рендерером)
"zhlt_landscape" - имя описания настроек ландшафта в mapname_land.txt Пример можно посмотреть в xashXT 0.8 на карте grass_test2.
"zhlt_texturestep" - разрешение лайтмапы на сурфейсе. По умолчанию используется соотношение 1 люксель на 16 текселей. Таким образом чем ниже значение - тем выше разрешение лайтмапы. Еденица даёт тени, похожие на стенсильные, но это очень долго считается.
"zhlt_maxextent" - при разрешении лайтмапы в 1 люксель на 16 текселей, полигон делится через каждые 240 юнитов (texture_step * max_extent - texture_step). При увеличении разрешения лайтмапы возрастает и частота разбиения, она будет равна уже 120 юнитов. Что в конечном итоге быстро исчерпает лимит на сурфейсы. Чтобы избежать этого, ставьте zhlt_maxextent равным 64 (максимальное значени 12
."zhlt_worldluxels" - 0\1\2 По умолчанию размер люкселя привязан к размеру текселя, а тот в свою очередь к скейлу текстуры, из-за чего крайне тяжело достичь равномерного освещения, поскольку гуляет плотность лайтмапы. Данная настройка позволяет отвязать размер люкселя от текселя и привязать к размеру мирового юнита. В первую очередь это полезно для убирания швов и других странных артефактов. Но и на стандартный халфовский фонарик влияет крайне положительным образом, пятно его света больше не зависит от скейла текстур.
"zhlt_usestyle" - позволяет явным образом задать лайтстиль, который должна использовать данная энтить. Иногда помогает устранить противоречия в переключаемых лампочках.
"zhlt_lightflags" 2 - брашевые энтити отбрасывают тени. Остальные флаги не используются.
"zhlt_modelshadow" - 0\1 заставляет любую энтить отбросить тень от места своего расположения. Используется для GoldSource.
Параметры и настройки для env_static:
"spawnflags" "4" - запрет на отбрасывание тени
"spawnflags" "8" - запрет на повертексное освещение
"zhlt_selfshadow" 0\1 - самозатенение для повертексного освещения
"zhlt_halflambert" - использовать half-lambert модель вместо phong. Актуально, например для деревьев или труб.
"zhlt_nosmooth" - отключить сглаживание нормалей для повертексного освещения. Используется в случае модели с некорректными нормалями или достижения эффекта жестких углов.
Тестируйте, сообщайте об ошибках. Обновление компиляторов выложено в рамках подготовки к релизу XashXT 0.8
Update at 12.06.2018
- Исправлен баг стенями от альфа-текстур в моделях
- Компилятор научился читать mapname.rad из пак-файла
Update at 12.06.2018
- исправлено несколько ошибок
- авто-конверсия параметров multi_switcher(критично для ксаш-мода).
Update at 16.06.2018
- исправлено несколько ошибок
- добавлен параметр zhlt_nosmooth для env_static
Ссылка на скачивание:
Вкладення
-
150.5 КБ Перегляди: 213
-
145.5 КБ Перегляди: 248
-
145.6 КБ Перегляди: 231
Останнє редагування:
