Spawn den Spieler an einem Bestimmten Standort Mit Unet
Ich versuche zu spawnen 2 Spieler (host und client) bei 2 verschiedenen Orten.
Ich habe keine Ahnung, wie dies zu tun, denn die Spieler werden automatisch erzeugt wird, durch den Netzwerk-manager.
Ich habe Folgendes versucht, jedoch scheiterte schrecklich :(.
[Command]
void CmdSpawn()
{
var go = (GameObject)Instantiate(
gameObject,
transform.position + new Vector3(0,1,0),
Quaternion.identity);
NetworkServer.SpawnWithClientAuthority(go, connectionToClient);
}
Wie Kann ich den Spawn Player-Objekt an einer bestimmten Position?
Du musst angemeldet sein, um einen Kommentar abzugeben.
NetworkManager unterstützt bereits die spawn-Positionen.
Nur hinzufügen, GameObjects, wo Sie wollen die Spieler, um zu laichen, und geben Sie Ihnen die
NetworkStartPosition
Komponente. Der NetworkManager erkennt automatisch den start-Positionen und automatisch benutzen Sie diese entsprechend Ihrer Einstellung von "Spieler-Spawn-Methode" entweder "Zufällig" (ein spawn position wird zufällig gewählt, um jedem Spieler) oder "Round-Robin" (Spieler #0 laicht an der ersten position, Spieler #1 auf den zweiten und so weiter).Gibt es irgendwelche Probleme mit dem ändern der position in einem Skript für das player-Objekt? Zum Beispiel könnten Sie versuchen, indem Sie Folgendes Skript auf deinem Spieler-Objekt:
ich Stand vor einem ähnlichen problem, hier ist die Lösung in diesem thread, Lesen bis zum Ende.
http://forum.unity3d.com/threads/which-function-to-override.391076/
Machen ein GameObject aus und fügen Sie eine NetworkStartPosition zu. Dann setzen Sie es irgendwo. Wenn Sie möchten mehr als 1 spawn-Punkt, können Sie STRG+D, Objekt. Dann gehen Sie zu NetworkManager und wählen Sie Round Robin für das laichen, erste, ersten, Sekunde zu Sekunde etc. wählen Sie " Random für zufällige spawn-Punkte.