unreal-c++教程-第三章:用c++在场景中创建一个Cube与UWorld
用c++在场景中创建一个Cube1.UStaticMeshComponent2.Details面板上赋值3. UWorld
3.1 获取UWorld3.2 UWorld里面重要函数与变量
3.2.1 获取玩家控制器PlayerController
1.UStaticMeshComponent
显示网格的基本组件,称为UStaticComponent,用起来也比较简单
当然,为了绘制出Cube,我们需要设置其StaticMesh
函数原型见:
我们需要传递的参数是UStaticMesh* 类型的参数,而事实上,加载对应资源可以通过以下方式:
this->SetRootComponent(CreateDefaultSubobject<USceneComponent>(TEXT("RootScene")));auto MeshAsset = ConstructorHelpers::FObjectFinder<UStaticMesh>(TEXT("/Game/Geometry/Meshes/1M_Cube"));auto XMesh = CreateAbstractDefaultSubobject<UStaticMeshComponent>(TEXT("XMesh"));
XMesh->SetStaticMesh(MeshAsset.Object);
XMesh->SetupAttachment(this->RootComponent);值得注意的是,这里有个问题,就是,当我们向场景里面添加c++ Actor时,旧Actor并不会随着c++代码的热更而发生热更,我们需要注意这一点。
2.Details面板上赋值
有时候,我们会希望直接通过在Details面板上处理c++Actor的资源问题,然后交给策划,让它自己玩(咳咳)
方法也很简单,我们在声明.h文件时,加入宏
这样,当UHT(Unreal Head Tool)会检索整个头文件,并反射到Details面板,
3. UWorld
所有的Actor都将依托于UWorld建立,3.1 获取UWorld
方法很简单,所有的Actor都可以获得当前对象所处的UWorld
3.2 UWorld里面重要函数与变量
3.2.1 获取玩家控制器PlayerController
这个东西是一个非常重要的一个Actor
相关讨论我们放在第四章里面。
页:
[1]