c# - 游戏 AI 如何统一定位、识别和瞄准其他游戏对象
问题描述
如何让我的 NPC AI 定位 X 距离内的所有对象,识别每个对象,然后能够瞄准特定对象?一个例子是:AI 在一个区域内,并且在它的范围内有 4 个对象。这些对象是两棵树、一块石头和一头猪。AI 需要木头,然后需要一些石头。我如何让 AI 能够识别 2 棵树、岩石和猪,然后去一棵树,然后去岩石?
解决方案
要搜索特定类型的对象:
var foundObjects = FindObjectsOfType<TextMesh>();
https://docs.unity3d.com/ScriptReference/Object.FindObjectsOfType.html
要找到它们(注意 foundObjects 是 object[],你需要遍历它们):
foundObject.transform.position;
需求可以存储在优先队列中。它基本上是自排序数据收集,如果你解决了 ex 的最高优先级任务:finding 2 wood,它将让你获得下一个最高优先级任务。
推荐阅读
- python - 正则表达式用于使用正向前瞻或后视进行增强分配操作
- webpack - CSS 未包含在 index.html 中
- python - 根据表dynamodb python中的存在更新或插入项目
- android - 通过将 apk 发送给其他人,我的应用程序图标消失了
- c# - 从表中获取单行并在第二个表上加入并在详细信息视图中显示
- r - R:包“littler”的编译失败
- python - 从 Python 3 中的模块调用数组
- java - java有缓冲区吗?
- c# - Twincat 3 Eventlogger c# 参考
- bash - POSIX shell 的“read -u”的替代方法