Sidebar

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

Команда форума
VIP
28.03.2010
15 329
253
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Новая версия 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
Несколько мелких исправлений.
 

Вложения

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

Qwertyus

Well-known member
13.08.2009
1 363
26
48
Награды
1
  • Xash медаль
Крутяк :)

[ADDED=Qwertyus]1482007794[/ADDED]

П. С. Читают :D
 

NarutoUA

Хокаге
17.11.2010
950
28
28
Награды
0
22
Ukraine
Хотелось бы увидеть парочку скриншотов которые демонстрируют эти новые фичи.
 

Flash

VIP
VIP
21.09.2004
16 804
236
63
Награды
7
36
Кривой Рог
  • Золотая медаль 111
  • Серебряная медаль 216
  • Золотая медаль 221
  • Серебряная медаль 311
  • Серебряная медаль 115
  • Золотая медаль 125
  • Золотая медаль 211
Чёткий грант против "не чёткого". %)
Жаль что прямая зависимость от скейлинга текстур. Но всё равно круто!
 

Вложения

  • Like
Reactions: NarutoUA
Команда форума
VIP
28.03.2010
15 329
253
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Зависимость от скейла, только в халфе, в ксаше её как раз таки нет. Ну тут уж я ничего не поделаю.
 

Chakki Skrip

Active member
13.09.2014
488
71
28
Награды
0
23
next21.ru
Отличная работа :drink:
Но похоже аваст ругается на файлы.
 

Вложения

  • 13.8 КБ Просмотров: 293

Qwertyus

Well-known member
13.08.2009
1 363
26
48
Награды
1
  • Xash медаль

Gaia

Чёрный вертолёт
Спонсор
04.08.2008
4 601
103
63
Награды
0
32
ухтыж, дак это теперь можно маску делать для освещения, отлично :)
 
Команда форума
VIP
28.03.2010
15 329
253
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Да вроде не было никаких вирусов, винда свежая, после формата.
 

Gaia

Чёрный вертолёт
Спонсор
04.08.2008
4 601
103
63
Награды
0
32
2 Дядя Миша:
дм, а вот скажи, можно ли сделать для куклеров специальный флаг, который бы использовался только в хлрад для рассчета освещения по модели, при этом сама ентити игнорировалась бы, не?
 

mittorn

Active member
22.04.2010
1 225
19
38
Награды
0
Мне интересно (чисто из любопытства), можно ли сделать тень от ентити выключаемой? Например, сдвинулась ентитя и тень пропала?
 
Команда форума
VIP
28.03.2010
15 329
253
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 mittorn: в самом VHLT есть какая-то энтить для контроля. Даже вроде карта-пример была на форуме свенкупа.
2 Gaia: поставь ей effects 128 или вообще удали с карты
 

ZombieSource

Sehr geile Sprayers!
13.06.2010
695
46
28
Награды
3
LightenWoods
  • Серебряная медаль 131
  • Бронзовая медаль MM18
  • Серебряная медаль 103
Flash сказал(а):
Чёткий грант против "не чёткого". %)
Жаль что прямая зависимость от скейлинга текстур. Но всё равно круто!
Не совсем понял. Это 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, в папку с компиляторами тоже. Нигде не может загрузить модель :(
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 329
253
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Вот для моделек с тенями я полагаю эта штука пригодится.

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

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

ZombieSource

Sehr geile Sprayers!
13.06.2010
695
46
28
Награды
3
LightenWoods
  • Серебряная медаль 131
  • Бронзовая медаль MM18
  • Серебряная медаль 103
Дядя Миша сказал(а):
Вот для моделек с тенями я полагаю эта штука пригодится.

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%"
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 329
253
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 ZombieSource: ну обратись к Флэшу, у него почему-то всё получилось.
Вообще я очень не советую юзать ..\ в путях. Это одна из причин по которым ничего не работает.
 

ZombieSource

Sehr geile Sprayers!
13.06.2010
695
46
28
Награды
3
LightenWoods
  • Серебряная медаль 131
  • Бронзовая медаль MM18
  • Серебряная медаль 103
Дядя Миша сказал(а):
2 ZombieSource: ну обратись к Флэшу, у него почему-то всё получилось.
Вообще я очень не советую юзать ..\ в путях. Это одна из причин по которым ничего не работает.
Настроил все через хаммер, и вдруг заработало. А через батник - где ни компиль, не работает. Но хаммер виснет спустя пару секунд после начала компиляции
 

Донат - Операционные расходы

Итого
1 250.00 $
Цель
1 300.00 $
Донат завершается:

Доноры Красавчики

Пользователи онлайн