Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# AI到达目标时平移到固定位置_C#_Unity3d_Artificial Intelligence_Transform_Target - Fatal编程技术网

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

我试图让人工智能特工站在实际目标的固定位置上

我被要求分享代码。这是我在网上找到的最终状态机的一个脚本

以下是C#中的整个州代码:

}

我希望“目标”真正靠近玩家,因此AI站在玩家固定的变换位置


编辑:场景是超市,目标是用户。用户正在接近货架,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;