addEvaluator
方法是 Think
JS 库中用于添加自定义评估器的函数。评估器是 Yuka
JS 库中重要的组成部分,用于评估实体在游戏世界中的状态及进行决策。
Think.addEvaluator(name, evaluatorFunction);
name
:字符串类型,表示添加的评估器的名称。evaluatorFunction
:函数类型,该函数用于根据实体状态及世界环境进行评估,并返回一个评估值。无返回值。
以下示例添加了一个自定义评估器,用于评估实体与敌人的距离:
Think.addEvaluator('distanceToEnemy', function(agent, world) {
const enemyPosition = world.getEntityByName('enemy').position;
const distance = agent.position.distanceTo(enemyPosition);
return distance;
});
以上代码添加了一个名为 distanceToEnemy
的评估器,通过计算实体与世界中名为 enemy
的实体的距离来评估实体状态。在评估实体状态时,函数将实体对象及游戏世界对象作为参数传入评估器函数中。
在添加评估器时,需要确保评估器名称的唯一性,否则可能会出现意外结果。评估器的函数要求返回一个评估值,并且不应该对实体或游戏世界状态进行修改。建议评估器的函数体较短,不要过于耗时。