Size: a a a

2020 June 21

NM

Nikolai Mikheev in Unreal Engine
Один метод запускает таск, другой вызывается при его завершении.
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Я бы, наверное, делал отдельную прослойку для этого
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Не, я спать
источник

NM

Nikolai Mikheev in Unreal Engine
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Завтра если вдруг не созреешь - поговорим
источник

Св

С тапка виднее... in Unreal Engine
Переслано от С тапка виднее...
А как создать экземпляр класса в синепринтах? Тоесть я тут создаю переменную с  типом другого блюпринта, но при попытке обратится к БП жертве StaticMeshComponent выплёвывает ошибку и не хочет его менять. Я так понимаю при создании переменной в БП ей присваивается null.
источник

n

norlin in Unreal Engine
Nikolai Mikheev
Простой пример:
Создаётся Эктор, подаётся в метод регистрации БД.
В котором запускается асинхронный таск, который может длиться неизвестно сколько,
результатом возвращается Объект из БД, который далее должен объединиться со своим Эктором.

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

Вопрос к тому, вдруг кто то знает особое правильное решение.
эээм, а зачем под каждый таск объект создавать? сделай пул запросов асинхронных и всё
источник

NM

Nikolai Mikheev in Unreal Engine
norlin
эээм, а зачем под каждый таск объект создавать? сделай пул запросов асинхронных и всё
Это как? 🧐
Можно на массивах объектах и переменных объяснить?
источник

n

norlin in Unreal Engine
Nikolai Mikheev
Это как? 🧐
Можно на массивах объектах и переменных объяснить?
ну вот массив или мапу и держать, при каждом новом запросе добавлять туда данные, при завершении таска - удалять
источник

NM

Nikolai Mikheev in Unreal Engine
norlin
ну вот массив или мапу и держать, при каждом новом запросе добавлять туда данные, при завершении таска - удалять
Там выше скриншот моей реализации, и если добавлять таску идентификатор, или как то всё это оборачивать, то получится сложнее чем вставить просто переменную в таск.
источник

n

norlin in Unreal Engine
ну или если всё-таки объекты нужны - создавать UObject и не париться про удаление
источник

⚫️⚫️ in Unreal Engine
всем привет, подскажите почему при попытке запечь освещение, ничего не происходит, мап чек не выявляет никаких ошибок
источник

VA

Vladimir Alyamkin in Unreal Engine
Nikolai Mikheev
Так я простой класс C++ думал использовать, написал ведь в самом начале.
Это не UObject.

Пока пытаюсь понять какой вариант эффективнее.
Таск то тоже класс, и так же создаётся, и хранит переменные и уничтожается, видимо эффективнее будет использовать его.
Посмотри как сделаны реквесты на движке, например.
источник

n

norlin in Unreal Engine
⚫️⚫️
всем привет, подскажите почему при попытке запечь освещение, ничего не происходит, мап чек не выявляет никаких ошибок
может у тебя всё освещение динамическое?
источник

NM

Nikolai Mikheev in Unreal Engine
Vladimir Alyamkin
Посмотри как сделаны реквесты на движке, например.
Это куда конкретно например смотреть?
Реквест это запрос. А запрос чего?
источник

⚫️⚫️ in Unreal Engine
norlin
может у тебя всё освещение динамическое?
нет, всё статика
источник

VA

Vladimir Alyamkin in Unreal Engine
Nikolai Mikheev
Это куда конкретно например смотреть?
Реквест это запрос. А запрос чего?
HttpRequest и вся его обвязка
источник

🎷

🎷Dudka🎷 in Unreal Engine
Привет
У меня вопрос, можно ли как-то организовать все лучше?
У персонажа есть инвентарь - массив структур FItemStack в котором имеется поле FGameplayTag ID.
Из инвентаря можно взять предмет в "руку" - в Actor предмета есть функция Update, которая принимает FItemStack и берет все нужные данные из DataAsset предметов (меш, анимации, etc)
У предмета есть состояния, которые организованы как UObject UItemState, в свою очередь эти состояния могут иметь длительность - подкласс UItemStateTimed.
Проблема в том, что каждому такому состоянию с длительностью должна соответствовать анимация предмета.
Сейчас это организовано так - в каждом подклассе UItemStateTimed есть захардкоденное название секции анимационного монтажа, который ставится предмету из DataAsset в той же функции Update.
Проигрывание секции вызывается через метод PlayAnimation(SectionName), после проигрывания состояние удаляется - происходит переход к предыдущему состоянию, с этим проигрывается секция предыдущего состояния.
Однако в этом методе есть баг - как секция заканчивается, меш предмета переходит в ref pose, а потом на секцию другого состояния - происходит сильный "скачок"
Было бы интересно узнать, как можно это исправить.
Думал над вариантом заменить монтаж на мапу <FName, UAnimationAsset*> и проигрывать анимации как отдельные ассеты.
источник

Y

Yakim in Unreal Engine
🎷Dudka🎷
Привет
У меня вопрос, можно ли как-то организовать все лучше?
У персонажа есть инвентарь - массив структур FItemStack в котором имеется поле FGameplayTag ID.
Из инвентаря можно взять предмет в "руку" - в Actor предмета есть функция Update, которая принимает FItemStack и берет все нужные данные из DataAsset предметов (меш, анимации, etc)
У предмета есть состояния, которые организованы как UObject UItemState, в свою очередь эти состояния могут иметь длительность - подкласс UItemStateTimed.
Проблема в том, что каждому такому состоянию с длительностью должна соответствовать анимация предмета.
Сейчас это организовано так - в каждом подклассе UItemStateTimed есть захардкоденное название секции анимационного монтажа, который ставится предмету из DataAsset в той же функции Update.
Проигрывание секции вызывается через метод PlayAnimation(SectionName), после проигрывания состояние удаляется - происходит переход к предыдущему состоянию, с этим проигрывается секция предыдущего состояния.
Однако в этом методе есть баг - как секция заканчивается, меш предмета переходит в ref pose, а потом на секцию другого состояния - происходит сильный "скачок"
Было бы интересно узнать, как можно это исправить.
Думал над вариантом заменить монтаж на мапу <FName, UAnimationAsset*> и проигрывать анимации как отдельные ассеты.
источник

🎷

🎷Dudka🎷 in Unreal Engine
гляну, спасибо
источник