Setting up the game area

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

Click Import & Edit to open the project in the 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.

Setting up the playable area

We're going to create our main scene with a plain Node as its root. In the Scene dock, click the Add Node button represented by a "+" icon in the top-left and double-click on Node. Name the node "Main". Alternatively, to add a node to the scene, you can press Ctrl + a (or Cmd + a on macOS).

image5

Save the scene as Main.tscn by pressing Ctrl + s (Cmd + s on 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 una señal de advertencia junto a CollisionShape porque no hemos definido su forma. Si hace clic en el icono, aparece una ventana emergente para brindarle 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.

La estructura alámbrica de un cuadro aparece en la ventana gráfica con tres puntos naranjas. Puede hacer clic 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. Haga clic en BoxShape para expandir el recurso. Establezca su Extents en 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.