C# AI到达目标时平移到固定位置
我试图让人工智能特工站在实际目标的固定位置上 我被要求分享代码。这是我在网上找到的最终状态机的一个脚本 以下是C#中的整个州代码: } 我希望“目标”真正靠近玩家,因此AI站在玩家固定的变换位置C# AI到达目标时平移到固定位置,c#,unity3d,artificial-intelligence,transform,target,C#,Unity3d,Artificial Intelligence,Transform,Target,我试图让人工智能特工站在实际目标的固定位置上 我被要求分享代码。这是我在网上找到的最终状态机的一个脚本 以下是C#中的整个州代码: } 我希望“目标”真正靠近玩家,因此AI站在玩家固定的变换位置 编辑:场景是超市,目标是用户。用户正在接近货架,AI正在接近用户。所以我需要他们站成一行 我可以在您的代码中看到,您正在计算目标位置,但在下一行中,没有将该目标指定给targetLocation。你在做这个: target = new Vector3 (player.position.x, 0, pla
编辑:场景是超市,目标是用户。用户正在接近货架,AI正在接近用户。所以我需要他们站成一行 我可以在您的代码中看到,您正在计算目标位置,但在下一行中,没有将该目标指定给targetLocation。你在做这个:
target = new Vector3 (player.position.x, 0, player.position.z - 1);
target = targetLocation; // you are overriding the above calculated target
为此更改行:
targetLocation = target;
因为下面您正在分配targetLocation。在这里:
我不确定我是否理解正确-当AI非常接近它时,你想将其修复到某个位置?当前代码以何种方式失败?它是否接近目标,但突然停止?它一点也不动吗?目标是否位于navmesh位置?@Fiffe我想你可以这么说。我想将我的AI固定到相对于目标的位置。今天,大多数脚本都有AI去目标,我希望它站在目标附近。@Serlite,首先,即使在COBO回复之后,它也不能工作。它正在接近目标,但停在不同的地方。我的目标是一个移动的用户,一旦用户进入对撞机,它就会触发AI接近他。用户在navmesh位置以及AI.hi上行走。你能给我你的完整脚本,这样我可以研究它,并测试它仔细。
targetLocation = target;
shopper.navMeshAgent.destination = targetLocation;