【发布时间】:2016-09-23 09:55:41
【问题描述】:
我正在开发一款点击式测试游戏,并通过研究和寻找其他关于这个或那个的堆栈溢出答案取得了很大进展,但这是我第一次似乎无法做到找到与我的问题相关的任何内容。
我的计划是在我的项目中实现 PatrolJS 以进行寻路,在这个问题解决后,让它工作似乎没有任何问题。我的场景中有我的环境以及一些 NPC 角色。我在 3d 空间中进行鼠标交互,能够选择和存储有关单击内容的数据。我可以将我的角色移动到点击位置。我相信我的问题在于将点击注册到寻路区域。
这是我的问题的直观表示:
在这里,您可以看到我的环境被简化为一种颜色,以及我当前为导航网格区域定义的区域。玩家将能够单击 3d 环境/NPC 等上的任何位置以与环境中的元素进行交互/查看/使用元素。该点击已经生效,将鼠标/射线相交的 3d 空间中的点返回给我,并为我提供有关我定义的点击的那些元素的任何信息。
我需要一些指导是,如何将单独的导航网格对象上最近的点返回到在环境对象中单击的点?假设我单击其中一张表的某些部分。我希望能够在 navmesh 对象上找到绝对最近的 Vector 3 点。这样,如果有人与导航区域之外的元素进行交互,我仍然可以定义一个端点并将其提供给 PatrolJS。
【问题讨论】:
-
我可以提供帮助,但需要我目前无法提供的图片/插图,因为我在工作。回家后我会试试看能不能做到这一点
-
检查我的一些相关问题here,我想你会在那里找到一些有用的东西......
-
玩家只能在二维平面上移动吗?这会将其简化为 2D 问题,对吧?
标签: javascript three.js game-engine