Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

dos jugadores en escena

Iniciado por Adrianete, Febrero 28, 2018, 12:17:18 AM

Tema anterior - Siguiente tema
Febrero 28, 2018, 12:17:18 AM Ultima modificación: Febrero 28, 2018, 12:45:26 AM por Adrianete
hola
 
quería saber como darle movimiento direccional independiente a dos jugadores diferentes en escena, en principio cada uno con unas teclas.
 
por ejemplo el primero asdw y el segundo  jkli
 
al ponerle fpc a los dos los dos hacen el mismo movimiento con las mismas teclas
 

 
la verdad es que he estado buscando y no encuentro
 
gracias de antemano.
 
estoy probando a meter en input y en los scripts de movimiento para añadirle estos inputs de movimiento y giro, voy a ver que pasa.
 
luego, si esto va bien, probare con fire para botón de acción independiente
 

 
 

Eso pasa porque ambos escuchan a la misma input, me parece que escuchan al eje, podés definir tus propios ejes (axis) en el inputmanager (como ya lo viste), serían 4, WS (Vertical1) AD (Horizontal1) IK (Vertical2) JL (Horizontal2), en el script del first Person COntroller (el que tenga las inputs) podés agregar lo siguiente:
 

//las variables que tenga arriba...
public string horizontalAxis = "Horizontal";
public string verticalAxis = "Vertical";

 
... en cada lugar donde veas un Input.GetAxis o GetAxisRaw fijate que en el argumento tendrás un "Horizontal" o un "Vertical", basicamente un string, si le ponés en vez de eso la variable de arriba (horizontalAxis y verticalAxis), luego podés desde el mismo inspector escribir el eje de cada jugador.
 
Incluso podrías hacer un juego en el que mezclas los ejes, y ambos jugadores tienen que cooperar para hacer una tarea , en 2D sería muy divertido.

Febrero 28, 2018, 03:30:55 AM #2 Ultima modificación: Febrero 28, 2018, 05:38:55 AM por Adrianete
Cita de: lightbug date=1519778454Eso pasa porque ambos escuchan a la misma input, me parece que escuchan al eje, podés definir tus propios ejes (axis) en el inputmanager (como ya lo viste), serían 4, WS (Vertical1) AD (Horizontal1) IK (Vertical2) JL (Horizontal2), en el script del first Person COntroller (el que tenga las inputs) podés agregar lo siguiente:
   
   

//las variables que tenga arriba...
public string horizontalAxis = "Horizontal";
public string verticalAxis = "Vertical";

   
      ... en cada lugar donde veas un Input.GetAxis o GetAxisRaw fijate que en el argumento tendrás un "Horizontal" o un "Vertical", basicamente un string, si le ponés en vez de eso la variable de arriba (horizontalAxis y verticalAxis), luego podés desde el mismo inspector escribir el eje de cada jugador
   
   
       
   


he cogido el script de movimiento lo he duplicado y le he puesto a cada uno los controles que tiene que tener.
 

 
el mouse lo he puesto para que sean los botones, pero quiero ponerlo para que se giren en la direccion de movimiento
 
 
 
Cita de: lightbug date=1519778454Incluso podrías hacer un juego en el que mezclas los ejes, y ambos jugadores tienen que cooperar para hacer una tarea , en 2D sería muy divertido.
   


esa era la idea, como el juego de brothers mas o menos, cada uno manejado por un joistic ;)
 


   
eature=oembed" width="480">

 
 

Etiquetas: