⬅️ Volver al programa · 📚 Índice completo · ⏮️ Parte anterior · ⏭️ Parte siguiente
22 clases · rango 046–067 · El salto a las tres dimensiones con Godot 4: escenas 3D, transformaciones, cámaras, iluminación, controladores en primera y tercera persona, física, animación y navegación
🧪 Laboratorio ejecutable: esta parte tiene un proyecto Godot real — labs/3d-tercera-persona — con versión inicio/ (para completar) y solucion/ (referencia jugable), verificado en CI.
Fuentes de referencia de esta parte:
- Documentación oficial de Godot Engine 4.x — 3D.
- Jason Gregory, Game Engine Architecture (3ª ed.) — rendering y escenas.
- Eric Lengyel, Mathematics for 3D Game Programming and Computer Graphics.
- Documentación de Blender y del formato glTF.
🎯 ¿De qué trata esta parte?
En 2D todo vive en un plano; en 3D hay que pensar en volumen, profundidad, cámaras que se mueven por el espacio y luces que proyectan sombras. Esta parte te lleva del mundo plano de la Parte 1 al espacio tridimensional completo, usando Godot 4: cómo se estructura una escena 3D, cómo funcionan las transformaciones (posición, rotación y escala con Transform3D), cómo importar modelos desde Blender, y cómo iluminar y encuadrar una escena para que se vea bien.
Después construimos lo que hace jugable un mundo 3D: controladores de personaje en primera y tercera persona, colisiones y física 3D, raycasting para disparar y detectar el suelo, animación de personajes con esqueletos y AnimationTree, y navegación con navmesh para que los enemigos se muevan por el nivel. Cerramos con diseño de niveles modulares (blockout, GridMap), optimización básica (LOD, draw calls) y un capstone: un nivel 3D explorable en tercera persona.
🧩 Problemas que resuelve
- No entender la diferencia entre transform local y global, o por qué rotar en 3D es más complejo que en 2D.
- Modelos que se importan mal (escala, ejes, materiales rotos) desde Blender u otras herramientas.
- Cámaras en tercera persona que atraviesan paredes o marean; controladores FPS con mal tacto.
- Escenas 3D que se ven planas o feas por mala iluminación y entorno.
- Personajes que se deslizan sin animar o cuyas animaciones no mezclan bien al correr/saltar.
- Enemigos que no saben moverse por un nivel 3D (falta de navegación).
🎓 Resultados de aprendizaje
Al terminar la parte, el alumno podrá:
- Estructurar escenas 3D en Godot y manipular
Transform3D (basis + origin) con criterio.
- Importar y configurar modelos 3D (glTF/Blender) con la escala y orientación correctas.
- Encuadrar e iluminar una escena con cámaras, luces, sombras y
WorldEnvironment.
- Programar controladores en primera y tercera persona con
CharacterBody3D.
- Usar física 3D, raycasting, áreas y capas de colisión.
- Animar personajes con esqueletos,
AnimationPlayer y AnimationTree (blending de locomoción).
- Implementar navegación con navmesh y pathfinding en 3D.
- Construir un nivel modular y aplicar optimizaciones básicas de rendimiento.
🧱 Prerrequisitos
- Haber cubierto las Partes 0 y 1 (game loop, vectores, matrices y transformaciones, colisiones y física 2D, máquina de estados).
- Godot 4.x instalado. Recomendable Blender para importar y ajustar modelos.
- GPU con soporte Vulkan/OpenGL para el renderizado 3D.
📚 Las 22 clases
| # |
Clase |
| 046 |
Del 2D al 3D: qué cambia (ejes, cámaras y mallas) |
| 047 |
Escenas 3D en Godot: Node3D, transformaciones y gizmo |
| 048 |
Sistemas de coordenadas 3D y Transform3D (basis y origin) |
| 049 |
Mallas, materiales y MeshInstance3D |
| 050 |
Importar modelos 3D: glTF, Blender y el pipeline |
| 051 |
Cámaras 3D: perspectiva, FOV y Camera3D |
| 052 |
Iluminación 3D: tipos de luz y sombras |
| 053 |
WorldEnvironment: cielo, niebla y tonemapping |
| 054 |
Movimiento 3D: CharacterBody3D y move_and_slide |
| 055 |
Controlador en primera persona (FPS) |
| 056 |
Controlador en tercera persona con cámara orbital |
| 057 |
Colisiones y física 3D: cuerpos, formas y capas |
| 058 |
RigidBody3D, fuerzas e interacción física |
| 059 |
Raycasting 3D: selección, disparos y detección de suelo |
| 060 |
Animación 3D: esqueletos, skinning y AnimationPlayer |
| 061 |
AnimationTree y blending de animaciones |
| 062 |
NavigationServer 3D: navmesh y pathfinding |
| 063 |
Áreas, triggers y detección en 3D |
| 064 |
Instanciado y escenas 3D reutilizables |
| 065 |
Nivel 3D: GridMap, kits modulares y blockout |
| 066 |
Optimización 3D básica: LOD, occlusion y draw calls |
| 067 |
Capstone Parte 2: un nivel 3D explorable en tercera persona |
Con el mundo 3D en pie, la Parte 3 profundiza en la física y las matemáticas que lo hacen creíble: cuaterniones, colisiones, joints, vehículos y steering.