Size: a a a

2019 March 20

AS

Alexey Sarapulov in Unreal Engine
D K
сайв гейм обджект смотрел?
Уже сработал UPROPERTY(), я сомневался насчет него, из-за того, что применяю не к UObject
источник

AS

Alexey Sarapulov in Unreal Engine
Заметил, что во время загрузки проекта выполняются конструкторы и OnConstruction моих Акторов даже если их нет на сцене. Что это такое? Вылезает куча ворнингов из-за того, что выполняется код до того, как мир загружен.
источник

AS

Alexey Sarapulov in Unreal Engine
Например, на сцене два инстанса одного актора, а его конструктор во время загрузки проекта выполняется три раза.
источник

AS

Alexey Sarapulov in Unreal Engine
Это как-то можно обойти?
источник

SD

Sergey Dikiy in Unreal Engine
Я так понимаю что движок проверяет чтобы у всех объектов не было не валидных ссылок в конструкторе к примеру. Чтобы потом при старте проекта об этом сказать. Но это не точно, только предположение.
источник

PL

Peter Leontev in Unreal Engine
Alexey Sarapulov
Заметил, что во время загрузки проекта выполняются конструкторы и OnConstruction моих Акторов даже если их нет на сцене. Что это такое? Вылезает куча ворнингов из-за того, что выполняется код до того, как мир загружен.
Конструируется DefaultObject. Можно проверить флаг объекта, если это CDO,то ничего не делать

Можешь также логику перенести в PostLoad или в PostActorSpawned
источник

PL

Peter Leontev in Unreal Engine
В сорцах движках в разных конструкторах классов есть полезные примеры
источник

AS

Alexey Sarapulov in Unreal Engine
Peter Leontev
Конструируется DefaultObject. Можно проверить флаг объекта, если это CDO,то ничего не делать

Можешь также логику перенести в PostLoad или в PostActorSpawned
Спасибо за объяснение!
источник

AS

Alexey Sarapulov in Unreal Engine
Peter Leontev
Конструируется DefaultObject. Можно проверить флаг объекта, если это CDO,то ничего не делать

Можешь также логику перенести в PostLoad или в PostActorSpawned
Никак не могу найти флаг CDO. Можете подсказать?
источник

PL

Peter Leontev in Unreal Engine
Alexey Sarapulov
Никак не могу найти флаг CDO. Можете подсказать?
RF_Standalone найди где объявлен
источник

PL

Peter Leontev in Unreal Engine
источник

AS

Alexey Sarapulov in Unreal Engine
Peter Leontev
RF_Standalone найди где объявлен
EObjectFlags?
источник

AS

Alexey Sarapulov in Unreal Engine
Да, я нашел, но как этим пользоваться?
источник

PL

Peter Leontev in Unreal Engine
Alexey Sarapulov
EObjectFlags?
Да
источник

AS

Alexey Sarapulov in Unreal Engine
Аа, GetFlags()?
источник

AS

Alexey Sarapulov in Unreal Engine
и мне нужен, получается флаг RF_DefaultSubObject?
источник

PL

Peter Leontev in Unreal Engine
Да, что-то такое, получишь битовую маску
источник

PL

Peter Leontev in Unreal Engine
Потом проверишь, выставлен ли флаг, соответствующий дефолтному объекту
источник

PL

Peter Leontev in Unreal Engine
Rf_ClassDefaultObject тебе нужен
источник

AS

Alexey Sarapulov in Unreal Engine
Peter Leontev
Rf_ClassDefaultObject тебе нужен
Я вижу, что это нужный флаг, но почему-то у меня по нему отсекается и обычный объект, который я создаю на сцене.
Проверяю как if (GetFlags() & RF_ClassDefaultObject)
источник