3.然后调用SpawnActor或SpawnActorDeferred将上面定义的变量传入给class参数即可生成对象 关于TSubclassOf 注:补充下SpawnActor的用法 TSubclassOf<AActor> TS = LoadClass<AActor>(NULL, TEXT("Blueprint'/Game/bp/Map/TMapActorBP.TMapActorBP_C'")); GetWorld()->SpawnActor<AActor>(TS); TS就是个类类型...
我们创建了 Spawn UFUNCTION 和一个名为 ActorToSpawn 的变量。ActorToSpawn UPROPERTY属于 TSubclassOf 类型,这是一种模板类型,允许我们将指针限制为基类或其子类。 这也意味着在编辑器中,我们将得到一个预过滤的类列表,以便从中选择,防止我们意外地分配一个无效的值: ...
这里使用的C++类:MachineBase ,派生的蓝图:ConveyorBelt_BP 二: 在用来生成类的组件的.h文件中,定义如下变量: UPROPERTY(EditDefaultsOnly,Category=Custom)//需要在蓝图中修改生成实例类型时使用,暴露给蓝图,只可修改默认值,分栏为CustomTSubclassOf<AMachineBase>BlueprintVar;//使用TsubclassOf模板而不是直接UClass...
//把内容浏览器里面的类生成到世界 TSubclassOf<AAICoverPointsGenerator> AAICoverPointsGeneratorClass = StaticLoadClass(AAICoverPointsGenerator::StaticClass(), nullptr, *FString(TEXT("/Game/Game/AI/AISegma/Exporter/BP_CoverPointGenerator.BP_CoverPointGenerator_C"))); checkf(AAICoverPointsGeneratorClass...
World->SpawnActor<ATPlayerPawn>(doorBPClass); } 4.运行时创建,大体思路都一样,只要找到bp类就行,注意这个路径有个_C TSubclassOf<ATPlayerPawn> TS = LoadClass<ATPlayerPawn>(NULL,TEXT("Blueprint'/Game/bp/TPlayerPawnBP.TPlayerPawnBP_C'")); ...
* Returns location of the RootComponent * this is a template for no other reason than to delay compilation until USceneComponent is defined */ template<class T> static FORCEINLINE FVector GetActorLocation(const T* RootComponent) { return (RootComponent != nullptr) ? RootComponent->GetComponentLo...
TSubclassOf<AAICoverPointsGenerator> AAICoverPointsGeneratorClass = StaticLoadClass(AAICoverPointsGenerator::StaticClass(), nullptr, *FString(TEXT("/Game/Game/AI/AISegma/Exporter/BP_CoverPointGenerator.BP_CoverPointGenerator_C"))); checkf(AAICoverPointsGeneratorClass != nullptr, TEXT("expected non-...
4 运行时创建,大体思路都一样,只要找到bp类就行,注意这个路径有个_C TSubclassOf<ATPlayerPawn> TS = LoadClass<ATPlayerPawn>(NULL,TEXT("Blueprint'/Game/bp/TPlayerPawnBP.TPlayerPawnBP_C'")); GetWorld()->SpawnActor<ATPlayerPawn>(TS);
GetWorld()->SpawnActor(bpClass.Class);} FClassFinder是⼀个结构体,其中的Class成员变量是TSubClassof<T>类型的.所以我们只需要SpawnActor(bpClass.Class)就可以⽣成我们要的东西了 但是值得⼀提的是该⽅法只能在类的构造函数中使⽤,如果在普通的逻辑代码中嵌套这份代码,很可能引起整个编译器的crash....
RPG项目中,在鼠标点击的地方Spawn一个CursorDecal。以下是我角色类中的部分代码: 头文件声明贴花组件的指针: UPROPERTY(EditAnywhere, Category = Mouse) TSubclassOf<class ACursorDecal> CursorDecal; 源文件中的包含情况: #include "RPGBaseCharacter.h" #include "Engine/Engine.h" #include "Camera/CameraCompon...