Size: a a a

2019 July 07

S

Sherzod in Unreal Engine
Сэр Гусь Важный
у меня было такое когда версию обновил, добавилась какая-то галочка, нужно было материал пересохранить. Но то был кастомный мат, не движковый. Не на андроид и не 12 часов)
лля теста создал новый проект пустой, без ничего лишного, толк 0, sdk ndk всё есть
источник

S

Sherzod in Unreal Engine
не понимаю что за
источник

СВ

Сэр Гусь Важный... in Unreal Engine
Sherzod
лля теста создал новый проект пустой, без ничего лишного, толк 0, sdk ndk всё есть
на пустом тоже долго?
источник

S

Sherzod in Unreal Engine
да
источник

СВ

Сэр Гусь Важный... in Unreal Engine
в логи ничего не гадит?
источник

S

Sherzod in Unreal Engine
нет(
источник

S

Sherzod in Unreal Engine
говорит compiling WorldGridMaterial
источник

SY

Selivanov Yevhenii in Unreal Engine
- Задача:
На карте эктор (A) и боты(B).
Эктор(A), реагируя на собственное уничтожение, обновляет состояние ботов ( B->BotUpdate() ).
- Что предпринималось:
Эктор(А) имплементирует методы OnDestroy() \ Destroyed(), BeginDestroy() и :
1) Эктор(А) броадкастит делега с прослушивающими ботами(B) на собственное обновление (.AddDynamic(this, &B::BotUpdate) )
2) Прямое итеративное обновление каждого бота (B->BotUpdate() )
- Проблема:
В процессе изучения логов и дебагинга, метод бота BotUpdate(), определенный как UFUNCTION(), не вызывается(не отвечает) для обоих вариантов
- Решение:
Не обьявлять функцию как UFUNCTION(),в таком случае, для первого варианта - прослушивающие боты отвечают, а во втором варианте - функция BotUpdate() успешно вызывается
- Вопрос:
С чем связано такое поведение системы рефлексии и есть ли другое, более адекватное, решение?
источник

PL

Peter Leontev in Unreal Engine
>AddDynamic(this, &B::BotUpdate)
низя так, тебе нужно вместо this брать инстанс бота (самого бота)
источник

n

norlin in Unreal Engine
Selivanov Yevhenii
- Задача:
На карте эктор (A) и боты(B).
Эктор(A), реагируя на собственное уничтожение, обновляет состояние ботов ( B->BotUpdate() ).
- Что предпринималось:
Эктор(А) имплементирует методы OnDestroy() \ Destroyed(), BeginDestroy() и :
1) Эктор(А) броадкастит делега с прослушивающими ботами(B) на собственное обновление (.AddDynamic(this, &B::BotUpdate) )
2) Прямое итеративное обновление каждого бота (B->BotUpdate() )
- Проблема:
В процессе изучения логов и дебагинга, метод бота BotUpdate(), определенный как UFUNCTION(), не вызывается(не отвечает) для обоих вариантов
- Решение:
Не обьявлять функцию как UFUNCTION(),в таком случае, для первого варианта - прослушивающие боты отвечают, а во втором варианте - функция BotUpdate() успешно вызывается
- Вопрос:
С чем связано такое поведение системы рефлексии и есть ли другое, более адекватное, решение?
а код есть? мб там virtual/override упущены или типа того
источник

n

norlin in Unreal Engine
Peter Leontev
>AddDynamic(this, &B::BotUpdate)
низя так, тебе нужно вместо this брать инстанс бота (самого бота)
так мб он в боте и подписывается как раз)
источник

SY

Selivanov Yevhenii in Unreal Engine
Peter Leontev
>AddDynamic(this, &B::BotUpdate)
низя так, тебе нужно вместо this брать инстанс бота (самого бота)
привязывается сам бот, плохол сформулировал
источник

PL

Peter Leontev in Unreal Engine
Selivanov Yevhenii
привязывается сам бот, плохол сформулировал
а где RemoveDynamic ?
источник

n

norlin in Unreal Engine
Selivanov Yevhenii
- Задача:
На карте эктор (A) и боты(B).
Эктор(A), реагируя на собственное уничтожение, обновляет состояние ботов ( B->BotUpdate() ).
- Что предпринималось:
Эктор(А) имплементирует методы OnDestroy() \ Destroyed(), BeginDestroy() и :
1) Эктор(А) броадкастит делега с прослушивающими ботами(B) на собственное обновление (.AddDynamic(this, &B::BotUpdate) )
2) Прямое итеративное обновление каждого бота (B->BotUpdate() )
- Проблема:
В процессе изучения логов и дебагинга, метод бота BotUpdate(), определенный как UFUNCTION(), не вызывается(не отвечает) для обоих вариантов
- Решение:
Не обьявлять функцию как UFUNCTION(),в таком случае, для первого варианта - прослушивающие боты отвечают, а во втором варианте - функция BotUpdate() успешно вызывается
- Вопрос:
С чем связано такое поведение системы рефлексии и есть ли другое, более адекватное, решение?
вообще чёт сложно, а зачем делегат?
Атаки ботов асинхронные или нет?
источник

PL

Peter Leontev in Unreal Engine
Peter Leontev
а где RemoveDynamic ?
в какой функции идет подписка на multicast делегат?
источник

SY

Selivanov Yevhenii in Unreal Engine
на счет кода, создал пустой проект.
У ACharacter:
UFUNCTION() void UpdateAI();
Подписывается на OnConstuction()

У AActor:
virtual void Destroyed() override;
источник

PL

Peter Leontev in Unreal Engine
>OnConstuction()
почему именно в этой функции? Используй, н-р, BeginPlay, или ещё лучше, только тогда, когда нужно
источник

SY

Selivanov Yevhenii in Unreal Engine
norlin
вообще чёт сложно, а зачем делегат?
Атаки ботов асинхронные или нет?
всё происходит до игры,в PIE эдиторе. Эктор уничтожился - визуал бота обновился
источник

SY

Selivanov Yevhenii in Unreal Engine
Peter Leontev
>OnConstuction()
почему именно в этой функции? Используй, н-р, BeginPlay, или ещё лучше, только тогда, когда нужно
ответ выше)
источник

SY

Selivanov Yevhenii in Unreal Engine
всё прекрасно работает без UFUNCTION, вот это поведение мне непонятно, почему разрушаемый обьект мертв для системы рефлексии
источник