当前位置: 首页 > article >正文

17.UE5丰富怪物、结构体、数据表、构造函数

2-19 丰富怪物,结构体、数据表格、构造函数_哔哩哔哩_bilibili

目录

1.结构体和数据表格

2.在构造函数中初始化怪物

3.实现怪物是否游荡


1.结构体和数据表格

创建蓝图:结构体蓝图

在结构体蓝图中添加变量,如下所示,为了实现不同怪物具有不同的生命值、攻击力,速度,皮肤,是否移动,攻击距离,攻击方式等。

 我们首先实现怪物具有不同的生命值,攻击力和速度,皮肤。

首先创建数据表格

 为不同的怪物添加不同的生命值,攻击力,速度。

注:行命名(是读取每一行数据的唯一表示),我们的行命名为,001怪物、002怪物、003怪物

下面为不同的怪物创建不同的皮肤,复制第一个怪物的材质实例,并进行修改和编辑

并在表格中,为不同怪物赋值不同的材质实例

 至此,我们的表格体和数据表格制作好了,下一步是在怪物初始化时,读取数据表格的内容,初始化不同的怪物。

2.在构造函数中初始化怪物

怪物的初始化,实在构造函数中进行的,首先我们来编写父类的构造函数,即怪物总类的构造函数。

打开构造函数:

通过图表,获得数据表行,在Data Table中选择我们的新建 的数据表:怪物基础表格,并传入想要获取的数据行的名称:Row Name来读取一行数据,为了让怪物总类的子类自定义的读取想要的表格行,我们需要把Row Name提升为变量:怪物名字

 随后总输出行中,获取我们想要的数据,并为我们的怪物总类变量进行分别赋值

      

为我们的怪物总类分别创建子类,因为我们之前已经创建了怪物001了,可以直接拷贝怪物001以实现怪物002和怪物003 

 在我们的子类蓝图中,让子类的构造函数调用父类构造函数并分别为怪物蓝图中的变量:怪物名字,分别赋值怪物001,怪物002,怪物003,记住一定要对应。

 分别将怪物蓝图拖入到场景中,编译,运行,查看实现效果。

3.实现怪物是否游荡

在结构体中添加布尔类型的变量

 让第一行的001怪物作为小怪进行true(游荡),让后面的两种怪物作为精英怪不移动false(不游荡)

在怪物总类的构造函数中读取数据表格,并为蓝图创建 新的变量:是否移动。并通过读取的表格数据对其进行赋值。

 打开AI行为树的黑板,添加新的变量:是否移动,也是布尔值

 并在怪物总类蓝图的开始事件中,为黑板的是否移动进行赋值

 编译、运行实现效果


http://www.kler.cn/a/393354.html

相关文章:

  • Linux基础1
  • docker:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled
  • 【C++】new操作符的使用说明
  • 拦截器实现http请求访问本地图片
  • vue2或vue3的name属性有什么作用?
  • 使用@react-three/fiber,@mkkellogg/gaussian-splats-3d加载.splat,.ply,.ksplat文件
  • Java NIO 核心知识总结
  • 设计模式之责任链模式(Chain Of Responsibility)
  • Apache Doris 2.1.7 版本正式发布
  • Spring——单元测试
  • 阿里云和七牛云对象存储区别和实现
  • 大数据应用开发——实时数据采集
  • 外星人入侵
  • python成长技能之网络编程
  • HarmonyOS的@State装饰器的底层实现
  • elasticsearch实战应用理论实践!2W字带你全部了解elasticsearch
  • UNIX 域套接字
  • 【3D Slicer】的小白入门使用指南四
  • AIoT的协同计算
  • 解锁数据世界:从基础到精通的数据库探索之旅
  • Unity URP自定义后处理系统
  • SQL:给数据表字段拼接字符串
  • HarmonyOS和OpenHarmony区别是什么?鸿蒙和安卓IOS的区别是什么?
  • 除了防盗,特力康智能窨井盖还能监测井下环境吗?具体都监测些什么?
  • A029-基于Spring Boot的物流管理系统的设计与实现
  • 【Chapter 3】Machine Learning Classification Case_Prediction of diabetes-XGBoost