Unreal Engine 4 http://uengine.ru/forum/ |
|
Спавн Blueprint-Actor-ов из кода http://uengine.ru/forum/viewtopic.php?f=19&t=13649 |
Страница 1 из 1 |
Автор: | rachok [ 04 май 2018, 11:18 ] |
Заголовок сообщения: | Спавн Blueprint-Actor-ов из кода |
Добрый день! Есть 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:23 ] |
Заголовок сообщения: | |
Дичь! Надо было заменить sssaaa2 на Asssaaa2... |
Автор: | gary_cho [ 04 май 2018, 14:36 ] |
Заголовок сообщения: | |
жесть у тебя темы.. я же говорил учи с++ и не будет проблем! |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |