我目前正在使用Unity 3D项目(准确地说是5.0.1版本),其中角色可以在不同形状的行星中行走而不会掉落。因此它总是被行星引力所吸引(类似于超级马里奥银河游戏的机制)。
现在,问题在于我尝试为敌人编写AI代码。这个AI应该非常简单,但由于我对行星形状的这一点,我无法想出一个解决方案。敌人应该检查玩家的位置并向前移动到其位置。这是一个非常愚蠢的敌人。但问题是,敌人必须能够跟踪玩家并且无论他在哪个星球上都能到达其位置。因此,如果行星是圆形的,我不能让敌人看向玩家然后前进,就像我在飞机星球上做的那样。
我已经尝试过使用NavMesh,但是Unity不希望合作并最终制作出1/3星球的NavMesh。我不明白为什么。我已经尝试更改NavMesh烘焙的每个参数,但我还没有成功。
我想要做的另一个问题是:¿如何让玩家在使用网眼对撞机时能够以平滑的方式行走在任何行星的表面上,无论其形状如何?我目前通过使用光线投影获得行星的正常来实现这一点,旋转玩家使Y轴垂直于法线并在-Y中施加力以模拟重力。但是当我实现Mesh Collider时会带来很多问题。它会导致抖动。但是,当我使用Unity的原始对撞机时,它工作得很好......
反正。我现在最需要的是人工智能问题的答案。另一个有点像加分。
P.S:解决方案是否在Javascript中无关紧要。然后我可以将其翻译为C#:)