Проблема единства с взаимодействием маски на созданном персонаже Anima2D

Я делаю 2D многопользовательский шутер с использованием скелетных персонажей Anima2D, также я использую маскировку слоев, чтобы игрок мог видеть врагов только в выбранном радиусе. Моя проблема в том, что я не могу установить взаимодействие маски на сетке (символы Anima2D построены из спрайтов).

В настоящее время я использую материал трафаретного шейдера, и он работает, но позже я хочу установить еще один материал для персонажа (легкий материал). Анима не позволяет мне увеличивать размер материала до 2.

Есть ли способ установить более одного материала для персонажа Anima2D, или установить любое взаимодействие маски на части.

Другой вопрос: есть ли способ дать материал для персонажа Anima2D в целом? Я хочу использовать эффект "растворять" всякий раз, когда игрок умирает, но я хочу, чтобы он влиял на весь персонаж, а не на каждую его часть.

Я потратил пару дней, пытаясь решить эту проблему, но я все еще новичок, когда речь заходит об Unity, и это усложняет задачу.

TL;DR i Просто хочу удалить мой буферный материал трафарета с персонажа и контролировать видимость с помощью маскировки слоев.

0 ответов

Вам нужно назначить свой материал на слот SpriteMeshInstance Material. Даже не трогайте этот рендерер, он перезаписывает материал каждый кадр.

Что касается маскирования, стандартный SpriteMask Unity работает с примером шейдера Anima2D Anima2D/Examples/Shaders/VisibleInsideMask. Просто назначьте этот материал слоту SpriteMeshInstance Material, и он будет замаскирован вместе с простыми спрайтами.

Какая жалость, никто не написал здесь это решение. Убы сэкономил мне часы отчаянных попыток понять это.

Источник этого решения вы можете найти на одной из последних страниц этой ветки.

Другие вопросы по тегам