Войти
ПрограммированиеФорумГрафика

Unity3D: возможно ли SkinnedMesh разделить на разные GameObject?

#0
16:16, 4 апр. 2018

Привет всем.
Нужно сделать эффект разделения частей персонажа.
В идеальном варианте визуально это должно выглядеть примерно так: игрок смотрит в зеркало1 и видит только свою руку. В зеркале2 он видит, например, только голову.
Пока реализовать бы деление игрока только на 2 части: до пояса и выше.

В SkinnedMesh я полный 0. Так и не понял как он работает, предполагаю, что Unity как-то сама рендерит и пересоздает меши персонажа. Весь персонаж создается, скорее всего, из кучи полигончиков, которые принадлежать одному GameObject. Хотелось бы как-то разделить что ли этот меш: часть полигонов передать другому GameObject или как-то удалить часть плигонов из отрисовки.

Такое возможно сделать? Есть хоть какие-то идеи?


#1
17:04, 4 апр. 2018

Работать с полигонами долго и сложно, можно сделать lowres маски по уникальному UV и на шейдере обрезать. Либо порезать меш в 3D пакете, в юнити это будут разные gameobject

#2
17:10, 4 апр. 2018

Durane
Спасибо за ответ!
В blender есть возможность накинуть 2 материала на 1 меш. Вот тоько я не пойму как это работает. Каждый материал применяется к определенному полигону? Возможно 2 материала спасбо бы от разрезания модели на полигоны...

#3
0:26, 5 апр. 2018

Если говорить про Unity то один меш юнити имеет в себе "под"меши, каждый из которых по факту это полноценный меш со своим материалом и в зависимости от платформы может иметь отдельный drawcall.

#4
5:22, 5 апр. 2018

skinnedMesh завязан на кости для анимаций. Просто разрезать сам меш без артефактов не получится.
Вариант вижу только такой:
на разные части модели натянуть разные материалы.
По необходимости менять прозрачность разных материалов fade шейдером.
Обратить внимание на обязательность доп геометрии на границах частей тела чтобы не было "дырок".

ПрограммированиеФорумГрафика

Тема в архиве.