Всем привет! Подскажите, есть ли какой-нибудь вменяемый способ в блупринтах спрайт перевести в текстуру?
Суть следующая: делаю инвентарь, пользователю планирую показывать 2d-текстуру, как в мануалах, проблема лишь в том, что в оригинале предметов для инвентаря используются картинки и 2d-спрайты. Ссылки на объекты хранятся в массиве, а инвентарь воспроизводится в виджетах, заменяя расставленные Image. Проблема в том, в что в Image не сохранить спрайт, и даже brush не очень получается (в описании сказано, что это может быть текстура или материал). Пока единственным способом я вижу конвертировать спрайт в материал и его подменять в инвентаре, чтобы показать предмет пользователю.
Если логика верна, как можно получить текстуру из спрайта в блупринте?
Что-то я не понимаю что такое "2д спрайт". Можете рассказать?
@!!ex
Могу. Создаёшь класс Actor, его компонент - Paper Sprite, в него (Source Sprite) кладёшь сам спрайт. Ну а сам спрайт создаёшь из любой png-картинки: Sprite Actions -> Create Sprite. По сути, изначальная картинка - это и есть текстура (если читать всплывающую подсказку) для спрайта, который потом используется в классе Actor.
Понял. Спасибо. К сожалению зря потратил ваше время, не работал с 2Д и не могу помочь.
Вот что-то нашёл, но так и не понял, как это сделать: https://forums.unrealengine.com/development-discussion/blueprint-… prite-texture
Обычно такие вопросы безответны: https://forums.unrealengine.com/development-discussion/blueprint-… via-blueprint
Задача - добраться так: Get All actor of class -> Get component class (Source sprite - тут я добрался) -> Source Texture (такого нет).
На крайний случай, думаю, во всех объектах использовать не PaperSprite, а взять картинку и преобразовать в каждом спрайте (вручную) текстуру и материал, ну а дальше как во всех мануалах - выводить их в инвентаре как Image.
В общем, всё просто, парни. Можно, конечно, сделать из текстуры png (исходной картинки) материал, в объект вставить любой Static Mesh и раскрасить его, а дальше менять материал.
Но можно и проще, с обычными картинками.
Get All actor of class -> Get component class (Paper Sptite) ->Source sprite - > Make Brush from Sprite.
А картинка в инвентаре меняется просто как Image (нужно предварительно её пометить как переменную) -> Set Brush.