Unity 多导航网格代理 .

你好,我正在开发一款即时战略游戏,因此我需要控制多个小兵。但当我尝试添加另一个小兵并同时指挥他们时,他们会移动到指定点,然后像这样互相看着对方 https://i.sstatic.net/331Mo.jpg。小兵移动的代码如下:

using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.AI;public class moveTest : MonoBehaviour {    NavMeshAgent navAgent;    // Use this for initialization    void Start () {        navAgent = GetComponent<NavMeshAgent>();    }    // Update is called once per frame    void Update () {        move();    }    void move()    {        RaycastHit hit;        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);        if (Input.GetMouseButtonDown(1))        {            if (Physics.Raycast(ray, out hit, 1000))            {                navAgent.SetDestination(hit.point);            }        }    }}

回答:

代理会尽可能靠近指定位置。由于你让两个代理都移动到同一个位置,他们会尽可能地靠近。你可以考虑增加停止距离,或者在hit.point上添加一个随机的单位球体,这样他们看起来更像一个群体。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注