# Репозиторий для PBR-материалов Half-Life ## Если вы хотите просто попробовать материалы 1. Через командную строку склонируйте репозиторий в удобную директорию выполнив в ней: * `git lfs install` * `git clone https://rtxash.omgwtf.ru/Half-Life-RTX/Half-Life-PBR.git` 2. Сделайте монтирование (не требуется прав в Windows) или символьные ссылки для уже готовых PBR. Например: * для Windows * `mklink /J "D:\hl1dev\xash3d-fwgs\valve\pbr" "D:\hl1dev\Half-Life-PBR\valve\pbr"` * для Linux * `ln -s ~/hl1dev/Half-Life-PBR/valve/pbr ~/hl1dev/xash3d-fwgs/valve/pbr` 3. Всё, теперь текстуры будут автоматически подгружены в игре в лучевом режиме. ## Если вы хотите присоединиться к ремастерингу материалов 1. На текущий момент вы должны знать [основы Git.](https://githowto.com/ru) Позже возможно появится специальный сервис где вы сможете загрузить текстуры и поправить материалы без технических знаний по Git. 2. Попросите приглашение у Провода. 3. После регистрации форкните Half-Life-PBR на свою учётную запись (справа сверху кнопка "Форкнуть"). 4. Склонируйте репозитории в удобную директорию: * `git clone https://rtxash.omgwtf.ru/Half-Life-RTX/Half-Life-prepared-original-textures.git` * `git clone https://rtxash.omgwtf.ru/Ваша_учётная_запись/Half-Life-PBR.git` 5. Делаем точки монтирования (не требуется прав) или символьные ссылки для уже готовых pbr. Например: * для Windows * `mklink /J "D:\hl1dev\xash3d-fwgs\valve\pbr" "D:\hl1dev\Half-Life-PBR\valve\pbr"` * для Linux * `ln -s ~/hl1dev/Half-Life-PBR/valve/pbr ~/hl1dev/xash3d-fwgs/valve/pbr` 6. Находим желаемые для ремастеринга текстуры, например можно узнать названия текстур под прицелом через команду `r_infotool` (можно назначить на клавишу `u` через `bind u "toggle r_infotool"`). 7. Из `Half-Life-prepared-original-textures` копируем в pbr нужные нам заготовки текстур соблюдая ту же структуру папок и именования файлов. 8. Модифицируем эти текстуры согласно руководствам (будут добавлены позже). 9. Раскомментируем строки связанных материалов в файле материалов текстур чтобы задействовать новые текстуры. 10. Смотрим на результат в игре. Рендер поддерживает перезагрузку материалов на лету через консольную команду `rt_debug_reload_patches` (`bind g rt_debug_reload_patches`), однако если вы хотите менять одну и ту же текстуру вам потребуется временно добавить в материал строку `"force_reload" "1"` (на данный момент рендер не может сам определить изменялась текстура или нет). 11. Когда материал готов, коммитим в свой форк изменение и выставляем пулл реквест в основной репозиторий. Если вы всё сделали правильно ваши изменения уйдут в основной репозиторий. 12. Время от времени нужно обновлять свой репозиторий до актуального состояния основного репозитория: ```bash git remote add upstream https://rtxash.omgwtf.ru/Half-Life-RTX/Half-Life-PBR # разово git pull upstream master # если что-то пошло не так вы можете сбросить свой репозиторий git fetch upstream git checkout master git reset --hard upstream/master git push origin master --force ``` ## Работа с материалами Для ремастеринга материалов будут подготовлены несколько статей (работа с нейросетями, Materialize и т.п.). Формат материалов описан [здесь](https://github.com/w23/xash3d-fwgs/wiki/Формат-PBR-материалов). В дальнейшем вся связанная с ремастерингом документация продублируется в вики этого хранилища.