本文主要是介绍【UE4 RTS游戏】09-点击按钮生成建筑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
效果
步骤
创建如下两个文件夹

在“Construction”文件夹中,创建两个父类为“Actor”的蓝图类,分别命名为“ConstructionManager_BP”和“ConstructionProxy_BP”

在“Building”文件夹内,创建如下内容,包括三个文件夹和两个Actor蓝图类,其中“BuildingMaster_BP”将作为所有建筑类蓝图的父类

双击打开“I_HUD”

将“BuildBuilding”函数命名改为“ConstructBuilding”,输入的类型改为“BuildingMaster_BP”的类引用

打开“CameraPawnController”

给序列节点添加两个引脚

添加两个 从类生成actor的节点

将返回值提升为变量

分别命名为“ConstructionManagerRef”和“GhostBuildingRef”

变量类型改为相应的actor蓝图的对象引用,类别为Reference

打开“GhostBuilding_BP”

添加一个静态网格体组件,命名为“GhostBuilding_Mesh”,然后将其作为根组件

添加一个变量,命名为“ControllerRef”

该变量细节如下:变量类型为“CameraPawnController”的对象引用

回到“CameraPawnController”中,发现节点“从类生成Actor”多了一个引脚,这是因为我们在“GhostBuilding_BP”中添加了一个公开的变量“ControllerRef”,我们需要在使用“GhostBuilding_BP”时传入一个“ControllerRef”


回到“GhostBuilding_BP”,添加如下变量

这些变量的细节如下:
(1)变量类型为Build Master BP的类引用

(2)变量类型为ConstructionProxyBP的类引用

(3)变量类型为布尔

(4)变量类型为静态网格体的对象引用

在“GhostBuilding_BP”的事件图表中创建一个自定义事件,命名为“OnSpawn”:

给该节点添加三个输入:类型分别为静态网格体的对象引用,BuildingMasterBP的类引用,ConstructionProxyBP的类引用

创建如下节点:

右键点击“BuildingMaster_BP”,创建两个子蓝图,分别命名为“CommericalMaster_BP”和“ResidentialMaster_BP”

再选中“ResidentialMaster_BP”右键点击创建子蓝图,命名为“ApartmentSmall_BP”

将“ApartmentSmall_BP”和“ResidentialMaster_BP”移入到“Residential”文件夹内

将“CommercialMaster_BP”移入到“Commercial”文件夹内

打开“BuildingMaster_BP”

添加三个变量

细节如下:



添加一个场景组件并作为根节点

在构建函数中创建如下节点:

打开“ApartmentSmall_BP”

点击类默认值,为DisplayMesh选择一个网格体(中心轴最好在网格体底部中央),这里选择的是“Shape_QuadPyramid”

打开“GhostBuilding_BP”,创建一个自定义事件,命名为“KillGhost”

创建如下节点

在“CameraPawnController”的事件图表中添加如下节点

打开“MainUI_HUD”,

在事件图表中“MainBuilding”一项选择“ApartmentSmall_BP”

最终效果如文件开头所示。
这篇关于【UE4 RTS游戏】09-点击按钮生成建筑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!