Want to make creations as awesome as this one?

Transcript

Para más información, haz clic en las arista X, Y y Z.

3.2 Operaciones básicas de posicionamiento: translación, rotación y escalado

Las operaciones de translación, rotación y escalado son básicas para el posicionamiento y manipulación de objetos dentro de un motor de videojuegos. Estos tres conceptos permiten al desarrollador definir la posición, orientación y tamaño de los objetos en un espacio 2D o 3D, lo cual es esencial para construir escenas coherentes y funcionales.

Unidad 3. Elementos básicos de motores de videojuegos

Para más información, da clic en cada imagen.

3.2 Operaciones básicas de posicionamiento: translación, rotación y escalado

Ejemplo : Supongamos que estás diseñando un nivel en un juego de carreras. Tienes un modelo 3D de un coche y necesitas colocarlo en la pista de carreras.

Unidad 3. Elementos básicos de motores de videojuegos

Translación: la translación consiste en mover un objeto de un punto a otro dentro del espacio del juego. En términos prácticos, esto se traduce en la modificación de las coordenadas de posición de un objeto en un espacio 2D o 3D. La translación puede realizarse de manera absoluta, moviendo un objeto a una posición específica, o de manera relativa, desplazándolo en relación con su posición actual. Esta operación es fundamental para animaciones, donde los objetos deben moverse de manera fluida a lo largo de una trayectoria predefinida.

Rotación: la rotación permite que un objeto gire alrededor de un eje. En un entorno 3D, los objetos pueden rotar alrededor de los ejes X, Y, y Z, permitiendo una orientación precisa dentro del espacio. La rotación es esencial para múltiples aspectos del desarrollo de videojuegos, desde la simple orientación de un personaje hacia un objetivo, hasta complejas animaciones de rotación, como el giro de una rueda o la rotación de un engranaje en un sistema mecánico.

Escalado: el escalado cambia el tamaño de un objeto en el espacio del juego. Esta operación puede realizarse de manera uniforme, aumentando o disminuyendo el tamaño del objeto en todas las direcciones, o de manera no uniforme, escalando el objeto de forma diferente a lo largo de los distintos ejes. El escalado es útil no solo para ajustar el tamaño de los objetos en la escena, sino también para crear efectos visuales, como el crecimiento de un personaje o el ajuste del tamaño de los elementos en función de la perspectiva del jugador.

Translación: utilizando la herramienta de translación en el motor (como el gizmo en Unity), puedes mover el coche a lo largo de la pista hasta la posición de partida. Este movimiento se realiza modificando las coordenadas X, Y, y Z del objeto. En código, esto podría verse así: Ejemplo en C# para mover un objeto en Unity: car.transform.position = new Vector3(10, 0, 50); // Mueve el coche a la posición (10, 0, 50)

Rotación: ahora quieres que el coche esté orientado en la dirección correcta para comenzar la carrera. Utilizando la herramienta de rotación, puedes girar el coche alrededor del eje Y para que apunte hacia adelante en la pista. En código, se podría hacer con: Ejemplo en C# para rotar 90 grados en el eje Y: car.transform.rotation = Quaternion.Euler(0, 90, 0);

Escalado: supón que el coche es demasiado grande para la pista. Usando la herramienta de escalado, puedes reducir su tamaño al 70% de su tamaño original. Esto se puede hacer ajustando el valor de escala en el inspector o programáticamente: Ejemplo en C# para escalar un objeto al 70% de su tamaño original: car.transform.localScale = new Vector3(0.7f, 0.7f, 0.7f);