
Проблемы с активами Synty и пользовательскими шейдерами (в Unity)

У меня возникли проблемы со шейдерами при использовании пакетов активов Synty. Кажется, что проблемы вызваны способом, которым были развернуты UV их активов. Я не эксперт, поэтому могу ошибаться.
К примеру, в моей игре игрок сражается с обитателями проклятого особняка, попавшими в странное состояние сна. Эти обитатели должны быть узнаваемы по эффекту призрака/коррупции, который со временем усиливается. Идеально было бы, если бы шейдер становился интенсивнее у основания персонажей.
Проблема №1 - Персонажи состоят из разных объектов, поэтому для достижения непрерывного эффекта мне нужно использовать UV в мировом пространстве. При этом я не уверен, что могу достичь описанной ранее изменчивой интенсивности. Или могу? Я просто не могу понять, как указать шейдеру, где находится нижняя часть персонажа, а где верхняя.
Проблема №2 - использование чего-либо, кроме мирового пространства, заставляет обитателей "мигать", потому что способ, которым Synty отображает UV, заключается в использовании определенных пикселей текстуры для окрашивания частей. Так что, если вы создаете шейдер, в котором текстура движется, определенные части персонажа просто быстро меняют цвет.
Чтобы проиллюстрировать, что я имею в виду, здесь я добавил один и тот же шейдер на два актива. Один работает как предполагалось, а другой мигает.
Я предполагаю, что переработка UV всех активов решила бы некоторые проблемы, но речь идет о потенциально тысячах активов, поэтому прежде чем даже рассматривать эту идею, я хотел убедиться, что не упускаю более простое решение.
Примечание: Я понимаю смысл атласных текстур. Они очень эффективны и практичны в том, для чего они предназначены. Я просто надеюсь, что также существует способ достичь того, что я хочу, без необходимости переделывать каждый актив из их пакета.
Комментарии (0)