Setup ActorComponents

向头文件中添加一些组件

UStaticMeshComponent* MeshComp;
//静态网格体组件

USphereComponent* SphereComp;
//球体组件
//用来接收物体碰撞信息

回到cpp文件中,对刚才定义的组件进行实例化

//创建默认子对象并为它命名
MeshComp = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("MeshComp"));
SphereComp = CreateDefaultSubobject<USphereComponent>(TEXT("SphereComp"));

Shift+Alt+o 全局搜索

注:只需要关注Private和Public后面的部分

为这个组件添加头文件

#include "Components/SphereComponent.h"

将MeshComp设为根组件

RootComponent = MeshComp;

球体组件附加到网格体组件上

SphereComp->SetupAttachment(MeshComp);

能够在子类蓝图中看见层级关系

在头文件中,通过UPROPERTY将变量暴露给蓝图,以便在蓝图中更改组件的属性值

UPROPERTY(VisibleAnywhere, Category = "Components")
UStaticMeshComponent* MeshComp;
UPROPERTY(VisibleAnywhere,Category="Components")
USphereComponent* SphereComp;

避免在头文件中添加额外的包含项

前向声明

class USphereComponent;

编译器能够知道USphereComponent时一个类

猜你喜欢

转载自www.cnblogs.com/suomeimei/p/10322004.html