Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: Adrianete en Febrero 28, 2018, 12:17:18 AM

Título: dos jugadores en escena
Publicado por: Adrianete en Febrero 28, 2018, 12:17:18 AM
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
 

 
 
Título: dos jugadores en escena
Publicado por: lightbug en Febrero 28, 2018, 01:40:54 AM
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.
Título: dos jugadores en escena
Publicado por: Adrianete en Febrero 28, 2018, 03:30:55 AM
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">