2016-10-27 1 views
0

Ich verwende zwei verschiedene Objekte für Spieler im Netzwerk-Multiplayer-Spiel. Zwei verschiedene Arten von Gameobject werden durch die Einheit network Manager instanziiert, aber das Problem ist, dass es nur eine einzige Eigenschaft von playerprefab gibt. Wie kann ich zwei verschiedene Objekte einstellen, obwohl ich versucht habe, es während der Laufzeit zu ändern, aber es gibt mir einen Fehler.Instantiiere zwei verschiedene Spieler Objekte im Netzwerk

Fehler beim Server-Objekt zu erzeugen, assetId = 4d293c8e162f3874b982baadd71153d2 netId = 1 UnityEngine.Networking.NetworkIdentity: UNetStaticUpdate()

ausgefallener Server-Objekt zu erzeugen, assetId = 4d293c8e162f3874b982baadd71153d2 netId = 7 UnityEngine.Networking .NetworkIdentity: UNetStaticUpdate()

Antwort

0

In der Dokumentation von UNetManager:

Wenn Sie die Art und Weise anpassen möchten, wie Player GameObjects erstellt werden, können Sie diese virtuelle Funktion überschreiben. Dieser Code zeigt ein Beispiel für die Standardimplementierung:

public virtual void OnServerAddPlayer(NetworkConnection conn, short playerControllerId) 
{ 
    var player = (GameObject)GameObject.Instantiate(playerPrefab, playerSpawnPos, Quaternion.identity); 
    NetworkServer.AddPlayerForConnection(conn, player, playerControllerId); 
} 

Sie konnten die Fertig zum Fertig Sie laichen wollen innerhalb dieser Code ändern.

Hoffe das hilft Ihnen bei Ihrem Problem der Wahl, welche Prefab.

+0

OnserverAddPlayer Ereignis wird nicht ausgeführt und ermöglicht dies, verschiedene Spielerobjekte zu instanziieren? –

Verwandte Themen