首页 > 解决方案 > 游戏 AI 如何统一定位、识别和瞄准其他游戏对象

问题描述

如何让我的 NPC AI 定位 X 距离内的所有对象,识别每个对象,然后能够瞄准特定对象?一个例子是:AI 在一个区域内,并且在它的范围内有 4 个对象。这些对象是两棵树、一块石头和一头猪。AI 需要木头,然后需要一些石头。我如何让 AI 能够识别 2 棵树、岩石和猪,然后去一棵树,然后去岩石?

标签: c#unity3dgame-ai

解决方案


要搜索特定类型的对象:

var foundObjects = FindObjectsOfType<TextMesh>();

https://docs.unity3d.com/ScriptReference/Object.FindObjectsOfType.html

要找到它们(注意 foundObjects 是 object[],你需要遍历它们):

foundObject.transform.position;

需求可以存储在优先队列中。它基本上是自排序数据收集,如果你解决了 ex 的最高优先级任务:finding 2 wood,它将让你获得下一个最高优先级任务。


推荐阅读