【UE4 RTS游戏】09-点击按钮生成建筑

2024-02-28 22:40

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

效果

步骤

  1. 创建如下两个文件夹

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

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

  1. 双击打开“I_HUD”

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

  1. 打开“CameraPawnController”

给序列节点添加两个引脚

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

将返回值提升为变量

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

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

  1. 打开“GhostBuilding_BP”

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

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

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

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

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

这些变量的细节如下:

(1)变量类型为Build Master BP的类引用

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

(3)变量类型为布尔

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

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

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

创建如下节点:

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

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

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

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

  1. 打开“BuildingMaster_BP”

添加三个变量

细节如下:

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

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

  1. 打开“ApartmentSmall_BP”

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

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

创建如下节点

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

  1. 打开“MainUI_HUD”,

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

最终效果如文件开头所示。

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



http://www.chinasem.cn/article/756837

相关文章

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

C/C++随机数生成的五种方法

《C/C++随机数生成的五种方法》C++作为一种古老的编程语言,其随机数生成的方法已经经历了多次的变革,早期的C++版本使用的是rand()函数和RAND_MAX常量,这种方法虽然简单,但并不总是提供... 目录C/C++ 随机数生成方法1. 使用 rand() 和 srand()2. 使用 <random