01 Introducción - hektorprofe/godot-descubre GitHub Wiki
Descargar y ejecutar Godot, observar y describir la pantalla inicial.
- Descargar Godot desde la web oficial https://godotengine.org.
- Comentar que es posible instalarlo desde Steam pero no es tan recomendable (múltiples versiones).
- Explicar las dos versiones
Latest
yLong Time Support
(estable). Otras versiones enDescargas
. - Explicar que Godot 4.0 es casi un nuevo motor, en la serie usaremos la versión
Latests
. - Si un experimento deja de funcionar hacerlo saber por Discord.
- Godot viene comprimido, descomprimirlo y ejecutarlo.
- Observar y comentar la ventana principal, el
Administrador de Proyectos
. - Desde ahí se pueden crear, importar, eliminar proyectos.
- Cambiar el idioma a español si no lo está desde la esquina superior derecha.
- Consultar la información de Godot desde el botón
Acerca de
. - Explicar la diferencia entre los proyectos locales y de librería.
Aprender a nombrarlo y seleccionar un directorio.
- Abrir el
Administrador de Proyectos
. - Crear un proyecto llamado
Descubre Godot
, crear su carpeta y comentar las opciones delRenderizador
. - Dejar
Git
como metadatos de control de versión, útil para subirlo a un repositorio como Github. - Presionar
Crear y editar
, luego cerrar Godot y localizar el proyecto en el disco duro. - Abrir de nuevo el
Administrador de Proyectos
. - Eliminar proyecto de la lista y volver a importarlo.
- Crear un Tag
fundamentos
y ver como filtrarlo. - Añadir el proyecto como
Favorito
para que siempre salga arriba del todo.
Identificar las áreas principales (Viewport, Scene Tree, Inspector).
- Abrir el proyecto
Descubre Godot
. - Explicar que un motor es un programa complejo con muchas posibilidades, fácilmente abrumador.
- Identificar las 4 áreas más importantes del editor.
- Top Panel: Área superior con acceso a los menús de configuración de la escena, el proyecto, el modo depurador, el editor y la ayuda. Más a la derecha tenemos opciones para reproducir el proyecto, la escena actual, detener la ejecución, etc.
- Viewport: Área de visualización central, muestra el contenido de la escena actual, es interactivo y refleja cambios en tiempo real. Nos permite alternar entre cuatro pantallas: Escena en modo 2D, en modo 3D, el editor de Scripts y la librería de recursos. Los Viewports 2D y 3D incluyen una Toolbar (barra de herramientas) con opciones de visualización y transformación de los nodos seleccionados. Por ejemplo moverlos, rotarlos, escalarlos...
- Scene Tree: Área que representa la jerarquía de nodos de la escena, facilita la gestión y organización de los nodos.
- Inspector: Área que permite ver y editar las propiedades de los nodos seleccionados en la Scene Tree, sus componentes y scripts.
- Otras áreas dignas de mención:
- File System: Área con la jerarquía de directorios y ficheros multimedia que forman el proyecto.
- Bottom Panel (Output y Debug): Áreas para mostrar mensajes y datos de salida, impresiones y analizar la ejecución del proyecto.
- Las demás áreas son para usos más específicos como Audio, Animación, Editor de Shaders... Es mejor aprender sobre ellas sobre la marcha.
Aprender sobre los Nodos de Godot.
- Godot se basa en la idea de crear escenas que a su vez pueden formar parte de otras escenas, como una jerarquía.
- Una escena sirve solo para representar un escenario, sino que en ellas podemos moldear las entidades que forman el proyecto. Por ejemplo los personajes, enemigos, objetos decorativos, interactivos y muchísimo más.
- Observar como en una escena vacía el área
Tree View
y la opciónCrear Nodo Raiz
. - Un
Nodo
en Godot es como un bloque de lego, por si solo no tiene mucha utilidad, pero uniendo varios podemos dar forma a objetos. - Al desplegar la opción
Otro Nodo
podemos observar la jerarquía de clases, empezando con la superclaseNode
. - Dependiendo de si estamos trabajando en proyectos 2D o 3D encontramos dos subclases esenciales:
- Node2D: Los nodos que heredan esta clase representan objetos de juego en 2D.
- Node3D: Los nodos que heredan esta clase representan objetos de juego en 3D.
- También tenemos la subclase de Control que engloba los nodos relacionados con la interfaz gráfica de usuario.
- Y otras subclases más especificas para controlar la ventana, las animaciones, la reproducción de audio, agentes de navegación, temporizadores y mucho más.
Aprender sobre los Nodos 2D, sus propiedades y clases heredadas.
- Trabajar con Nodos 2D requiere establecer la pantalla 2D en el
Viewport
. - Creamos un
Nodo2D
para utilizarlo como Nodo raíz desdeOtro Nodo > Node2D
o seleccionandoEscena 2D
directamente. - Al seleccionar el
Nodo 2D
creado observamos el áreaInspector
. - La clase
Nodo 2D
tiene un grupo de propiedades llamadoTransform
, pero también hereda los grupos de propiedadesCanvasItem
yNode
. Si revisamos de nuevo la jerarquía, la claseCanvasItem
es subclase deNode
y su vez es la superclase deNode2D
yControl
, de ahí que heredemos las propiedades de ambas. Haciendo una metáfora, la claseCanvasItem
sería la madre deNode2D
yNode
su abuela. - Desplegar el grupo
Transform
y observar las propiedades de transformación. - Mover el
Nodo2D
con el mouse arrastrándolo con el modo de selección activo (teclaQ
). - Observar como se modifican las propiedades de posición
X
eY
, para el alto y ancho respectivo de la esquina superior izquierda. - Reiniciar la posición usando el ícono de la
flecha giratoria
oControl+Z
.
Practicar el guardado y carga de escenas.
- Para ejecutar el juego se requiere por lo menos una escena.
- Podemos guardar la actual desde
Escena > Guardar Escena
o haciendoControl+S
. - Una buena práctica consiste en crear un directorio
scenes
para organizar ahí nuestras escenas. - Podemos guardarla como
Main.tscn
, que significa "principal" en inglés. - Presionamos el botón de reproducir o
F5
ySeleccionar actual
para establecerla como escena principal. - Se ejecutará el proyecto con ese color gris de fondo automáticamente.
- Para detener el proyecto podemos cerrarlo o presionar
F8
. - Si tenemos cambios sin guardar en la escena, el título de la ventana empezará con
(*)
. - Si cerramos Godot, nos pedirá confirmar si queremos guardar los cambios.
- En caso de que el sistema se detenga súbitamente los cambios pendientes no se guardarán.
- Por eso es aconsejable guardar manualmente con
Control+S
después de cada modificación. - Cerramos la escena desde su pestaña en el
Viewport
. - Abrimos de nuevo la escena haciendo doble clic en ella desde el
File System
.
Aprender a configurar el proyecto y modificar el color de fondo.
- En el menú
Proyecto
encontraremos diferentes opciones. - La más importante es
Configuración del Proyecto
, la abrimos. - En esta ventana podemos cambiar los parámetros del proyecto actual.
- Tenemos muchas pestañas que iremos descubriendo a lo largo de la serie.
- Vamos a centrarnos solo en la pestaña
General
. - Esta sección incluye muchas opciones para personalizar la aplicación.
- Echemos un vistazo por encima a alguno de los grupos (
Aplicación
yMonitor
). - Podemos cambiar el color de fondo del
Viewport
desdeRenderizado > Entorno
. - Un posible aviso en la terminal de
Salida
es que el importador de Blender está activado pero no configurado. - Como no sabemos exactamente donde se encuentra la opción podemos filtrar por la palabra
blender
. - Si no tenéis el programa
Blender
desactivad la opción deSistema de archivos > Importar
. - Cerramos la ventana,
Guardar y reiniciar
y problema solucionado. - Ahora ya sabemos desde donde configurar el proyecto actual.
Aprender a añadir un nodo Sprite2D y asignarle una imagen.
- Nuestro
Node2D
es muy aburrido, vamos a configurarle una imagen. - Para integrar una imagen en el espacio 2D del juego necesitamos establecerla como un
Sprite
. - Todos los proyectos de Godot traen una imagen
icon.svg
que podemos usar de referencia. - Podemos añadir un nuevo nodo de tipo
Sprite2D
y configurar su textura arrastrándola al campo. - Al hacerlo la textura se creará automáticamente como una
CompressedTexture2D
. - Si arrastramos el
icon.svg
alViewport
se creará un nodoSprite2D
automáticamente. - Ahora tenemos dos nodos
Sprite2D
hijos deNode2D
, esto nos permite por ejemplo esconder sus nodos hijos utilizando el icono delojo
. - Podemos moverlos en conjunto (
W
), ya que los hijos siempre están posicionados en referencia a la posición del padre. - Vamos a dejar por defecto la posición
(0,0)
del nodo padre. - El nombre
Node2D
no dice mucho, podemos cambiarlo por el de la escenaMain
. - Si ejecutamos el proyecto
F5
podemos ver el resultado final. - Detenemos la ejecución
F8
- Borramos uno de los dos
Sprite2D
seleccionándolo (Q
) y pulsandoSuprimir
. - Guardamos la escena
Control+S
.
Experimentar con posicionar, rotar, escalar y torcer un Sprite.
- Todos los nodos derivados de un
Node2D
, como son losSprite2D
, soportan cuatro operaciones de transformación. Se trata de una serie de cálculos matemáticos que los motores realizan por nosotros:-
Trasladar (posicionar): Desde el inspector o usando el modo movimiento
Q
. -
Rotar: Desde el inspector o usando el modo rotación
E
. -
Escalar: Desde el inspector o usando el modo escalar
S
- Torcer: Desde el inspector.
-
Trasladar (posicionar): Desde el inspector o usando el modo movimiento
- Experimentar con los diferentes modos y transformaciones, observando las propiedades.