Aprende a Programar con Unity3D : Transform parte 2: Translate

Buenas!

Traigo el siguiente tutorial para aprender a programar siguiendo la documentación oficial.

En la parte anterior vimos el componente Transform y sus propiedades básicas como la posición y rotación.

En este tutorial vamos a ver la función Translate de Transform.

Lo primero como siempre es dejaros un enlace con la Documentación Oficial y otro con mis videojuegos publicados en Google Playhttps://play.google.com/store/apps/developer?id=Nicolás+Sánchez+Baile

Sin duda la más importante de las funciones de Transform y con la que más se trabaja es Translate.

Translate sirve principalmente para mover nuestro objeto en las coordenadas x, y, z.

Hay varias formas de usar Translate y vamos a verlas todas.

Si por ejemplo queremos desplazar nuestro objeto hacia delante (Hacia delante sería hacia donde nuestro objeto mira), utilizaríamos transform.Translate(transform.forward);

Si quisiésemos mover el objeto en el eje z positivo proporcionalmente en segundos multiplicaríamos Vector3.forward * Time.deltaTime así:

transform.Translate(Vector3.forward * Time.deltaTime);

La diferencia entre transform.forward y vector3.forward es sencillamente que transform nos devuelve los valores x y z de nuestro objeto que puede estar rotado por ejemplo y vector3 nos devuelve los ejes x y z originales, osease, los ejes x y z en el espacio, no de nuestro objeto.

Otra forma de usar translate es por ejemplo indicar los valores x y z. En los ejemplos anteriores forward devuelve x = 0, y=0, z = 1;

Podemos por ejemplo indicarle manualmente estos valores.

transform.Translate(0,0,1*Time.deltaTime);

Para finalizar con Translate vamos a ver como mover un objeto relativamente a otro. Si, esta es una forma poco conocida de usar Translate.

Primero voy a poner un ejemplo y ahora lo desglosamos.

transform.Translate(Vector3.right * Time.deltaTime,ObjetoA.transform);

Bueno, tenemos el ObjetoA, como todo objeto en el espacio en Unity3d, tiene un componente transform, nuestro objeto que estamos moviendo con Translate se va a mover de forma relativa a ObjetoA teniendo en cuenta los ejes en el espacio de ObjetoA, para intentar ser más claros, nuestro objeto se va a mover en los ejes cardinales de ObjetoA, si por casualidad nuestro ObjetoA devolviese un valor null, nuestro objeto se movería en los ejes espaciales de nuestra escena.


Con esto tenemos totalmente dominada la función Translate y podemos empezar a realizar nuestras creaciones, cualquier duda puedes escribirme comentarios aquí o en mi canal: https://www.youtube.com/channel/UCxZVDghpaAjvd1aVAnjlbnA

Un saludo y atento porque las siguientes funciones de Transform son bastante útiles ;)

Comentarios

  1. hola yo necesito ayuda con algo que estoy intentando realizar

    ResponderEliminar
    Respuestas
    1. Buenas Jairo. Pues te puedo echar una mano si quieres ;) comentame exactamente en que consiste el proyecto y donde andas estancado. Saludos!!!

      Eliminar

Publicar un comentario

Entradas populares de este blog

Metal Gear Solid V Analisis sin spoilers 2: Gráficos Antigua Generación VS Nueva Generación

IA: Seguir objetivo y esconderse en Unity3D

🌟 Crear un videojuego de plataformas con Unity 🎮 6 – Crear efecto parallax