Skip to content

Улучшения для настройки параметров игровых шейдеров и материалов #354

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
4 tasks
PavelBlend opened this issue Jan 13, 2021 · 0 comments
Labels
enhancement Запрос нового функционала new Добавляет абсолютно новый функционал, а не улучшает существующий

Comments

@PavelBlend
Copy link
Owner

Описание идеи:

Добавить новые возможности для работы с параметрами игровых материалов и шейдеров. Вот их список:

  • добавить возможность добавлять в списки материалов и шейдеров свои шейдеры. Сейчас этот список заполнен теми именами, которые указаны в shader.xr, shaders_xrlc.xr, gamemtl.xr. Нужно в настройки добавить кастомный список, который добавляется в меню выбора шейдеров. Чтобы каждый раз вручную не прописывать те шейдеры, которые не существуют в xr файлах. Это могут быть скриптовые шейдеры.

  • добавить возможность добавлять пресеты игровых настроек материалов, которые будут хранить параметры Engine Shader, Compile Shader, Game Material, Two Sided. Это нужно для быстрой настройки параметров. Например, при создании однотипных материалов стен. Когда текстуры настроены и материалы созданы, можно будет выбрать пресеты игровых настроек материала и установить их на активный материал или все материалы активного объекта или все материалы выбранных объектов или все материалы blend файла. Так же дать возможность выбрать, что попадёт в пресет: Engine Shader или Compile Shader или Game Material или Two Sided или всё или комбинация этих параметров.

  • дать возможность массово изменять шейдеры. Это может пригодиться при редактировании билдовских моделей. К примеру, в билдах у поверхностей часто используется шейдер flora\leaf, хотя этого шейдера нет в финалке. Нужно в настройках добавить список, точнее таблицу, которая указывает какие шейдеры заменять (flora\leaf -> flora\leaf_wave). Это сделано в конвертере бардака при декомпиляции локации. Но есть исходники моделей уровней, которые не требуют декомпиляции. И эти исходники содержат шейдеры, которых нет в финальной игре. Нужна таблица соответствий старых и новых шейдеров. Дать возможность указать, какие материалы редактировать (все, активные и т. д.). Так же можно сделать изменение параметров по определённым характеристикам материала, меша или объекта. К примеру, если материал ссылается на текстуры в папке terrain, то установить игровой материал на grass. Или если имя объекта начинается на wall_, то игровой материал установить на materials\stucco. По следующим свойствам можно изменять параметры материалов: имя текстуры (добавить таблицу соответствий в настройках), папка текстуры, имя материала, установленный игровой шейдер/материал/компиляторный шейдер, имя объекта (меша), имя root объекта, тип объекта (Static, Dynamic, Progressive Dynamic...). Можно в настройках добавить профили для разных билдов. Чтобы для каждого билда была своя таблица соответствий.

  • добавить инструменты для быстрого редактирования кастомного списка шейдеров и материалов (см. первый пункт). Добавить такие варианты редактирования: удалить всё и списка, добавить в список все шейдеры/материалы, которые есть в установленном в настройках xr файле, добавить только те шейдеры/материалы, которые есть в другом xr файле, но нет в том xr файле, который указан в настройках, добавить шейдеры/материалы, которые получены путём сравнения произвольных xr файлов (можно указать список xr файлов из 5 штук, и добавить в кастомный список только те, которые есть во всех 5-ти указаных xr файлах, или те которые являются уникальными и т. д.).

Примеры использования:

Данные инструменты ускорят процесс настройки игровых параметров материалов. Так же может пригодится для импорта уровней из билдов, после которого делается массовая замена шейдеров и игровых материалов.

@PavelBlend PavelBlend added the enhancement Запрос нового функционала label Jan 13, 2021
@PavelBlend PavelBlend added the new Добавляет абсолютно новый функционал, а не улучшает существующий label Jul 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Запрос нового функционала new Добавляет абсолютно новый функционал, а не улучшает существующий
Projects
None yet
Development

No branches or pull requests

1 participant