Добрый день!
Есть Blueprint-Actor "BP_test2", который создан из класса sssaaa2 и состоит из одного кубика, еще есть класс С++ Spawner1, из него я пытаюсь поставить этот кубик на сцену, и этот скрипт выглядит так:
(.cpp)
Код:
#include "Spawner1.h"
#include "Runtime/CoreUObject/Public/UObject/ConstructorHelpers.h"
#include "Runtime/Engine/Classes/Engine/World.h"
#include "Engine/Blueprint.h"
ASpawner1::ASpawner1()
{
PrimaryActorTick.bCanEverTick = true;
static ConstructorHelpers::FObjectFinder<UBlueprint> PutNameHere(TEXT("Blueprint'/Game/BP_test2.BP_test2'"));
if (PutNameHere.Object)
{
BlueprintVar = (UClass*)PutNameHere.Object->GeneratedClass;
}
}
void ASpawner1::BeginPlay()
{
Super::BeginPlay();
UWorld* const World = GetWorld();
if (World)
{
sssaaa2* YC = World->SpawnActor<sssaaa2>(BlueprintVar, FVector(0, 0, 0), FRotator(0, 0, 0));
}
}
void ASpawner1::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
Здесь я пытаюсь найти и получить мой блюпринт, сделать из него класс, а потом отспавнить его в BeginPlay.
(.h)
Код:
#pragma once
#include "sssaaa2.h"
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "Spawner1.generated.h"
UCLASS()
class CPPPROJ3_API ASpawner1 : public AActor
{
GENERATED_BODY()
public:
ASpawner1();
protected:
virtual void BeginPlay() override;
public:
virtual void Tick(float DeltaTime) override;
TSubclassOf<class sssaaa2> BlueprintVar;
};
Все делаю по рецепту:
https://answers.unrealengine.com/questi ... rom-c.htmlно нифига не выходит.
1. При попытке компилировать в UE выдает ошибку в строке
Код:
TSubclassOf<class sssaaa2> BlueprintVar;
в заголовочном файле.
Да еще и выдает отличное описание ошибки
Цитата:
D:\UnrealEngine\UE_4.19\Engine\Source\Runtime\CoreUObject\Public\Templates/SubclassOf.h(55) : error C2027: ?ᯮ?짮????? ????।???????? ⨯? "sssaaa2"
d:\unrealprojects\cppproj3\source\cppproj3\Spawner1.h(26) : note: ??. ??????? "sssaaa2"
D:\UnrealEngine\UE_4.19\Engine\Source\Runtime\CoreUObject\Public\Templates/SubclassOf.h(54) : note: ??? ???????樨 ?㭪樨-童?? "<??? ??????>" ?????? ????? <??? ??????>
D:\UnrealEngine\UE_4.19\Engine\Source\Runtime\CoreUObject\Public\Templates/SubclassOf.h(77) : note: ?믮??????? ?????????? ??뫪? ?? ????????? 蠡??? ?㭪樨 "UClass *TSubclassOf<sssaaa2>::operator *(void) const"
d:\unrealprojects\cppproj3\source\cppproj3\Spawner1.h(26) : note: ?믮??????? ?????????? ??뫪? ?? ????????? 蠡??? ????? "TSubclassOf<sssaaa2>"
D:\UnrealEngine\UE_4.19\Engine\Source\Runtime\CoreUObject\Public\Templates/SubclassOf.h(55) : error C3861: StaticClass: ??????䨪???? ?? ??????
В общем, что я делаю не так, и как спавнить Bluprint-Actorы из скрипта?
P.S. Поправил пока никто не видел...
Последний раз редактировалось
rachok 04 май 2018, 13:34, всего редактировалось 1 раз.