Contenido del curso
La Interfaz de Unity
- 4

¿Para qué sirve cada ventana?
12:16 min - 5

Qué son GameObjects y componentes en Unity
12:20 min - 6

Cómo compartir assets en Unity sin RAR
05:01 min - 7

Git, Github y Unity
09:31 min - 8

Haciendo cambios con Git
10:50 min - 9

¿Cómo volver repositorio mi proyecto de Unity?
06:03 min - 10

Navegar a través de la escena: Trucos divertidos para ir a cualquier parte de tu juego
10:01 min
Construcción y manipulación de Game Objects
- 11

Componente Transform: Posición, Rotación y Tamaño
13:24 min - 12

Colores y materiales en Unity
11:09 min - 13

Espacio global y local en Unity
Viendo ahora - 14

Sonido espacial en Unity con Audio Source
11:36 min - 15

Luces y efectos
13:17 min - 16

Prefabs en Unity: tipos y cuándo usarlos
12:22 min - 17

Prefabs en Unity para trabajo en equipo
07:40 min - 18

Sprites 2D en Unity con Sorting Groups
17:16 min
Física
Cierre
Espacio global y local en Unity
Resumen
En Unity, dominar la diferencia entre espacio global y espacio local es lo que separa una escena ordenada de un caos rotacional. Si quieres que tus objetos giren alrededor de cualquier punto sin deformarse, necesitas entender cómo funcionan las jerarquías y los pivotes dentro del motor.
Esta guía está pensada para quienes están aprendiendo desarrollo de videojuegos en Unity y ya conocen los conceptos básicos de transform, posición y rotación.
¿Qué diferencia hay entre espacio global y espacio local en Unity?
El espacio global es absoluto: si te digo norte, todos sabemos hacia dónde apuntar, igual que con coordenadas de latitud y longitud en Google Maps. El espacio local, en cambio, depende del punto de vista. Mi derecha no es tu derecha. El arriba de un astronauta flotando de cabeza no es el mismo arriba del resto del mundo.
En Unity pasa lo mismo. Cada game object tiene su propio sistema de referencia, y ese sistema cambia cuando el objeto rota o se vuelve hijo de otro [01:42].
¿Cuándo conviene usar espacio local en lugar de global? Cuando estás describiendo posiciones relativas a un objeto padre. Si un astronauta está dentro de una nave, decir está en la cabina (local) es más útil que dar coordenadas absolutas del universo (global).
¿Cómo cambio entre vista global y local en el editor?
Unity tiene un botón en la barra superior que alterna entre ambos modos. Cuando está en local, las flechas del gizmo apuntan al frente del objeto seleccionado. Cuando está en global, las flechas apuntan al frente del mundo, sin importar cómo esté rotado el objeto [05:30].
Este detalle parece menor, pero cambia por completo cómo mueves cosas en escena.
¿Cómo funciona la jerarquía de objetos en Unity?
Cuando metes un game object dentro de otro, creas una jerarquía: padre, hijo, nieto. El hijo hereda el sistema de referencia del padre, así que su posición y rotación se miden respecto a él, no respecto al mundo [04:10].
Si el padre rota, el hijo rota con él. Si el padre se mueve, el hijo lo sigue. Pero el hijo conserva su propia posición local intacta dentro de ese sistema.
Un ejemplo claro: imagina un astronauta dentro de una nave. Si la nave gira en diagonal, el arriba del astronauta sigue la nave. Pero el astronauta puede girar dentro de la cabina y mirar a otro lado sin afectar la nave. Esa es la magia de la jerarquía.
¿Qué pasa si pongo varios hijos y nietos?
Todos siguen al padre inmediato, y a la vez siguen al abuelo. Si rotas al abuelo, toda la familia gira con él. Si rotas solo al padre, los nietos giran con su padre, pero el abuelo se queda quieto.
¿Cómo configuro un punto pivote en Unity?
El pivote es el punto alrededor del cual gira un objeto. No siempre coincide con el centro de gravedad, y muchas veces necesitas moverlo para lograr rotaciones realistas, como las manecillas de un reloj girando desde su base.
La forma correcta de crear un pivote en Unity es así:
- Crea un empty game object con escala en 1, 1, 1.
- Posiciónalo donde quieres que esté el punto de rotación.
- Mete como hijo el objeto 3D que va a girar.
- Asigna un ícono de color al empty desde el panel de inspector para visualizar el pivote.
Ahora, cuando rotes el empty, el hijo girará alrededor de ese punto exacto [10:15].
¿Por qué usar un empty game object como pivote? Porque conserva escala uniforme (1, 1, 1) y evita deformaciones. Si usas un cubo escalado como padre, sus hijos heredan esa escala irregular y se rompen al rotar.
¿Por qué se deforman mis objetos al rotarlos?
Porque los padres con escala irregular heredan esa deformación a sus hijos. Si haces un martillo poniendo un cubo alargado como mango, otro cubo delgado como cabeza y un tercero como base, todos hijos en cadena, al rotarlos pasa algo raro: el mesh renderer se ve distinto al collider, y el objeto se distorsiona [08:40].
Unity no sabe interpretar escalas no uniformes en espacio global. Por eso la regla de oro es: siempre usa empties con escala 1,1,1 como pivotes, y mete los objetos visibles como hijos.
¿Cómo aplico esto en un proyecto real?
El ejercicio práctico es construir un reloj funcional. Necesitas que las manecillas giren alrededor de la cara del reloj, no de su propio centro. Para lograrlo:
- Crea un empty en el centro de la cara del reloj.
- Mete cada manecilla como hija de su propio empty posicionado en el eje de rotación.
- Rota los empties para mover las manecillas con precisión.
- Ajusta la rotación final para marcar la hora exacta en que termines el ejercicio.
Este mismo principio aplica a puertas con bisagras, ruedas de autos, brazos robóticos y cualquier articulación que necesites animar.
¿Te animas a compartir tu reloj en los comentarios? Cuéntame qué problemas encontraste al configurar los pivotes y cómo los resolviste.