2017-09-11 4 views
0

Hallo, also arbeite ich an einem RTS-Spiel, also werde ich mehr als 1 Untergebener kontrollieren, aber wen ich trie und einen weiteren Untergebenen hinzufüge und sie beide befehle, gehen sie zum Punkt und dann schauen sie einander so an . der Code für die Günstlinge zu bewegen, ist dies:Unity Mehrere navmesh-Agenten.

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); 

      } 

     } 
    } 
} 

Antwort

2

Der Agent so nahe gehen wird, wie es zu der Position kann. Da Sie beiden sagen, dass sie zur selben Position gehen sollen, drängen sie so nah wie möglich ein. Vielleicht möchten Sie die Anhaltedistanz erhöhen oder dem hit.point eine random.insideunitsphere hinzufügen, damit sie mehr wie eine Gruppe aussehen.

+0

können Sie das als Beispiel erklären –