Для начала объясню что это такое и зачем это нужно. Это - расширенная и дополненная версия компиляторов VHLT V34 от Vluzacn. Первоначально эти компиляторы использовались для паранои, но потом были сильно переработаны с целью получить универсальный расширенный формат карт для Xash3D, одновременно совместимый и с GoldSrc. Разумеется большая часть нововведений будет корректно работать только под Xash3D, но и для пользователей GoldSrc тоже есть кое-что интересное, а именно - тени от студиомоделей. Данный билд отличается от этого двумя новшествами:
1. при помощи нашего форумчанина компиляторы были скомпилены в 64-битные версии, что положительно сказывается на скорости их работы и помогает избежать ошибок нехватки памяти во время компиляции освещения, но разумеется годится только для тех, у кого 64-х битная операционная система.
2. выложен полный исходный код компиляторов. Для тех, кому это важно.
Остальные возможности остались такими же, перечислю их еще раз:
1. расширение формата. Расширение это набор новых лумпов, который может будет как в версии для халфы (халфа его игнорирует), так и BSP31.
В основном для использования различными модами. Но частично используется и самим движком, например для регулировки качества лайтмапы.
2. возможность регулирования качества лайтмапы на отдельно взятом браше, а так же возможность изменения субдивайда на отдельно взятом браше. Это масштабируемый механизм, вы можете задавать как глобальные параметры для всей карты (в настройках worldspawn), так оверрайдить для отдельно взятого браша\энтити (для браша, который часть уровня его следует поместить в func_group).
Настройки:
zhlt_texturestep - определяет кол-во текселей на люксель. От 2 до 64.
2 - сверхчёткая лайтмапа, 64 - больше похоже на вертексное освещение.
Для халфы дефолтное значение 16, для BSP31 - 8.
zhlt_maxextent - шаг субдивайда. От 8 до 128. Работает в паре с zhlt_texturestep, поэтому субдивайд считается по простой формуле:
(zhlt_texturestep * zhlt_maxextent) - zhlt_texturestep
Пример для халфы
(16 * 16) - 16 = 240;
Пример для BSP31
((8 * 64) - 8 = 504;
получившееся значение - это через сколько юнитов будет следующий разрез. Легко догадаться, что чем реже разрезы, тем меньше полигонов и тем быстрее скорость отрисовки уровня. В халфе работать не будет, только лайтмапа съедет. Работает в Xash3D и будет работать в XashXT и Paranoia (но на данный момент обновления еще не вышли).
3. Тени от моделей. Эта фича работает везде, но с небольшими оговорками. Во первых надо понимать, что модель берёт освещение с пола, а если на полу будет тень, то она может сильно затемнить модель. Из этой ситуации умеет выходить только параноя с очень сложным лайтменеджером, но в других модах возможны косяки освещения. Будьте бдительны. В крайнем случае юзайте effects 16, чтобы модель брала освещение с потолка. Этот лайфхак годится и для ксаша и для халфы, а опытные мапперы про него и так в курсе.
Настройки:
Для env_static в ксаш-моде и параное тени включаться автоматически, а для всех остальных модов есть параметр
zhlt_studioshadow (0\1)
самое главное, чтобы у энтити в поле model был прописан путь к модели.
Остальное уже на ваше усмотрение. Можете даже монстра заставить отбрасывать статичную тень, но помните, что он уйдет, а тень останется.
zhlt_shadowmode (0\1\2). Баланс качества\скорости рассчёта. По дефолту еденичка. Для моделей с транспарентными текстурами надо использовать именно еденичку, поскольку тени от дырявых текстур есть только в этом режиме. Режим 0 самый похабный, режим 2 самый точный. На точность еще влияет разрешение лайтмапы, но для пользователей халфы это недоступно, как понимаете.
4. Ускорение работы HLCSG (хэширование планесов)
5. Поддержка ландшафтов (для новой паранои). Пока что бесполезно для вас, хотя уже в рабочем состоянии.
6. Новая система прогресс-бара (как в сорсе). Теперь ползёт каждая точечка, а не три точки + цифра процента - удобнее наблюдать за динамикой компиляции.
7. Поддержка прозрачной мировой воды (на данный момент отключена, т.к. вызывает вылеты в раде из-за выключения HLRAD_WATERBLOCKLIGHT). Можете отключить его на чистой версии VHLT34 и покомпилить карты. Если всё равно будет вылетать - это уже не моя вина.
Архив включает в себя набор компиляторов для самых разнообразных целей. В папке vhlt_goldsrc содержатся полностью совместимые версии, которые будут работать как под халфой, так и под ксашем. В папке vhlt_xash содержатся версии, которые будут работать только под ксашем(экзешники содержат цифру 31 в названии), так и теоретически будут работать и там и там (цифра 30 в названии), но ксаш сможет использовать дополнительные возможности, например такие как делюксмапу для более реалистичного освещения моделей, амбиент-кубы и прочее. В то же время я не гарантирую что карты, скомпиленны при помощи этой версии всегда будут работать под голдсорсом. так например изменение разрешения лайтмап убьет совместимость. Иными словами это для опытных девелоперов, которые понимают что делают, тщательно тестируют свои наработки и хотят чтобы карта использовала возможности обоих движков по максимуму. Соответственно суффиксы x86 и x64 - это 32-битные и 64-битные версии, как вы наверное уже догадались.
Ссылка на скачивание: www.hlfx.ru/xash/UnkleMike's ZHLT v34.zip
Перед тем, как запостить новость на форуме свенкопа, мне бы хотелось, чтобы вы их всесторонне потестировали и проверили. Если всё впорядке, то покажем и там.
Update at 16.03.2016 Добавил в архив исходники, в первый раз они туда не попали по недосмотру.
Дядя Миша писал: 4. Ускорение работы HLCSG (хэширование планесов)
Что? Я вот честно, ни разу не сталкивался с таким, чтобы HLCSG работал дольше 10 секунд. Ни на моих говнокартах, ни на чужих исходниках, пусть даже и очень сложных. Вот если бы было ускорение работы hlvis и hlrad, это было бы заметно. CSG и BSP вообще работают очень быстро, т.к. им генерить по сути нечего, кроме геометрии и бсп-дерева.
>Я вот честно, ни разу не сталкивался с таким, чтобы HLCSG работал дольше 10 секунд
Полчаса не хочешь? Большое количество пересекающихся или неаксиальных плоскостей -- и пусть весь мир подождёт.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Скомпилировал свою карту для иох2 этими компиляторами. В принципе в разы быстрее, но вот бампа не было. Но его я так понял и не далжно было быть, тк на п2 не рассчитаны они
LeFront писал: В принципе в разы быстрее, но вот бампа не было
Бамп теперь упакован внутрь карты, то есть нужен билд движка, который умеет ево грузить оттуда. Ну и опять же - там в комплекте есть компиляторы чисто для халфы, с ними не какова бампа и не должно быть.