родительский класс ABaseProjectile, в нём вызывается ProjectileMovement = CreateDefaultSubobject<UProjectileMovementComponent>(ProjectileMovementName);
Есть дочерний класс AAxeleratingProjectile, у него в конструкторе прописано AAxeleratingProjectile(const class FObjectInitializer& ObjectInitializer):ABaseProjectile(ObjectInitializer.SetDefaultSubobjectClass<UAcceleratingMovementComponent>(ABaseProjectile::ProjectileMovementName))
UAcceleratingMovementComponent - public наследник UProjectileMovementComponent, сам по себе работает прекрасно
При инициализации подобным образом в поле ProjectileMovement оказывается гордый nullptr, причём остаётся он там даже на стадии бегинплея, когда вся инициализация должна уже отработать
Так, а ты в конструкторе ABaseProjectile не забыл родительский конструктор вызвать?
ABaseProjectile::ABaseProjectile(const class FObjectInitializer& ObjectInitializer):Super(ObjectInitializer). блупринт пересоздавал несколько раз
Обсуждают сегодня