¿Cómo generar un prefabricado diferente con Mirror en Unity?
– UnityAssets3Free
buenas , me llamo josel luis y en esta ocasion os traigo
esta unity pregunta
Estoy tratando de crear un juego de LAN para mi tesis de la escuela y no puedo encontrar la manera de generar prefabricados diferentes para cada jugador que se conecta al servidor usando Mirror in Unity. Puedo crear una sala, pero cada vez que un jugador se una tendrá el mismo servidor prefabricado y quiero que sea diferente.
Esta es mi configuración de Network Manager. Adjunté un script llamado Char1 con un código de aquí
Puedo crear una sala y sincronizar todo con Parrelsync, pero no puedo configurar prefabricados diferentes para cada jugador que se conectará. Cualquier información que necesites para ayudarme solo házmelo saber e intentaré responder lo antes posible.
1 respuesta 1
Como no se dio la respuesta a su pregunta:
Además de su clase NetworkingManager personalizada (que, por cierto, debe heredar de NetworkManager), debe crear una variable pública GameObject. Cuando su código se compile, aparecerá en su editor como lo nombró. Después de eso, puede establecerlo en un objeto prefabricado que haya creado.
Después de eso, solo es cuestión de definir el GameObject que estás instanciando en el código.
public class MyNetworkingManager : NetworkManager
public GameObject PlayerPrefab2;
public override void OnStartServer()
base.OnStartServer();
NetworkServer.RegisterHandler<CharacterCreatorMessage>(OnCreateCharacter);
public override void OnClientConnect(NetworkConnection conn)
base.OnClientConnect(conn);
//send the message here
//the message should be defined above this class in a NetworkMessage
CharacterCreatorMessage characterMessage = new CharacterCreatorMessage
//Character info here
;
conn.Send(characterMessage);
void OnCreateCharacter(NetworkConnection conn, CharacterCreatorMessage message)
if (message.character.Equals("player2"))
GameObject gameobject = Instantiate(PlayerPrefab2);
Player2 player = gameobject.GetComponent<Player2>();
NetworkServer.AddPlayerForConnection(conn, gameobject);
else if (message.character.Equals("player1"))
GameObject gameobject = Instantiate(playerPrefab);
Player player = gameobject.GetComponent<Player>();
NetworkServer.AddPlayerForConnection(conn, gameobject);
https://mirror-networking.gitbook.io/docs/guides/gameobjects/custom-character-spawning es una buena referencia para los conceptos de clase base aquí.
nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias
sin mas,hasta la proxima