2D 游戏:快速(最快)找到另一个实体的 x 个最接近实体的方法 - 大量实体,高度动态

2024-04-09

我正在开发一款具有大量动态实体的 2D 游戏。 为了好玩,我们就称他们为士兵吧,假设有 50000 人(我只是随机想到的,可能多了也可能少了:))。

所有这些士兵都按照规则移动每一帧——想想群体/聚集/转向行为。 对于每个士兵,为了更新其运动,我需要与我正在处理的士兵最接近的 X 个士兵。

存储它们以促进这样的计算而不需要太多开销的最佳空间层次结构是什么? (所有实体每帧都会更新/移动,因此它必须很好地处理动态实体)


最简单的方法是使用网格。它有几个优点:

  • simple
  • fast
  • 轻松添加和删除对象
  • 如果您仍然进行过多的距离检查,可以轻松地将网格更改为更精细的细节

另外,请确保不要对每次距离检查都进行平方根。由于您仅比较距离,因此还可以比较距离的平方。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2D 游戏:快速(最快)找到另一个实体的 x 个最接近实体的方法 - 大量实体,高度动态 的相关文章

  • Objective C 距离字符串格式化程序

    我有一个距离作为浮动 我正在寻找一种方法来为人类读者很好地格式化它 理想情况下 我希望随着它变大 它从 m 变为 km 并很好地舍入数字 转换成里程将是一个额外的好处 我确信很多人都需要其中之一 我希望有一些代码在某个地方 这是我想要的格式
  • 自动同义词检测方法

    我目前正在研究一种基于神经网络的短文档分类方法 由于我正在使用的语料库通常在十个单词左右 因此标准统计文档分类方法的用途有限 因此 我正在尝试对训练中提供的匹配实施某种形式的自动同义词检测 更具体地说 我的问题是关于解决以下情况 假设我有
  • 2D 游戏:快速(最快)找到另一个实体的 x 个最接近实体的方法 - 大量实体,高度动态

    我正在开发一款具有大量动态实体的 2D 游戏 为了好玩 我们就称他们为士兵吧 假设有 50000 人 我只是随机想到的 可能多了也可能少了 所有这些士兵都按照规则移动每一帧 想想群体 聚集 转向行为 对于每个士兵 为了更新其运动 我需要与我
  • python 对象可以有嵌套属性吗?

    我有一个定义如下的对象 class a property def prop self print hello from object prop property def prop1 self print Hello from object
  • 计算分组数据内点之间的欧氏距离

    在下面的数据中 包括dput 我对三个人进行了重复观察 纬度和经度 IndIDII 请注意 每个人的位置数量不同 gt Dat IndIDII IndYear WintLat WintLong 1 BHS 265 BHS 265 2015
  • 字符串中的智能模式匹配

    假设我的文件名格式不同 我希望能够像人类一样从所述文件名中提取某些方面 模式识别 显然 我可以使用正则表达式来暴力破解自己 但这不是我想要的 假设我有这 4 个字符串 MAS Hayate no Gotoku 20 BD 720p 21D1
  • 帮助--LibSVM 的准确率达到 100%?

    名义上这是一个好问题 但我很确定这是因为发生了一些有趣的事情 作为上下文 我正在研究面部表情 识别空间中的一个问题 因此获得 100 的准确度似乎令人难以置信 并不是说在大多数应用程序中这是合理的 我猜测数据集中存在一些一致的偏差 这使得
  • 用于移动物体的空间数据结构?

    我想知道处理大量移动对象 球体 三角形 盒子 点等 的最佳数据结构是什么 我试图回答两个问题 最近邻和碰撞检测 我确实意识到 传统上 像 R 树这样的数据结构用于最近邻查询 Oct Kd BSP 用于处理静态对象或很少移动对象的碰撞检测问题
  • 使用 MinMax 和 Alpha-Beta 剪枝找到最佳移动

    我正在为游戏开发 AI 我想使用MinMax算法与Alpha Beta 修剪 我对它的工作原理有一个粗略的了解 但我仍然无法从头开始编写代码 所以我花了两天的时间在网上寻找某种伪代码 我的问题是 我在网上找到的每个伪代码似乎都是基于寻找最佳
  • R 错误:“check.data 中的错误:参数应该是数字”

    我正在学习 R 编程语言的 kohonen 库 我创建了一些人工数据来尝试一些功能 我尝试仅对连续 即 type as numeric 数据使用 supersom 函数 一切正常 然而 当我尝试在连续和分类 type as factor 上
  • 20个问题AI算法是如何运作的?

    包含 20 个问题的简单在线游戏 由极其准确的人工智能提供支持 他们怎么猜得这么好 您可以将其视为二分搜索算法 在每次迭代中 我们都会提出一个问题 这应该消除大约一半的可能的单词选择 如果总共有 N 个单词 那么我们可以期望在 log2 N
  • 包含 SqlGeometry 的数据表导致存储过程执行失败...为什么?

    我正在尝试保存一系列SqlGeometry值到 SQL Server 2008 数据库 基本上我在 SQL Server 存储过程中有一个表类型 如下所示 CREATE TYPE dbo TableType Example AS TABLE
  • Q-learning 和价值迭代有什么区别?

    Q learning 与强化学习中的值迭代有何不同 我知道 Q learning 是无模型的 训练样本是过渡 s a s r 但是 既然我们知道 Q 学习中的转换和每个转换的奖励 那么它与基于模型的学习不一样吗 在基于模型的学习中 我们知道
  • 颜色重新映射 - 使用 3D 网格匹配目标调色板?

    假设我有颜色 FOO 它以 RGB 格式存储 我需要重新着色 FOO 以便它与颜色列表中最接近的颜色匹配 即时执行此操作 我是否无法将每种颜色的 RGB 值视为 3D 网格上的点 r x g y b z 并计算点 FOO 与每个颜色点之间的
  • 在 R 中从一条线偏移绘制一条平行线

    我有代表沿着一些街道行驶的线串 但我实际上想代表骑自行车者的旅程 它偏离线路 即他们在路边附近行驶 我正在努力思考如何去做 我制作了一段可重现的 R 代码来进行说明 Let s say I have a route along some s
  • Pentaho CE 上的地图可视化

    我正在运行 Pentaho ce 5 3 我已经使用星型模式立方体对其进行了测试 并且工作正常 现在我想将 Postgis 中存储的维度 包括空间维度 的 mdx 查询可视化为地图 不知道是否可行 或者我应该为此添加任何插件吗 根据您想要可
  • 将坐标插入 MySQL - PolyFromText SQL 语法错误/返回 null

    我正在尝试将多边形的地理坐标插入到我的 MySQL 数据库中 我有一个名为 POLYGON 类型的 Polygon 字段 并且我已尝试运行所有这些查询 但仍然出现 SQL 语法错误 SET g POLYGON 74 135913848876
  • 如何用 Java 或 C# 等语言实现统一算法?

    我正在读我拿到的人工智能教科书 我已经解决了我的部分的最后一个作业问题 以您选择的任何语言实施第 69 页概述的统一算法 在第 69 页 您有以下统一算法的伪代码 function unify E1 E2 begin case both E
  • 用于神经网络模型预测的数据的缺失值

    我目前有大量数据将用于训练预测神经网络 美国主要机场的千兆字节天气数据 我几乎每天都有数据 但有些机场的数据中存在缺失值 例如 机场在 1995 年之前可能不存在 因此在此之前我没有该特定位置的数据 此外 有些还缺少整年 可能跨度为 199
  • 将 MSSQL 中用于 Web 制图的投影(Leaflet、Openlayer、OpenStreetMaps、GoogleAPI...)更改为 WSG48 或任何其他格式

    我在 MSSQL 服务器中有一些像这样的 WKT WKB 数据 并希望借助 leaflet Openlayer OpenStreetMaps 或 GoogleAPI 将它们显示在地图上 我的数据如下所示 POLYGON 1736946 09

随机推荐

  • 动态对象创建

    我有一个接受字符串对象名称的函数 我需要该函数来创建与字符串值同名的对象的新实例 例如 function Foo function create name return new name create Foo should be equiv
  • 找不到 com.google.firebase:firebase-database:9.2.0

    我试图将新的 firebase 数据库安装到我的应用程序中 但失败并出现下一个错误 错误 找不到 com google firebase firebase database 9 2 0 必需的 经过 应用程序名称 应用程序 未指定 比我克隆
  • 1and1.com 上 SQL Server 连接字符串的正确格式

    除了给 1and1 com 网络托管的支持人员打电话和发送电子邮件之外 我还花了几个小时尝试在网络上搜索此内容 但没有成功 我有 ASP NET 页面 它使用实体框架连接到 MS SQL Server 数据库 在我的本地机器上 一切正常 自
  • Node.JS 的默认文件夹功能

    我想使用node js和socket io向我的网站添加一些实时功能 但不必处理页面请求 响应的麻烦 我能否获得正常的文件夹功能 首先提供index html 然后自动加载任何js css 依赖项 Thanks 您可以使用 Express
  • 如何配置 vim 在编辑 python 文件时不在行首添加注释

    当我在编辑 python 文件时在 Vim 中的空行上以插入模式添加 时 vim 将 移动到行的开头 但我希望将 插入到我输入它的选项卡级别 例如 在 vim 中编写此内容时 for i in range 10 不会停留在我输入的位置 它是
  • 如何在 PHP 中生成密码,就像 Devise Gem 在 Ruby on Rails 中生成的那样

    我正在将网站从 Ruby on Rails 更新为 PHP 我需要生成由 Devise Gem 在 Ruby on Rails 中生成的密码 我必须知道密码的哈希方法是什么 才能使用 PHP 创建相同的方法 但作为初学者 要在 Ruby o
  • BigQuery SQL:对 7 天内出现的具有共享 ID 的行进行分组,并返回最近出现的值

    我有一个带有日期标记的事件表 我需要将其捆绑到 7 天的组中 从每个 event id 最早出现的时间开始 最终输出应返回每个捆绑包的开始日期和结束日期以及每个捆绑包中最新事件的 值 列 没有预定的开始日期 7 天 窗口是任意的 而不是 一
  • Dart - 隔离跨窗口通信

    Dart 隔离是否可以进行跨窗口通信 这是我的场景 用户在浏览器窗口 A 中打开网站 窗口 A 生成一个新的隔离 然后 用户单击一个链接 该链接将创建一个新选项卡并打开浏览器窗口 B 假设该链接位于同一域中 等等 浏览器窗口 B 可以从浏览
  • 带 ILU 预处理器的一般最小残差 (GMRES)

    我正在尝试在我编写的 GMRES 代码中实现 ILU 预处理器 为了求解线性系统 Ax b 我正在尝试使用尺寸为 25x25 的简单三对角 SPD 矩阵 如您所见 我正在计算使用 spilu 方法进行预处理 代码运行没有错误 但解决方案显然
  • 通过“wsl [command]”调用命令与打开 wsl shell 并调用“[command]”有什么区别?

    我在 Windows 10 上通过 WSL 2 0 使用 Ubuntu 并希望从 Windows 命令行运行 Texlive 为此 我将 Texlive 文件夹添加到路径中 etc environment 我还尝试了许多其他位置 例如 HO
  • 无法使用 python3 和 sqlite3 安装 pyspatialite

    我无法安装 pyspatialite 当我尝试时 它给了我这个错误 pip install pyspatialite Downloading unpacking pyspatialite Could not find a version t
  • 如何在Delphi 11.3 CE版本上安装JCL和JVCL

    Jcl 和 JCVL 没有创建库 gt Radstudio Tools jcl 2 8 0 8551 source vcl 该版本的产品不支持命令行编译 所以我必须手动运行它 但是 如何查看运行时包或设计时包 是否有无需 JediInsta
  • PagerAdapter 的 IllegalStateException

    我在此活动中收到 IllegalStateException 但不太确定发生了什么 这是 QuickContactActivity 中的 ViewPagerAdapter 类 private class ViewPagerAdapter e
  • 可以让 CompareValidator 接受带逗号的数字吗?

    我一直在对网页上的输入字段进行 Double 类型检查 但现在我需要允许逗号 这可以使用 CompareValidator 来完成还是我需要使用正则表达式验证器 而不是使用Type Double 尝试使用Type Currency 它应该接
  • 使用 GAS 解压缩 gz 文件会引发错误异常:参数无效

    我正在尝试解压缩作为附件发送到我的电子邮件的 DMARC 报告 它适用于 zip 文件 但不适用于 gz 文件 在我的代码中 我首先按主题获取正确的电子邮件 如果主题正确 则运行此脚本 var attachments message get
  • 量角器拖放:Angular 与 Angular with HTML5

    我在量角器测试中遇到了拖放问题 就像其他人一样 但一般情况下没有 仅在使用 HTML5 的角度应用程序中 为了演示 我使用两个演示拖放功能的网页编写了一个小型量角器测试套件 第一个页面 在第一个测试用例中使用 演示了 AngualarJS
  • 使用 Laravel 5.6 加载用户设置

    我希望能够修改 Laravel 5 6 使用的 Auth gt user 数据 我有一个名为设置的表 其中有一列名为user id其中对应于一个用户id 我尝试修改app User php并添加一个 construct功能 public f
  • Java中私有静态变量有什么用?

    如果一个变量被声明为public static varName 然后我可以从任何地方访问它ClassName varName 我还知道静态成员由类的所有实例共享 并且不会在每个实例中重新分配 将变量声明为private static var
  • 刷新数据透视表的运行时错误 1004

    我创建了宏 它将刷新工作表中的所有数据透视表 相同的代码在一张纸上有效 但在另一张纸上无效 我尝试在调试模式下运行它 它对于前几张表工作正常 但在中间的一个表上出现错误 运行时错误 1004 数据透视表类的 RefreshTable 方法
  • 2D 游戏:快速(最快)找到另一个实体的 x 个最接近实体的方法 - 大量实体,高度动态

    我正在开发一款具有大量动态实体的 2D 游戏 为了好玩 我们就称他们为士兵吧 假设有 50000 人 我只是随机想到的 可能多了也可能少了 所有这些士兵都按照规则移动每一帧 想想群体 聚集 转向行为 对于每个士兵 为了更新其运动 我需要与我