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

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

用c++在场景中创建一个Cube
  • 1.UStaticMeshComponent
  • 2.Details面板上赋值
  • 3. UWorld
    • 3.1 获取UWorld
    • 3.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


相关讨论我们放在第四章里面。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1498840.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-25
下一篇2022-06-25

发表评论

登录后才能评论

评论列表(0条)

    保存