Полезное

Мы Вконтакте

Discord канал

#
Аватара пользователя
Пользователь
Сообщения: 98
Добрый день!
Есть 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 раз.
Аватара пользователя
Пользователь
Сообщения: 98
Дичь!
Надо было заменить sssaaa2 на Asssaaa2...
Аватара пользователя
Пользователь
Сообщения: 195
жесть у тебя темы.. я же говорил учи с++ и не будет проблем!


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница