在UE4虚幻引擎中加入导航网格体边界体积后丧尸不能移动和发现玩家

news2024/7/4 4:29:37

UE4系列文章目录

文章目录

  • UE4系列文章目录
  • 前言
  • 一、用到的知识点
  • 二、问题原因

前言

最近使用ue4做第一人称视角射击游戏发现问题,加入导航网格体边界体积后丧尸不能移动和发现玩家。下图是出现的问题图片
在这里插入图片描述

一、用到的知识点

1.行为树:控制并显示AI的决策制定过程

在这里插入图片描述
在这里插入图片描述

2.黑板:可以看做是行为树的创建一些公有变量,外部可以修改行为树黑板的变量值,达到修改行为树状态的逻辑
在这里插入图片描述
在这里插入图片描述
通过这个例子,深入了解第一节中的几个概念:

第一个概念:就是行为树先执行第一个任务(躲避目标),再执行第二个任务(找食物),最后执行漫游任务,优先级从左往右依次递减

第二个概念:第一个任务上有个装饰器, – 对应Is a Target Actor Set 作为装饰器,只有为True,那么这个节点下的任务才可能执行, 也就是说 到了行为树任务能执行的时候,需要判断装饰器上的条件是否为True

第三个概念:装饰器打断级别:

如下是找食物的装饰器的打断条件,LowerPriority, 如果当前执行 漫游功能,那么当这个找食物的条件满足之后,就会打断漫游功能,因为设置了LowerPriority,能够打断右边的任务,
在这里插入图片描述
在这里插入图片描述

二、问题原因

当我加入导航网格体边界体积,发现是位置不对,当我把NavMeshBoundVolume位置向下移动,包含丧尸,然后丧尸就能发现玩家和跟随玩家了
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

【后端面经-数据库】Redis数据结构和底层数据类型

【后端面经-数据库】Redis数据结构和底层数据类型 1. Redis数据类型1.1 基本数据类型1. string2. hash3. list4. set5. sortset/Zset 1.2 特殊数据类型1. bitmap2. hyperloglog3. GEO4. stream 2. Redis底层数据类型2.1 简介2.2 动态字符串SDS2.3 快表QuickList2.4 字典Dict2.5…

论文解读 | 基于中心的三维对象检测与跟踪

原创 | 文 BFT机器人 CenterPoint与传统基于框的3D物体检测器和跟踪器不同之处在于,它将3D物体表示、检测和跟踪为点,而不是使用边界框。这种方法具有几个优点,包括减少物体检测器的搜索空间,简化下游任务(如跟踪&…

一键去除文件名中的空格,轻松解决文件命名烦恼!

你是否曾经为文件名中的空格而烦恼?这些空格可能会在传输、存储和搜索文件时带来各种问题。为了解决这个问题,本文将向你介绍几种实用的方法,让你轻松去除文件名中的空格,让文件命名变得更加简单! 首先,我…

MAC终端美化

先看看效果: 1.安装on-my-zsh 打开终端,输出: sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"安装过程中如果出现了链接超时的错误,不要慌,就再来一次&#x…

牛客网——BM62 斐波那契数列

class Solution { public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * param n int整型 * return int整型*/int Fibonacci(int n) {// write code hereif(n0) //考虑第0项return 0;else if(n1||n2)return 1;else…

人大加拿大女王大学金融硕士项目——自律是实现目标和成功的桥梁

低级的欲望通过放纵就能得到,高级的欲望通过自律才能得到。在这个快速发展的时代,只有保持自律,不断的充实自己,提升自己,才不会被社会所淘汰。中国人民大学与加拿大女王大学金融硕士项目,汇集了金融业的精…

EPICS asyn诊断帮助

iocsh命令 asynReport(level,portName) asynInterposeFlushConfig(portName,addr,timeout) asynInterposeEosConfig(portName,addr,processIn,processOut) asynSetTraceMask(portName,addr,mask) asynSetTraceIOMask(portName,addr,mask) asynSetTraceInfoMask(portName,addr…

Greenplum执行SQL卡住的问题

问题 今天社区群里面一位同学反映他的SQL语句执行会hang住,执行截图如下。 分析 根据提示信息,判断可能是网络有问题,或者是跟GP使用UDP包有关系。 此同学找了网络检查的人确定网络没有问题,于是猜测跟UDP包有关。 参考文章ht…

合宙Air724UG LuatOS-Air LVGL API控件-窗口 (Window)

窗口 (Window) 分 享导出pdf 示例代码 win lvgl.win_create(lvgl.scr_act(), nil) lvgl.win_set_title(win, "Window title") -- close_btn lvgl.win_add_btn_right(win, "\xef\x80\x8d") -- --lvgl.obj_set_event_cb(cl…

企业架构LNMP学习笔记23

1、隐藏版本号: Nginx对外提供服务,为了避免被针对某个版本的漏洞进行攻击。经常做法是隐藏掉软件的版本信息,提供一定的安全性。 server_tokens off; https和CA: 1)基于SSL CA证书的公私钥的安全性。 CA是需要生成…

pip安装skimage的方法

在安装skimage时,可能会报错误: 可以尝试:pip install scikit-image进行安装,使用时只需要:import skimage

Multisim14.0仿真(十)同相放大器

一、仿真原理图: 二、仿真效果图:

5.xaml RadioButton按钮

1.运行图 2.运行源码 a.Xaml源码 <Grid Name="Grid1"><!--GroupName="role" 设置组名,同一组名,他们是互斥--><RadioButton Content="管理员" GroupName

数据库作业练习题

数据库知识 1.不属于关系数据库的是&#xff08;B&#xff09; A.Oracle B.Essbase C.SQL Server D.DB2 Oracle和SQL Server属于关系数据库&#xff0c;DB2是个老古董了&#xff0c;看见DB也应该知道是数据库了&#xff0c;就剩下Essbase了&#xff0c;故选B。Essbase是一种多…

代码审查和合并请求:团队合作中的关键

在现代软件开发中&#xff0c;团队合作是不可或缺的一部分。为了确保代码质量、减少错误以及促进知识共享&#xff0c;代码审查和合并请求成为了开发团队中的关键实践。在本文中&#xff0c;我们将深入探讨代码审查和合并请求的重要性、流程以及最佳实践。 代码审查的重要性 …

2023-09-08 LeetCode每日一题(计算列车到站时间)

2023-09-08每日一题 一、题目编号 2651. 计算列车到站时间二、题目链接 点击跳转到题目位置 三、题目描述 给你一个正整数 arrivalTime 表示列车正点到站的时间&#xff08;单位&#xff1a;小时&#xff09;&#xff0c;另给你一个正整数 delayedTime 表示列车延误的小时…

超高清Mac动态壁纸桌面:Dynamic Wallpaper for Mac中文版本

Dynamic Wallpaper for Mac是一款引人注目的动态壁纸软件&#xff0c;为你的Mac桌面带来全新的视觉体验。 [特点1]&#xff1a;轻松定制动态壁纸&#xff1a;这款软件具有用户友好的界面&#xff0c;使得定制动态壁纸变得异常简单。用户可以轻松选择和调整动画效果&#xff0c…

INDEMIND:减少近90%的现场部署时间,商用机器人也能开机即用?

把商用机器人现场部署时间减少80-90%&#xff0c;噱头or真实力&#xff1f; 费时费力的现场部署 与扫地机器人开机即用不同&#xff0c;一般商用机器人在使用前&#xff0c;还有最后“一道工序”&#xff0c;现场部署。这个过程&#xff0c;需要专门的现场部署工程师逐个区域…

idea远程调试debug

idea远程调试debug 第一步 jdk也要选对应的 配置好了之后先启动远程的jar包 启动好之后就需要启动ide上的服务 然后和本地打断点一样打上标记就行了&#xff0c;方法执行到这会停住 通常连接不上远程服务器的原因会是防火墙对应的端口没有开启开启后就能正常连了

端口已被占用

报的错误 Exception in thread "Thread-76" java.net.BindException: Address already in use: bindat sun.nio.ch.Net.bind0(Native Method)at sun.nio.ch.Net.bind(Net.java:433)at sun.nio.ch.Net.bind(Net.java:425)at sun.nio.ch.ServerSocketChannelImpl.bind…