Jump to content
Unity Insider Forum

Seeweg berechnen


peachplayer

Recommended Posts

Soll der Designer oder die Spieler eine Karte erstellen können, sprich Design Time in Unity oder Runtime im Spiel?

Grundsätzlich sollte das navigieren mit Navmesh funktionieren.

Entweder das in Unity eingebaute oder z.B. so eine 2D Lösung https://github.com/h8man/NavMeshPlus

Für das Erstellen der Karte wüsste ich jetzt nichts fertiges.

Link zu diesem Kommentar
Auf anderen Seiten teilen

NavMeshes befinden sich auf Renderern oder Collidern. Wenn du also über See fahren willst, brauchst du eines von beidem, damit sich ein NavMesh darauf bilden kann. Du kannst also einfach eine Plane drunter packen, und sicherstellen dass sie Navigation Static ist. Dann dasselbe mit den Ländern tun, damit diese auf einem anderen NavMesh-Layer auch als Hindernisse für deine Schiffe dienen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für den Tipp!

Meine Game-View sieht folgendermassen aus:

image.thumb.png.767ec8530d38f7f91362fee2f7195321.png

Leider dreht sich das Container-Schiff nur um die eigene Achse bei Mausklick...Die World-map und die Plane wurden separat gerendert. Woran könnte das liegen?
Das Script sieht so aus:
 

Gruss, peachplayer

// MoveToClickPoint.cs
using UnityEngine;
using UnityEngine.AI;

public class MoveToClickPoint : MonoBehaviour
{
   public NavMeshAgent agent;
   public Camera camera;
    void Start()
    {
        agent = GetComponent<NavMeshAgent>();
       
    }
    
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit hit;

            if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 1000))
            {
                agent.destination = hit.point;
            }
        }
    }
}

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...