Sidebar

Новая версия VHLT с поддержкой теней от студиомоделей

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Новая версия VHLT с поддержкой теней от студиомоделей

Вначале немного истории, как эти компиляторы вообще образовались.
Как вы наверное помните, изначально я вообще не собирался копаться в китайских компиляторах. Точнее я добавил поддержку BSP31, и попросил китайца, чтобы он включил её в официальные билды. Ну и заодно поддержку делюксмапы. Он всё это сделал, примерно с 32-й версии это попало в релиз и я думал, что на этом больше их трогать не понадобится.
А потом, как вы наверное помните я приступил к разработке второй паранои.
В процессе работы над ней понадобилась доп. информация, тангент-спейс для бампа, кубемапы, и самая интересная фича - поддержка теней от студиомоделей. Это всё было оформлено в виде некоего расширения формата (ну примерно так же Ксерокс сохранял новую инфу в HLFX 0.6) и я забыл об этом почти на год. Но в этом году произошли некоторые изменения приоритетов, в частности остановка разработки XashNT и возобновление работ над новым рендерером паранои, который будет включать в себя такие интересные вещи, как например ландшафты. Тогда я уже всеръез задумался о том, что мне нужен некий универсальный формат-надстройка, который не будет отменять старые наработки, не будет ломать совместимость и будет работать во всех модах под ксаш без исключения, а не только в параное. Важным моментом было еще и то, что мне надо было сохранить совместимость со старым расширением уровней паранои, которая уже была зарелижена (интересно вот эту херню, которую я щас написал вообще читает кто-то или сразу тыкают скачать?).
Так или иначе, я выполнил все эти условия и получил на выходе тотальное обновление компилятора. Забегая вперёд скажу, что совместимость с халфой никуда не делась и тени от моделей будут работать и под голдсорсом тоже. На данном этапе мне хотелось бы протестировать баги нахождения рабочей директории игры (и соответственно возможность загружать модельки для отбрасывания от них теней). Возможно всплывут и какие-то другие баги, посмотрим. Когда мы всё это оттестируем, я выложу исходники компилятора и вы наконец-то сможете собрать его в 64 бита, дать товарищам с форума свенкупа итак далее. Я единственно чего боюсь, чтобы они меня не приняли за второго китайца и не начали задалбывать реквестами.
Теперь немного расскажу об изменениях в новой версии (сравнивая с VHLT34).
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 и покомпилить карты. Если всё равно будет вылетать - это уже не моя вина.

Остальные изменения вам вряд ли будут интересны, они скорее технические и для меня.
В архиве два комплекта - bsp30 под халфу, bsp31 - под ксаш. Ну ессно ксаш и bsp30 тоже загрузит.

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

Update at 21.12.2016
1. Переработан механизм определения игровой директории мода. Сейчас единственное требование это наличие карты в папке maps, расположение компилятора уже не столь критично. Можете так же держать его в папке maps, если кто-то так раньше делал. Однако не советую держать его на другом диске.
2. Механизм симплификации моделей отключен для zhlt_shadowmode 0 и 1, оставлен только для режима 2. В первых двух режимах он всё равно не давал особого прироста, а в тени появлялись дырки.
3. Устранено зависание компилятора, когда процент сделаной работы равен 99.9% (иногда бывает).
4. для студиомоделей выключены тени от additive мешей.

Update at 23.12.2016
Несколько мелких исправлений.
 

Attachments

Last edited:

NarutoUA

Хокаге
Nov 17, 2010
948
27
25
0
Ukraine
Хотелось бы увидеть парочку скриншотов которые демонстрируют эти новые фичи.
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Зависимость от скейла, только в халфе, в ксаше её как раз таки нет. Ну тут уж я ничего не поделаю.
 

Gaia

Чёрный вертолёт
Aug 4, 2008
4,584
37
85
0
ухтыж, дак это теперь можно маску делать для освещения, отлично :)
 

Gaia

Чёрный вертолёт
Aug 4, 2008
4,584
37
85
0
2 Дядя Миша:
дм, а вот скажи, можно ли сделать для куклеров специальный флаг, который бы использовался только в хлрад для рассчета освещения по модели, при этом сама ентити игнорировалась бы, не?
 

mittorn

New member
Apr 22, 2010
1,213
15
0
Мне интересно (чисто из любопытства), можно ли сделать тень от ентити выключаемой? Например, сдвинулась ентитя и тень пропала?
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
2 mittorn: в самом VHLT есть какая-то энтить для контроля. Даже вроде карта-пример была на форуме свенкупа.
2 Gaia: поставь ей effects 128 или вообще удали с карты
 

ZombieSource

Sehr geile Sprayers!
Jun 13, 2010
681
Flash said:
Чёткий грант против "не чёткого". %)
Жаль что прямая зависимость от скейлинга текстур. Но всё равно круто!
Не совсем понял. Это Xash, или обычный GS? И как это настраивать?

И куда пихать модель чтоб оно читало? У меня пишет всегда
Warning: LoadStudioModel: couldn't load models/player/cso2_lisaNY1/cso2_lisaNY1.mdl

a) He is not able to load studiomodels from the game folder, only the base
Пихал модели уже в корень самого GS, в папку с компиляторами тоже. Нигде не может загрузить модель :(
 
Last edited:

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Custom Lightning for Models
Вот для моделек с тенями я полагаю эта штука пригодится.

2 ZombieSource: первый пост не пробовал читать?
Модель пихать никуда не надо, надо компилить карты в папке игры. Кварк всегда так делает, почему хаммер непременно предлагает компилить где-то в отдельной папке я не понимаю.

Пихал модели уже в корень самого GS, в папку с компиляторами тоже
Иными словами по твоей логике, если бы ты делал такой компилятор, то предложил бы юзеру таскать модели туда-сюда, так чтоли?
 

ZombieSource

Sehr geile Sprayers!
Jun 13, 2010
681
Дядя Миша said:
Вот для моделек с тенями я полагаю эта штука пригодится.

2 ZombieSource: первый пост не пробовал читать?
Модель пихать никуда не надо, надо компилить карты в папке игры. Кварк всегда так делает, почему хаммер непременно предлагает компилить где-то в отдельной папке я не понимаю.

Иными словами по твоей логике, если бы ты делал такой компилятор, то предложил бы юзеру таскать модели туда-сюда, так чтоли?

Ну, я видел всякое, и таскать туда-сюда файлы это не самое плохое...
Попробовал запихнуть компиляторы с батником в корень папки мода. Не видит модели. В корень голды, тоже не видит. в cstrike\maps\ - тоже не видит :(

gamedir: , basedir , falldir
rootdir ..\
Current search path:
Warning: LoadStudioModel: couldn't load models/player.mdl

Может чего-то не хватает в батнике?

@echo off
set WADROOT=C:\Games\MegaHalf-life\valve
set mapname=modelshadows1.map

hlcsg30.exe -estimate -nowadtextures "%mapname%"
hlbsp30.exe -estimate "%mapname%"
hlvis30.exe -estimate -full "%mapname%"
hlrad30.exe -estimate "%mapname%"
 
Last edited:

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
2 ZombieSource: ну обратись к Флэшу, у него почему-то всё получилось.
Вообще я очень не советую юзать ..\ в путях. Это одна из причин по которым ничего не работает.
 

ZombieSource

Sehr geile Sprayers!
Jun 13, 2010
681
Дядя Миша said:
2 ZombieSource: ну обратись к Флэшу, у него почему-то всё получилось.
Вообще я очень не советую юзать ..\ в путях. Это одна из причин по которым ничего не работает.
Настроил все через хаммер, и вдруг заработало. А через батник - где ни компиль, не работает. Но хаммер виснет спустя пару секунд после начала компиляции
 

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord