斯坦福UE4 C++课学习补充25:寻路EQS

news2024/11/24 16:09:13

文章目录

  • 一、创建EQS
  • 二、修改行为树
  • 三、查询上下文

一、创建EQS

  1. 场景查询系统EQS:可用于收集场景相关的数据。然后该系统可以使用生成器,通过各种用户定义的测试就这些数据提问,返回符合所提问题类型的最佳项目Item
  • EQS的一些使用范例包括:找到最近的回复剂或弹药、判断出威胁最大的敌人,或者找到能看到玩家的视线

参考链接:https://dev.epicgames.com/documentation/zh-cn/unreal-engine/environment-query-system-in-unreal-engine?application_version=5.3

  1. 创建名为Query_FindNearbyLocationEQS
    从根节点拖出一条线,选择Point:Donut类型。Point是一种生成点的生成器,它会围绕一个中心点生成一个环形区域(类似甜甜圈形状),并在这个区域内生成一组点。
    在这里插入图片描述
  2. 测试选择Distance,它以距离作为评分依据,对生成器生成的点进行评分。如下图,距离一栏内的到此距离Distance to默认为EnvQueryContext_Querier,指的是查询的发起人,也就是AI角色自己。
  • 过滤器的过滤类型改成了最小,浮点值改成了500,即500外的位置才会被考虑进评分。
  • 得分因数Score Factor:是一个影响得分的乘数。负数因数意味着距离越远,得分越低;距离越近,得分越高。
    在这里插入图片描述
  1. Trace: to QueryContext_TargetActor on 可视性:主要是用于检测从生成的点到目标的可见性。它确保生成的点不被障碍物遮挡,从而只保留那些AI能够直接看到目标的点。

二、修改行为树

在这里插入图片描述

  1. 环境查询最终会修改我们选择的黑板键MoveToLocation
  • 运行模式设置为单一最佳项目Single Best Item:它决定EQS查询的结果如何处理。单一最佳项目模式意味着EQS会根据评分机制选择评分最高的单个点并返回给行为树的执行。
  • 更新BBOn失败:勾选了此选项表示:当EQS查询失败时,会更新黑板变量BB为某个默认值或无效值。
    在这里插入图片描述
  1. 对准AI小兵点击',可调出AI的debug界面,击小键盘的3,可以查看环境查询的结果

三、查询上下文

  1. QueryContext查询上下文是定义了EQS系统生成查询时使用的信息来源或上下文。在设置EQS查询时,QueryContext指定从哪里获取某些数据,例如玩家的位置、AI控制的角色或环境中的其他参考点。
  2. EQSTestPawn是UE中专门为调试和测试EQS而设计的一个Pawn类。它的主要作用是在开发过程中帮助设计者和开发者更方便地测试环境查询系统的效果。
    (1)可视化EQS查询EQSTestPawn能够帮助我们直观地查看和调试EQS查询的执行情况。在游戏中,可以看到EQS如何生成查询点,以及这些点是如何被筛选和评分的。
    (2)测试行为:可以在EQSTestPawn中设置不同的查询参数、测试不同的查询类型(如找到最近的物体或可达位置),然后观察EQS如何处理这些查询。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2109203.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity【Colliders碰撞器】和【Rigibody刚体】的应用——小球反弹效果

目录 Collider 2D 定义: 类型: Rigidbody 2D 定义: 属性和行为: 运动控制: 碰撞检测: 结合使用 实用检测 延伸拓展 1、在Unity中优化Collider 2D和Rigidbody 2D的性能 2、Unity中Collider 2D…

香橙派列出附近所有的WiFi

使用 nmcli nmcli 是 NetworkManager 的命令行工具,它可以用来检索和管理网络连接。 nmcli device wifi list这个命令会列出所有周围的WiFi网络。

社区电商系统源码之卷轴模式:商业模式分析

随着互联网技术的发展,电商平台的竞争日益激烈,如何留住用户并提升用户粘性成为了各大电商平台关注的重点。卷轴模式作为一种新兴的用户参与和激励机制,在社区电商系统中得到了广泛的应用。本文将从技术角度探讨卷轴模式在社区电商系统中的实…

rust 命令行工具rsup管理前端npm依赖

学习了一年的 rust 了,但是不知道用来做些什么,也没能赋能到工作中,现在前端基建都已经开始全面进入 rust 领域了,rust 的前端生态是越来越好。但是自己奈何水平不够,想贡献点什么,无从下手。 遂想自己捣鼓…

Leetcode3256. 放三个车的价值之和最大 I

Every day a Leetcode 题目来源:3256. 放三个车的价值之和最大 I 解法1:贪心 从大到下排序矩阵所有值, 记为数组v。 转化此题:从r*c个数中选取3个数分别给到车1,车2,和车3,使得符合条件的三数之和最大。…

rancher upgrade 【rancher 升级】

文章目录 1. 背景2. 下载3. 安装4. 检查5. 测试5.1 创建项目5.2 创建应用5.3 删除集群5.4 注册集群 1. 背景 rancher v2.8.2 升级 v2.9.1 2. 下载 下载charts helm repo add rancher-latest https://releases.rancher.com/server-charts/latest helm repo update helm fetc…

NIO、Reactor模式与直接内存

1.NIO NIO有三大核心组件:Selector选择器、Channel管道、buffer缓冲区。、 1.1Selector Selector的英文含义是“选择器”,也可以称为为“轮询代理器”、“事件订阅器”、“channel容器管理机”都行。 Java NIO的选择器允许一个单独的线程来监视多个输…

鸿蒙MPChart图表自定义(四)短刻度线

对于图表中的x轴效果,我们有时想要实现如图所示的特定刻度线。若需绘制x轴的短刻度线,我们可以利用现有资源,将原本的网格线稍作修改,只需绘制一条简洁的短线即可达到目的。 具体的方法就是写一个类MyXAxisRender继承自XAxisRend…

iOS——runLoop

什么是runloop RunLoop实际上就是一个对象,这个对象管理了其需要处理的事件和消息,并提供了一个入口函数来执行相应的处理逻辑。线程执行了这个函数后,就会处于这个函数内部的循环中,直到循环结束,函数返回。 RunLoo…

【转载】golang内存分配

Go 的分配采用了类似 tcmalloc 的结构.特点: 使用一小块一小块的连续内存页, 进行分配某个范围大小的内存需求. 比如某个连续 8KB 专门用于分配 17-24 字节,以此减少内存碎片. 线程拥有一定的 cache, 可用于无锁分配. 同时 Go 对于 GC 后回收的内存页, 并不是马上归还给操作系…

Android13 Hotseat客制化--Hotseat修改布局、支持滑动、去掉开机弹动效果、禁止创建文件夹

需求如题,实现效果如下 : 固定Hotseat的padding位置、固定高度 step1 在FeatureFlags.java中添加flag,以兼容原生态代码 public static final boolean STATIC_HOTSEAT_PADDING true;//hotseat area fixed step2:在dimens.xml中添加padding值和高度值…

信息系统安全保障

关注这个证书的其他相关笔记:NISP 一级 —— 考证笔记合集-CSDN博客 0x01:信息系统 信息系统是具有集成性的系统,每一个组织中信息流动的综合构成一个信息系统。信息系统是根据一定的需要进行输入、系统控制、数据处理、数据存储与输出等活动…

职场关系课:职场上的基本原则(安全原则、进步原则、收益原则、逃生舱原则)

文章目录 引言安全原则进步原则收益原则逃生舱原则引言 职场上的王者,身体里都应该有三个灵魂: 一个文臣,谨小慎微,考虑风险; 一个武将,积极努力,谋求胜利; 一个商人,精打细算,心中有数。 安全原则 工作安全:保住自己的工作和位置信用安全:保住个人的信用,如果领…

《征服数据结构》差分数组

摘要: 1,差分数组的介绍 2,二维差分数组的介绍 1,差分数组的介绍 差分数组主要是操作区间的,关于区间操作的数据结构比较多,除了前面讲的《稀疏表》,还有树状数组,线段树&#xff0c…

高德地图SDK Android版开发 10 InfoWindow

高德地图SDK Android版开发 10 InfoWindow 前言相关类和方法默认样式Marker类AMap类AMap.OnInfoWindowClickListener 接口 自定义样式(视图)AMap 类AMap.ImageInfoWindowAdapter 接口 自定义样式(Image)AMap.ImageInfoWindowAdapter 接口 示例界面布局MapInfoWindow类常量成员变…

215篇【大模型医疗】论文合集(附PDF)

ChatGPT的横空出世引发了新一轮生成式大模型热潮,作为最新技术的"试验场",医疗也成为众多大模型的热门首选。 我整理了215篇医疗和大模型的论文,供大家学习和参考。 领215篇医疗和大模型论文

欧拉下搭建第三方软件仓库—docker

1.创建新的文件内容 切换目录到etc底下的yum.repos.d目录,创建docker-ce.repo文件 [rootlocalhost yum.repos.d]# cd /etc/yum.repos.d/ [rootlocalhost yum.repos.d]# vim docker-ce.repo 编辑文件,使用阿里源镜像源,镜像源在编辑中需要单独复制 h…

vue3的学习(2)

属性绑定 1.将一个容器中的class和id使用vue用法赋上具体的值,这样就可以动态的给容器添加上自己想要给其添加的class或者id或者title。 2.关键语法,在容器中的class或者id或者title前面加上 "v-bind:",当加上"v-bind关键语…

计算机网络基础 - 应用层(2)

计算机网络基础 应用层FTP 与 EMail文件传输协议 FTP电子邮件 EMail主要组成部分SMTP概述SMTP 与 HTTP1.1 邮件报文格式报文格式多媒体扩展 MIME 邮件访问协议概述POP3IMAP DNS概述域名结构工作机理集中式设计分布式、层次数据库根 DNS 服务器顶级域 DNS 服务器权威 DNS 服务器…

公司的企业画册如何制作?

企业画册是公司形象和产品服务展示的重要载体,一个制作精良的企业画册不仅能展示公司的实力,也能提升客户对公司专业度的认可。以下是制作企业画册的步骤和要点,帮助你的公司画册既美观又实用。 1.要制作电子杂志,首先需要选择一款适合自己的…