viernes, 13 de marzo de 2026

Página 164: Apuntes de "How to Make a Basic Horror Game in Godot - Part 3 (Godot 4 Tutorial)"

Lista de reproducción completa del tutorial How to Make a Basic Horror Game in Godot, creada por Omogonix

https://www.youtube.com/playlist?list=PLWI8H56cvVoKfe6Rj3aVUGA2NPGkSOJZ_

 

En esta parte vamos a añadir una mesa y una linterna como ítem recogible. Una vez recogida, la linterna nos permitirá usarla durante la partida para iluminar el entorno.

Además, agregaremos sonido ambiental y efectos de sonido, como el encendido de la linterna, para reforzar la ambientación.


Vamos a ir primero, por lo mas rapido de hacer, la escena de la mesa es un conjunto de Meshes que hacen la forma de la mesa mas un nodo StaticBody3D > CollisionShape3D.

 

Todos los MeshInstance3D con forma de tubo de este video, tienen 16 Radial Segments.

 

 Creamos el material de la Mesa.

 

 Antes de meter la linterna, vamos actualizar la UI, vamos a meter un nodo RichTextLabel, que contendra el mensaje [E] Interact. 

 

Ahora si, vamos a crear la linterna(StaticBody3D), su script y los materiales. 

 

 

Material del cuerpo de la linterna.

 

Lente de la linterna.

 

Creamos el input Interact.

 

Vamos ahora a la escena del Player, vamos agregar dos nuevos nodos, el nodo Head\flashlight\toggle(AudioStreamPlayer) y Head\flashlight\RayCast3D, empezaremos con este ultimo nodo.

  

  

 

Adjuntamos el siguiente script a RayCast3D.

No uséis Area3D para detectar objetos como si estuviéramos diseñado un juego 2D, no es optimo.

Omogonix no proporciona recursos de audio, pero en la pestaña Recursos de este blog encontrarás una recopilación de páginas con recursos de audio.

Terminamos agregando otro script para el nodo head\flashlight.

  

Antes de irnos, vamos agregar varios nodos AudioStreamPlayer3D

 

Para que el audio suene en bucle, vamos al archivo de audio, hacemos doble clic y habilitamos Loop > Enable, después pulsamos Reimport.

 

Modificamos el inspector.

 


Pues esta entrada no se ha podido dividir, separar esta entrada en dos partes quedaria algo roto.

Ir asimilando que en este tutorial se usar rutas absolutas para acceder a nodos de otras escenas, recomendable que nadie lo haga si quiere que su código no acabe siendo mas proclive a dar errores y dar dolores de cabeza. 


No hay comentarios:

Publicar un comentario