Java AI寻求行为问题
我试着遵循这个指南,但在实现上遇到了问题。当我运行代码时,精灵的行为异常,x和y最终变成了NaN。我已经试着查找它,我已经在代码上乱搞了好几天,试图让它正常工作,但没有成功。有人能告诉我我做错了什么吗?我会先记录各种状态和决策,然后分析日志,看看它从哪里开始偏离轨道。我会在“规范化”上下一个小赌注,因为当向量长度接近零时,这可能会显示奇怪的行为(包括Java AI寻求行为问题,java,artificial-intelligence,game-engine,game-physics,Java,Artificial Intelligence,Game Engine,Game Physics,我试着遵循这个指南,但在实现上遇到了问题。当我运行代码时,精灵的行为异常,x和y最终变成了NaN。我已经试着查找它,我已经在代码上乱搞了好几天,试图让它正常工作,但没有成功。有人能告诉我我做错了什么吗?我会先记录各种状态和决策,然后分析日志,看看它从哪里开始偏离轨道。我会在“规范化”上下一个小赌注,因为当向量长度接近零时,这可能会显示奇怪的行为(包括NaNs)。但正如paphlet已经说过的:一些简单的输出,如System.out.println(“用速度改变位置”+velocity)等,可能已
NaN
s)。但正如paphlet已经说过的:一些简单的输出,如System.out.println(“用速度改变位置”+velocity)
等,可能已经带来了一些见解。
@Override
public void update() {
float c = TIME_DELTA * 10;
Vector desiredVelocity = Vector.subtract(target, pos()).normalize().multiply(c);
Vector steering = Vector.subtract(desiredVelocity, velocity);
steering.truncate(0.4f);
steering.multiply(0.0956023f); //divide by mass
velocity.add(steering);
velocity.truncate(3f);
setX(getX() + velocity.x);
setY(getY() + velocity.y);
}