Да я уже шестой день страдаю над этим, перерыл кучу материалов, везде сферические маски, я не могу додуматься как вместо маски текстуру рисовать. Можно подробнее про рисование куба, и текстуры ? Я буду рад если вы меня спасете в этом деле, и пофиг на производительность, как-нибудь потом заменю все это, мне бы хоть сделать чтобы оно работало. Я пытался текстуру двигать по UV координатам просто, в точку куда попал трейс, и вроде все работает, но только на кубическом меше)
HEllo_WORld12345332 писал(а):
Вы можете объяснить более подробно как вы это сделали?
Дело в том что мне нужно рисовать следы разбившегося стекла на Skeletal Mesh, я использую рисование на Render Target, но для этого нужно сначала выяснить координаты попадания по UV развертке. Но на Skeletal Mesh этого сделать нельзя, я уже два дня мучаюсь с этим, и мне очень, очень нужна помощь. Я прочитал три статьи, но так и не нашел верного способа сделать все это.
Мне пришлось на разбор этого всего потратить около месяца.
Выяснить координаты UV у Skeletal mesh в Unreal engine 4 не выйдет. Во всяком случае во время проигрывания анимации, так как сама анимация проигрывается в рендере если я правильно понял. Единственный рабочий способ это дотащить мировые координаты в шейдер. Для начала нужно реализовать вот такое рисование сферических масок. Тут все расписано шаг за шагом:
https://habr.com/ru/post/423165/Нужно:
1 Применить к Skeletal mesh материал который покажет его развертку
2 Нанести на развертку какую-либо маску
3 Перенести маску в RenderTarget (сфоткать через фукнцию Capture Scene)
4 Передать полученный RenderTarget в динамический инстанс материала Skeletal mesh'a в виде параметра Texture sample
5 Применить Динамический инстанс исходного материала с подставленным в него RenderTarget
Все это сделано и подробно расписано в ссылке что я дал.
Далее, если мы знаем как нарисовать сферическую маску, то можно нарисовать и текстуру. Для этого нужно спроецировать текстуру в направлении нормально к поверхности skeletal mesh.
Тут уже я вместо сферы начал рисовать Куб, и в него вписал целевую текстуру.
Звучит запутанно и делается довольно сложно. К тому же очень серьезная нагрузка на видеокарту за счет функции Capture Scene. Гораздо проще надежнее подставлять заранее нарисованные текстуры в материал.