Configurando el área de juego

En esta primera parte, vamos a configurar el área de juego. Comencemos importando los activos de inicio y configurando la escena del juego.

Hemos preparado un proyecto de Godot con los modelos 3D y los sonidos que usaremos para este tutorial, vinculado en la página de índice. Si aún no lo ha hecho, puede descargar el archivo aquí: `activos de Squash the Creeps <https://github.com/GDQuest/godot-3d-dodge-the-creeps/releases/tag/1.0.0> `__.

Una vez que lo haya descargado, extraiga el archivo .zip en su computadora. Abre el administrador de proyectos de Godot y haz clic en el botón Importar.

|image1|

En la ventana emergente de importación, ingresa la ruta completa al directorio recién creado squash_the_creeps_start/. Puede hacer clic en el botón Examinar a la derecha para abrir un explorador de archivos y navegar hasta el archivo project.godot que contiene la carpeta.

image2

Haga clic en Importar y editar para abrir el proyecto en el editor.

|image3|

El proyecto de inicio contiene un icono y dos carpetas: art/ y fonts/. Allí encontrarás los recursos artísticos y la música que usaremos en el juego.

image4

Hay dos modelos 3D, player.glb y mob.glb, algunos materiales que pertenecen a estos modelos y una pista de música.

Configurando el área jugable

Vamos a crear nuestra escena principal con un Nodo simple como raíz. En el panel Escena, haga clic en el botón Agregar nodo representado por un icono "+" en la parte superior izquierda y haga doble clic en Nodo. Nombre el nodo "Main". Alternativamente, para agregar un nodo a la escena, puede presionar Ctrl + a (o Cmd + a en macOS).

image5

Guarda la escena como Main.tscn presionando Ctrl + s (o Cmd + s en macOS).

Comenzaremos agregando un piso que evitará que los personajes se caigan. Para crear colisionadores estáticos como el piso, las paredes o los techos, puede usar nodos StaticBody. Requieren nodos secundarios CollisionShape para definir el área de colisión. Con el nodo Main seleccionado, agregue un nodo StaticBody, luego un CollisionShape. Cambie el nombre de StaticBody como Ground.

image6

Aparece un signo de advertencia junto a CollisionShape porque no hemos definido su forma. Si haces clic en el icono, aparecerá una ventana emergente para brindarte más información.

image7

Para crear una forma, con CollisionShape seleccionado, diríjase al Inspector y haga clic en el campo [vacío] junto a la propiedad Shape. Cree una nueva Box Shape.

image8

La forma de caja (box shape) es perfecta para suelos planos y paredes. Su grosor lo hace confiable para bloquear incluso objetos que se mueven rápidamente.

Una box wireframe aparece en el viewport con tres puntos naranjas. Puede hacer clic en ellos y arrastrarlos para editar la extensión de la forma de forma interactiva. También podemos establecer con precisión el tamaño en el inspector. Haz clic en BoxShape para expandir el recurso. Ajusta sus Extents a 30 en el eje X, 1 para el eje Y, y 30 para el eje Z.

image9

Nota

En 3D, las unidades de traslación y tamaño están en metros. El tamaño total de la caja es el doble de su extensión: 60 por 60 metros en el plano del suelo y 2 unidades de altura. El plano de tierra está definido por los ejes X y Z, mientras que el eje Y representa la altura.

Las formas de colisión son invisibles. Necesitamos agregar un piso visual que lo acompañe. Seleccione el nodo Ground y agregue una MeshInstance como su hijo.

image10

En el Inspector, haga clic en el campo junto a Mesh y cree un recurso CubeMesh para crear un cubo visible.

image11

Una vez más, es demasiado pequeño por defecto. Haga clic en el icono del cubo para expandir el recurso y establecer su Size en 60, 2 y 60. Como el recurso de cubo funciona con un tamaño en lugar de extensiones, necesitamos usar estos valores para que coincida con nuestra forma de colisión.

image12

Debería ver una losa gris ancha que cubre la cuadrícula y los ejes azul y rojo en la ventana gráfica.

Vamos a mover el suelo hacia abajo para que podamos ver la cuadrícula del piso. Seleccione el nodo Ground, mantenga presionada la tecla Ctrl para activar el ajuste de cuadrícula (Cmd en macOS), y haga clic y arrastre hacia abajo en el eje Y. Es la flecha verde en el artilugio de movimiento.

image13

Nota

Si no puede ver el manipulador de objetos 3D como en la imagen de arriba, asegúrese de que el Modo de selección esté activo en la barra de herramientas sobre la vista.

image14

Mueve el suelo hacia abajo 1 metro. Una etiqueta en la esquina inferior izquierda de la ventana gráfica le indica cuánto está desplazando el nodo.

image15

Nota

Mover el nodo Ground hacia abajo mueve a ambos hijos junto con él. Asegúrese de mover el nodo Ground, no el MeshInstance o el CollisionShape.

Agreguemos una luz direccional para que nuestra escena no sea completamente gris. Seleccione el nodo Main y agregue una DirectionalLight como un hijo de él. Necesitamos moverlo y rotarlo. Muévalo hacia arriba haciendo clic y arrastrando la flecha verde del manipulador y haga clic y arrastrando el arco rojo para rotarlo alrededor del eje X, hasta que se ilumine el suelo.

En el Inspector, active Shadow -> Activado haciendo clic en la casilla de verificación.

image16

En este punto, tu proyecto debería verse así.

image17

Ese es nuestro punto de partida. En la siguiente parte, trabajaremos en la escena del jugador y el movimiento base.