我在产生AI方面遇到了一些问题。我制作了一个预制件,当你在编辑器中将它添加到场景时,它可以正常工作;但是如果我在运动时在场景中产生相同的预制物;我在AI Agent上遇到了问题。
特别是在附加到AI Agent的ThirdPersonCharacter脚本上(我在Unity中使用标准的AI预制件)。代理继续执行空闲动画,并且II在" CheckGroundStatus()"功能;特别是行
m_animator.applyRootMotion=false;
导致GameObject向目标滑动,而不是转换为动画师中的步行动画状态。我知道这是因为GO无法接地,但我不明白同一个预制件,产生的和通过编辑器添加之间有什么不同。
非常确定问题必须非常简单,但我无法在这里解决问题。
答案 0 :(得分:1)
好的,这很讨厌。
所以问题很简单:在ThirdPersonCharacter脚本中,您可以看到start函数中有代码。这个功能发生在以后;因此预制件在运行时可能没有完全固定,这可能会导致像我这样的问题。
要解决此问题,只需使用Awake()函数更改Start()函数即可。这将强制对撞机和组件首先初始化,然后原点和检查距离函数将首先运行;给预制件正确的初始化,然后才能正常运行。
希望这会有助于他人;在能够看到问题之前,我被困了几个小时。