Plataformas móviles unity 3D

Ese título puede hacerme sonar como el más cuadrado, individuales nerd de lo que has llegado a esperar si has leído este blog más que una vez, pero bueno, me voy a dar una oportunidad de redimir cualquier déficit en mi vida social .

Durante los últimos lo que parece para siempre, hemos estado trabajando en un juego llamado Lentejuelas velocidad de Sprint , que estoy seguro que has oído algo acerca, incluso si no ha oído hablar mucho en el último mes. Es porque hemos estado trabajando duro, y pensé que ahora es un buen momento para arrojar luz sobre algo básico – ¿Qué hacer en una plataforma móvil.

moving platform

Aquí hay un poco de lado, hecho para usted – una gran parte de la funcionalidad develocidad Lentejuelas Sprint se acaba de hacer a través de los factores desencadenantes. Se pasa a través de un determinado desencadenante con la etiqueta apropiada y algo va a suceder. Por ejemplo, cuando usted salta en un trampolín, es el gatillo sentado justo encima de él que obliga al jugador de nuevo, no el trampolín en sí.

En el caso de la plataforma móvil, es la plataforma (modelado en Cinema 4D) y desencadenar un tanto a un niño de un GameObject vacío para evitar que en un paquete pequeño y agradable. Es la GameObject que se mueve, mueve todos los niños con ella.

Ahora detectar si el jugador está realmente en la plataforma es sencillo – cada vez que entran en el gatillo, que está en la plataforma, y ​​cuando no lo son, no lo son. ¿No?

  si (== object.gameObject.tag " movingPlatform ") {
    Debug.log (" plataforma móvil! ");
    transformar. padres object.gameObject.transform =. padres ;

}

Este es el código que aparece en el OnTriggerEnter función. Para mover el jugador, junto con la plataforma y para que no se caiga o se deslice a través de él fuera de ella, todo lo que había que hacer es añadirlo como un padre. No es la mejor práctica – especialmente si usted está haciendo un complejo de juego más – pero es lo suficientemente simple como para el nuestro y funciona. Dulce.

Pero tenemos un problema. Cuando el jugador salta de la plataforma, que todavía va a ser un hijo de la GameObject. Eso no está bien. Estarán deslizamiento de todo el taller.

Ahora he intentado todo tipo de soluciones y la que llegamos a lo que nos dio un resultado consistente es unas pocas líneas en el Update () función.

  si (! controller.isGrounded) {
    transformar. padres = NULL ;
    transform.rotation.z = 0;
  }

Básicamente, si el jugador está en el suelo, no es un niño de cualquier cosa, independientemente de si eran sólo en una plataforma en movimiento o no. La única vez que tiene un padre es cuando está en una plataforma móvil. Corto y dulce, si no un poco de Hacky.

Y eso es todo, realmente para el mecanismo real de la cosa, sólo hay una cosa más sobre el movimiento.

animation

Por supuesto, hay muchas maneras que usted puede hacer que algo se mueva, pero la manera más sencilla para nuestro juego era animación. Es una herramienta muy infravalorada en cuanto a desarrollo del juego, y el editor dentro de la unidad no recibe el respeto que se merece. Así que si estás buscando algo que tiene un movimiento de base, entonces, ciertamente, le dan un looksie.

Haz clic en el objeto que desea animar, entonces jefe de la Ventana -> Animación (o Ctrl / Cmd + 6). Haga clic en el botón rojo de grabación en la parte superior izquierda de la ventana y ya está. Si alguna vez has utilizado flash ni nada de eso, no es de un millón de millas de distancia. Se trata de fotogramas clave. Puede activar el código de usarlo también, así que es fabuloso doble.

Eso es todo! El juego se podrá jugar antes de tiempo (estoy seguro que voy a saber cuándo), pero por ahora, todo es acerca de usted mantenerse al día con cosas cómo funciona!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s