Size: a a a

2020 November 06

n

norlin in Unreal Engine
Господа, а если ближе к анрилу: кто-нибудь может подсказать, почему у меня в PostInitProperties проперти актора не инициализированы?

AMyActor::PostInitProperties() {
   Super::PostInitProperties();
   // debug output(MyProperty)
}

UPROPERTY(EditAnywhere)
int32 MyProperty = INDEX_NONE;
от него наследован BP, , который вытащен на карту и у этого инстанса MyProperty установлено в некоторое значение через Details
Но в PostInitProperties в редакторе (при открытии карты) оно отображается как INDEX_NONE, хотя в самой игре после BeginPlay всё работает отлично и значение видно
источник

Т

Тимур in Unreal Engine
norlin
у меня не VR, но даже если так - какая именно зависимость-то? проблема не в способе управления...
Просто мысль которая пришла в голову:
Зажимаешь ЛКМ
Происходит фиксация камеры к руке или палочке
Рисуешь жест
Происходит анализ по скорости, направлению, векторам, соответствию известным паттернам
Ну и, к примеру, выбирается стихия, тип атаки (АоЕ, сфера вокруг, файербол, "бомбардировка")

Если долго рисовал - больше урон
Если плавные движения - стихия воды
Если резкие - огня
И так далее
источник

Т

Тимур in Unreal Engine
В одной игре, не помню как называется, вообще ртом надо было заклинания произносить. Но там они были фиксированы. Круто было бы ошибиться в букве и получить другой эффект
источник

n

norlin in Unreal Engine
Тимур
Просто мысль которая пришла в голову:
Зажимаешь ЛКМ
Происходит фиксация камеры к руке или палочке
Рисуешь жест
Происходит анализ по скорости, направлению, векторам, соответствию известным паттернам
Ну и, к примеру, выбирается стихия, тип атаки (АоЕ, сфера вокруг, файербол, "бомбардировка")

Если долго рисовал - больше урон
Если плавные движения - стихия воды
Если резкие - огня
И так далее
> АоЕ, сфера, фаерболл, и т.д.

У меня цель дать игрокам возможность создавать самим штуки вот этого уровня, а не компоновать готовые так или иначе
источник

Т

Тимур in Unreal Engine
Ну это серьёзно
источник

N

Nikolay in Unreal Engine
norlin
Господа, а если ближе к анрилу: кто-нибудь может подсказать, почему у меня в PostInitProperties проперти актора не инициализированы?

AMyActor::PostInitProperties() {
   Super::PostInitProperties();
   // debug output(MyProperty)
}

UPROPERTY(EditAnywhere)
int32 MyProperty = INDEX_NONE;
от него наследован BP, , который вытащен на карту и у этого инстанса MyProperty установлено в некоторое значение через Details
Но в PostInitProperties в редакторе (при открытии карты) оно отображается как INDEX_NONE, хотя в самой игре после BeginPlay всё работает отлично и значение видно
Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.
https://docs.unrealengine.com/en-US/API/Runtime/CoreUObject/UObject/UObject/PostInitProperties/index.html
источник

n

norlin in Unreal Engine
Nikolay
Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.
https://docs.unrealengine.com/en-US/API/Runtime/CoreUObject/UObject/UObject/PostInitProperties/index.html
спасибо, это я видел но что-то не очень помогло) туплю сегодня с утра
источник

n

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

AR

Anton Rassadin in Unreal Engine
norlin
Господа, а если ближе к анрилу: кто-нибудь может подсказать, почему у меня в PostInitProperties проперти актора не инициализированы?

AMyActor::PostInitProperties() {
   Super::PostInitProperties();
   // debug output(MyProperty)
}

UPROPERTY(EditAnywhere)
int32 MyProperty = INDEX_NONE;
от него наследован BP, , который вытащен на карту и у этого инстанса MyProperty установлено в некоторое значение через Details
Но в PostInitProperties в редакторе (при открытии карты) оно отображается как INDEX_NONE, хотя в самой игре после BeginPlay всё работает отлично и значение видно
Смотрел в PostLoad?
источник

n

norlin in Unreal Engine
Anton Rassadin
Смотрел в PostLoad?
да, спасибо, постлоад как раз и заюзал, на пару с PostEditChangeProperty (чтоб изменения ловить)
источник

AR

Anton Rassadin in Unreal Engine
norlin
да, спасибо, постлоад как раз и заюзал, на пару с PostEditChangeProperty (чтоб изменения ловить)
Все правильно :)
источник

n

norlin in Unreal Engine
Anton Rassadin
Все правильно :)
меня нейминг смутил... PostInitProperties %)
источник

AR

Anton Rassadin in Unreal Engine
norlin
Господа, а если ближе к анрилу: кто-нибудь может подсказать, почему у меня в PostInitProperties проперти актора не инициализированы?

AMyActor::PostInitProperties() {
   Super::PostInitProperties();
   // debug output(MyProperty)
}

UPROPERTY(EditAnywhere)
int32 MyProperty = INDEX_NONE;
от него наследован BP, , который вытащен на карту и у этого инстанса MyProperty установлено в некоторое значение через Details
Но в PostInitProperties в редакторе (при открытии карты) оно отображается как INDEX_NONE, хотя в самой игре после BeginPlay всё работает отлично и значение видно
У тебя в PostInitProperties в итоге значение из cdo, а не инстанса?
источник

AR

Anton Rassadin in Unreal Engine
А если в архетипе поменять, то что будет — из конструктора, из архетипа бп или из инстанса?
источник

n

norlin in Unreal Engine
Anton Rassadin
А если в архетипе поменять, то что будет — из конструктора, из архетипа бп или из инстанса?
я не проверял, позже посмотрю, тоже интересно)
источник

AR

Anton Rassadin in Unreal Engine
norlin
я не проверял, позже посмотрю, тоже интересно)
Дело в том, что в post init props будут значения из cdo.
источник

AR

Anton Rassadin in Unreal Engine
Значение инстанса появится в PostLoad.
источник

n

norlin in Unreal Engine
а, ну понятно. Но непонятно) Неконсистентно как-то...
источник

AR

Anton Rassadin in Unreal Engine
Ну ты просто не разобрался, а после этого всё понятно. Надо различать нативный класс, cdo, инстанс, сгенерированный класс — там много всего, любое поле не зря придумано
источник

AR

Anton Rassadin in Unreal Engine
источник