本文主要是介绍【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-点击按钮生成建筑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!