extends MeshInstance3D
# --- VALORES AJUSTABLES ---
@export var velocidad : float = 0.2 # Qué tan rápido camina
@export var ancho_ovalo : float = 0.3 # Distancia hacia los lados (Eje X)
@export var largo_ovalo : float = 5.0 # Distancia adelante y atrás (Eje Z)
var tiempo : float = 0.0
func _process(delta):
# El tiempo va corriendo...
tiempo += delta * velocidad
# Calculamos la nueva posición usando Seno y Coseno
# El Coseno hace el movimiento de adelante/atrás (Z)
# El Seno hace el movimiento de izquierda/derecha (X)
var nueva_x = sin(tiempo) * ancho_ovalo
var nueva_z = cos(tiempo) * largo_ovalo
# Aplicamos la posición
global_position = Vector3(nueva_x, global_position.y, nueva_z)
# --- ESTO HACE QUE EL PERSONAJE MIRE HACIA DONDE CAMINA ---
# Calculamos hacia dónde irá en el siguiente fotograma para rotarlo
var objetivo_mirada = Vector3(sin(tiempo + 0.1) * ancho_ovalo, global_position.y, cos(tiempo + 0.1) * largo_ovalo)
look_at(objetivo_mirada, Vector3.UP)
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
Explicacion: en un nivel de mi nuevo juego https://perico415.itch.io/stealing-from-the-history-museum
quiero poner unos turistas japoneses dando vueltas por una sala , van vienen, el MeshInstance3D es el padre donde alojara el hijo, el personaje en 3d en formato fbx, con animacion de Mixamo de caminar.....
