2017-06-13 3 views
0

Ich bin ein Anfänger auf Unity und ich möchte ein persönliches Projekt erstellen, alleine. Ich habe zwei Gameobjects in der Szene, ich habe LineRenderer und NavMesh Agent auf Unity verwendet, um einen Pfad zwischen zwei Spielobjekten zu zeichnen, Bisher ist alles gut, Unity zeichnen Pfad zwischen zwei Gameobjects.Setze und dupliziere Gameobject entlang oder über einen Pfad Unity

Void Update(){ 
    OnDrawGiz(GameObject.Find("Destination")); 
    } 
    void OnDrawGiz(GameObject obj) 
    { 

    Transform target = obj.GetComponent<Transform>(); 
    NavMeshAgent nav; 
    LineRenderer line; 
    nav= this.GetComponent<NavMeshAgent>(); 
    if(nav == null || nav.path == null) 
     return; 
    line = this.GetComponent<LineRenderer>(); 
    line.material = new Material(Shader.Find("Sprites/Default")) { color 
     = Color.yellow }; 

    line.startColor=Color.yellow; 
    line.endColor = Color.green; 

    nav.SetDestination (target.position); 
    nav.isStopped=true; 
    var path = nav.path; 
    if (path.corners.Length < 2) 
     return ; 

    line.positionCount=path.corners.Length ; 

    //Draw the line 
    for(int i = 0; i < path.corners.Length; i++) 
    { 
     line.SetPosition(i, path.corners[i]); 
    } 
} 

darw path Jetzt ist meine Frage, wie kann ich entlang oder über diesen Weg ein Gameobject zum Beispiel einen Würfel setzen und vervielfältigen bitte? Here photo the result which i want to have

Ich verwende C# Skript, Unity 5.6

Antwort

1

Im letzten for Schleife direkt vor oder nach line.SetPosition(i, path.corners[i]);, können Sie die path.corners verwenden [i] die Ecken entlang der Linie zu bekommen. Verwenden Sie Instantiate dort, um ein Spielobjekt zu instanziieren. Zum Beispiel:

Instantiate(prefab, path.corners[i], Quaternion.identity);

Überprüfen Sie die Dokumentation hier (das erste Beispiel ist ähnlich dem, was Sie wollen): https://docs.unity3d.com/ScriptReference/Object.Instantiate.html

+0

Dank Josep Valls, es funktioniert gut :) – mkab

+0

ich eine andere Lösung zu finden http://answers.unity3d.com/questions/1365065/put-instantiate-gameobject-along-or-accross-a-path.html?sort=votes – mkab

Verwandte Themen