APSchmidt 发表于 2023-4-8 22:53

unreal-c++教程-第三章:用c++在场景中创建一个Cube与UWorld

用c++在场景中创建一个Cube

1.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]
查看完整版本: unreal-c++教程-第三章:用c++在场景中创建一个Cube与UWorld