Автор: suunnnnn
Вот мы и подошли к тому моменту, когда нам нужно скачать Unreal Engine для работы над игрой... Ниже представлен гайд по работе с текстурами.
Поскольку я не нашёл подходящего руководства по этой теме, то решил написать своё. Этот метод должен работать с мэшами, текстурами, материалами и так далее. В большинстве других руководств по UE5 не рассматривается потоковая передача виртуальных текстур, а они используются практически во всех аспектах игры «Сталкер 2».
Нам понадобятся
FModel
Unreal Engine 5.1 (устанавливается через EGS)
Если движок откажется паковать архивы, ссылаясь на отсутствие SDK, установить следующее:
SDK для UE5.1 для Windows
.NET 3.11
Установка
Установка FModel описана в этом руководстве.
Для установки Unreal Engine:
1. Скачайте Epic Games Store, перейдите на соответствующую вкладку, а после — в библиотеку.
2. Нажмите на плюсик правее «Версии UE», нажмите на стрелку вниз справа от версии, выберите версию 5.1.1, запустите установку.
Unreal Engine нужен ОБЯЗАТЕЛЬНО версии 5.1. Не 5.5, не 4.8, не Open-Xray.
3. Запустите движок и дождитесь компиляции шейдеров. Процесс не быстрый.
Как узнать, нужно ли мне всё это делать?
Не уверены, собираетесь ли вы заменить именно виртуальную текстуру? Откройте .uasset для текстуры в FModel и найдите там следующую строку:
"VirtualTextureStreaming": true
Если у вас этой строки нет или стоит false, то этот гайд всё ещё будет для вас актуален. Просто нужно будет пропустить процесс включения и преобразования виртуальной текстуры. Если же эта строчка есть в ассете вашей текстуры, вам обязательно нужно включить виртуальное текстурирование!
Создание проекта
Приступаем к самой работе в движке:
1. Создайте новый проект с шаблоном Games > Blank и выставьте следующие настройки:
Blueprint
Target Platform: Desktop
Quality Preset: Maximum
Starter Content: [ ] (не ставьте галочку)
Raytracing: [ ] (не ставьте галочку)
ОБЯЗАТЕЛЬНО назовите проект stalker 2. Пока что это единственный известный мне способ сделать так, чтобы пакет правильно определялся игрой и работал. Если кто-то знает способ обхода этого нюанса — расскажите.
Настройка параметров
Нажмите пункт «Platforms» и перейдите в «Packaging Settings»
Включите «Use Pak File [X]»
Включите «Use Io Store [X]»
Включите «Generate Chunks [X]»
В поиске введите «cook» и поставьте галочку напротив «Cook everything in the project content directory [x]»
Настройка виртуального текстурирования
1) Выберите меню «Edit» и откройте окно «Project Settings».
2) Введите в поиске "virtual".
3) Проскрольте до пункта «Enable virtual texture support [x]» и активируйте его.
4) ОПЦИОНАЛЬНО Если текстуры, которые вы заменяете, включают в себя следующие параметры, включите их (п. п. автор гайда не уточнил, как это определить):
Активируйте «Enable virtual texture lightmaps [x]»
Активируйте «Enable virtual texture anistropic filtering [x]»
Активируйте «Enable virtual textures for Opacity Mask [x]»
UE5 предложит вам перезапустить себя. Сделайте это и подождите 6 лет, пока он вновь закончит кэшировать шейдеры.
Добавляем текстуры в проект
Добавьте ваши текстуры, повторяя иерархию папок в оригинальном pak файле. То есть если ваша текстура в FModel находится по пути «Stalker2/Content/_Stalker_2/items/loot/SM_loot_backpack_a.uasset», то и внутри проекта она должна полностью повторять этот путь.
Теперь пришло время отредактировать свойства каждой из ваших текстур:
Проверьте свойства вашей текстуры в FModel для этих полей:
[?] CompressionSetting
[?] PixelFormat
[?] sRGB
[?] VirtualTextureStreaming
Вот что вам нужно искать в FModel в зависимости от типа текстур:
Diffuse texture (литера D в конце текстуры)
PixelFormat — DXT1, а CompressionSetting отсутствует, поэтому это текстура «по умолчанию»
Normal texture (литера N в конце текстуры)
PixelFormat — DXT5, а CompressionSetting — TC_Normal так что это "Normal" текстура
RHO (roughness, height, opacity) или другие map-файлы (литеры RHO в конце текстуры)
PixelFormat — DXT1, CompressionSetting — TC_Masks, так что это "Masks" текстура.
Конвертирование в виртуальную текстуру
Как только вы настроили настройки сжатия для всех текстур, настала пора преобразовать их в виртуальные текстуры.
Выберите все текстуры, которые в коде имели строчку VirtualTextureStreaming: true, нажмите ПКМ и выберите Convert To Virtual Texture
Во всплывшем окне вы увидите пункт «Texture Size Threshold». Выберите 4096, а после опускайте значение до тех пор, пока в списке не появятся все текстуры, которые нужно переконвертировать в виртуальные. (п. п.: не знаю, как это скажется на качестве текстур, но автор гайда настаивает на таком подходе)
Нажмите «Save All». У текстур появится плашка «VT» в углу.
Создайте ярлык ассета
Вернитесь в папку Content, кликните ПКМ и создайте новый файл типа «Data Asset».
Выберите «Primary Asset Label»
Дайте ему название в формате «Label_НАЗВАНИЕМОДА», а затем дважды кликните на созданный файл.
Выставите следующие настройки:
Priority: 1 или выше
Chunk ID: 1000 или выше, оно должно быть уникальным, поэтому не выбирайте 1420, так как это число уже занято (п. п.: видимо, автором гайда)
Cook Rule: Always cook
Label Assets in my directory: [x] (ПОСТАВЬТЕ ГАЛОЧКУ)
Выберите в левом верхнем углу «File» и нажмите «Save All».
Запаковываем всё это
Кликните Platforms > Windows > Shipping
Кликните Platforms > Windows > Package Project
Выберите директорию для вашего сгенерированного package, я создал каталог «Build» с подкаталогами для уникальных сборок.
ВАЖНО! Если на этом этапе у вас выйдет сообщение об отсутствии SDK для Windows, загрузите и установите этот пакет.
Процесс займёт много времени.
О-о-очень много времени...
ГОТОВО!
Подготовка и установка .pak файлов
Мы почти у финиша! Осталось только подготовить измененные файлы к установке.
Для этого перейдите в директорию, куда экспортировали файлы, а после переименуйте три файла с chunk id, который вы указали ранее в настройках Label. Переименуйте их по следующему принципу: z_YourMod_P.
Убедитесь, что имя заканчивается на «_P»!
Переместите все три файла в каталог «~mods/».
Затем откройте FModel и убедитесь, что структура директории вашего мода совпадает со структурой оригинальных файлов (папки и весь путь до измененных ресурсов выглядят одинаково). Если нет, проверьте имя вашего проекта.
Возможные ошибки
Ресурс не заменён в FModel и выглядит как оригинал -» Попробуйте пересоздать Label с другим Chunk ID, а после перепакуйте проект.
Тестируем!
Откройте игру и проверьте изменения. В тридцатый раз за день...
Внимание: ожидайте | до открытия ссылки |
S.T.A.L.K.E.R. 2 "Сердце Чернобыля"
[16]
Создание модификаций, редактирование параметров, утилиты, софт, моддинг игры
|
S.T.A.L.K.E.R. "Зов Припяти"
[162]
Создание модификаций, редактирование параметров, вскрытие игры.
|
S.T.A.L.K.E.R. "Чистое небо"
[91]
Создание модификаций, редактирование параметров, вскрытие игры
|
S.T.A.L.K.E.R. "Тень Чернобыля"
[132]
Создание модификаций, редактирование параметров, вскрытие игры
|
Энциклопедия игры S.T.A.L.K.E.R.
[33]
Описание всего что мы увидим в игре.
|
Зона отчуждения - реальность
[20]
Информация о настоящей Зоне отчуждения (факты, документация, статьи)
|
Зарегистрировался?!?
Хочешь поиграть в мод?
Начнём по порядку...
Находим в верхней левой части сайта этот блок:
Вбиваем в него название мода и нажимаем «Enter». Получаем список материалов с данным словом или словосочетанием. Можно экспериментировать, добавляя различные варианты слов.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Зарегистрированных |
Всего: | 323024 |
Новых за месяц: | 1529 |
Новых за неделю: | 219 |
Новых вчера: | 24 |
Новых сегодня: | 6 |
Комментарии