虚幻引擎5 C++编程学习3
虚幻引擎5 C++编程学习3
一、创建Actor类与学习类的命名规范
右键创建一个actor类,等待ue5把vs唤醒并完成所有的后台进程。
右下角可以在ue5中进行编译:
创建的actor类中已经默认定义了几个函数,他们的作用如下:
再去cpp文件中看看每个函数默认实现:
如果每帧的函数tick()没有任何作用,可以把构造函数中的true改成false,这样就不用每帧都调用tick()函数了,能显著提升整体的性能。
其他类一个典型的例子是结构体,结构体就是F开头的。
创建派生自Actor类的蓝图BP_MyActor。
Actor的UCLASS()里面是空的,并没有写Blueprintable,为什么Actor就能直接创建蓝图呢?
直接看父类AActor的定义。
可以看到AActor类中已经定义了 Blueprintable,所以可以直接创建蓝图。
二、在蓝图中创建静态网格组件
默认的actor组件,显示为球。
添加一个staticmesh, 直接将他拖动到根组件下,就能替换掉根组件。
PS:根组件就是这个actor的根,对于这个actor类的操作都是围绕根组件进行的,比如旋转是围绕根组件旋转,end碰撞也是根组件和别的单位碰撞。
actor蓝图主要的应用场景:
相当于提供一个模板,可以同时创建多个相同模板的单位。
创建了不同颜色的方块。
三、 在c++中创建静态网格组件
在MyActor.h中添加声明
//在任何地方都可见
UPROPERTY(VisibleAnywhere , Category = "My Actor Components")
UStaticMeshComponent* staticMesh;
在MyActor.cpp中添加定义(定义在构造函数中)
// 标识名,不是变量名
staticMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("MystaticMesh"));
编译完成后生成对应的蓝图类。
四、导入模型与布置场景
模型的下载地址:
链接:https://pan.baidu.com/s/1e4Tn4Z7zqJ_CCFuMgaHx-A
提取码:oyhy
其中IcoSphere.fbx文件是一个标识的小球,XYZAxes.fbx是xyz轴。
在内容文件夹下创建models目录来存放我们的模型。
直接将两个文件拖入到Models文件夹内。
维持默认就可以。
提示模型没有平滑组信息,不用管,这是模型建构的时候出了点问题,但是不影响使用。
导入的模型如下图:
将圈起来的材质球导入到materials中。
更多推荐
所有评论(0)