extends MeshInstance3D
func _ready() -> void:
pass # Replace with function body.
func _input(event):
if event is InputEventKey and event.pressed:
if event.keycode == KEY_Z:
rotate_x(0.02)
pass
if event.keycode == KEY_X:
rotate_x(-0.02)
pass
Godot, scripts para Godot estudios y aprendizajes, Creacion de videojuegos. Creacion y publicacion de videojuegos en internet. Como hacer videojuegos. C# unity. Animaciones unity blender. Personajes videojuegos graficos dibujos. Diseño grafico. Comic. Animaciones gif. Dibujo de retratos. Realidad virtual. Cine y realidad virtual.
extends MeshInstance3D
func _ready() -> void:
pass # Replace with function body.
func _input(event):
if event is InputEventKey and event.pressed:
if event.keycode == KEY_Z:
rotate_x(0.02)
pass
if event.keycode == KEY_X:
rotate_x(-0.02)
pass
extends WorldEnvironment
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
# Si se presiona la tecla 1 (mapa de entrada PISO1)
if Input.is_action_just_pressed("PISO1"):
# Cargar la siguiente escena
var siguiente_escena = preload("res://ESCENAS/world_environmentESCENA PRINCIPAL-6-.tscn")
# Cambiar a la escena cargada
get_tree().change_scene_to_packed(siguiente_escena)
----------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
Explicacion: Cambiar de escena presionando"1" con un mapa de entrada con nombre"PISO1" para un GDScript de Godot 4.3;
Es muy dificil hacer animaciones de caminar manualmente, pero yo lo estoy consiguiendo, y solo con dos poses una en tijera, y grabada al principio y la otra a la inversa en tijera tambien y grabada al final del video, solo dos puntos de referencia y luego se pasa la animacion a modo ping pong en godot, el resto es sencillisimo, balancear la caveza y la espalda los brazos,,,,,,,fantastico¡¡¡
extends WorldEnvironment
var tiempo_transcurrido = 0.0 # Variable para almacenar el tiempo transcurrido
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
#pass
if Input.is_action_pressed("ui_cancel"):
get_tree().quit()
tiempo_transcurrido += delta
# Si han pasado 20 segundos, elimina el nodo
if tiempo_transcurrido >= 18.0:
#queue_free()
var siguiente_escena = preload("res://ESCENAS/world_environmentESCENA PRINCIPAL-5-.tscn") # Precargar la escena
get_tree().change_scene_to_packed(siguiente_escena) # Cambiar a la escena precargada (Godot 4.2)
#queue_free() # Liberar este nodo después del cambio de escena
pass # Replace with function body.
--------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------
Nota: los script de Godot 4.3 varian un poco de la version 4.2 , varian en estas lineas
func _ready() -> void:
pass # Replace with function body.
func _process(delta: float) -> void:
#pass
---------------nota--------------------------------------------
arriba version Godot 4.3
debajo version Godot 4.2
------------------nota----------------------------------------
func _ready()
pass # Replace with function body.
func _process(delta):
pass
extends Label3D
var scale_speed = 0.2
var scale_direction = 1
func _ready() -> void:
pass # Replace with function body.
func _process(delta: float) -> void:
# Escalado en los ejes X e Y
scale.x += scale_speed * scale_direction * delta
scale.y += scale_speed * scale_direction * delta
# Cambiar la dirección de escalado cuando alcance ciertos límites
if scale_direction == 1 and scale.x >= 0.3:
scale_direction = -1
elif scale_direction == -1 and scale.x <= 0.01:
scale_direction = 1
extends Label3D
var scale_speed = 0.8
var scale_direction = 1
func _ready() -> void:
pass # Replace with function body.
func _process(delta: float) -> void:
# Escalado en el eje X
scale.x += scale_speed * scale_direction * delta
# Cambiar la dirección de escalado cuando alcance ciertos límites
if scale_direction == 1 and scale.x >= 0.3:
scale_direction = -1
elif scale_direction == -1 and scale.x <= 0.01:
scale_direction = 1
extends Camera3D
var target_rotation_x = PI / 2 # Ángulo de rotación objetivo en el eje X
var target_rotation_y = PI / 4 # Ángulo de rotación objetivo en el eje Y
var current_rotation_x = 0.0
var current_rotation_y = 0.0
var rotation_speed = 0.7 # Ajusta esta variable para cambiar la velocidad de rotación
var is_rotating_forward_x = true # Indica si la rotación en X es en sentido horario
var is_rotating_forward_y = false # Indica si la rotación en Y es en sentido horario
func _process(delta: float) -> void:
# Rotación en el eje X
if is_rotating_forward_x:
if current_rotation_x < target_rotation_x:
rotate_x(delta * rotation_speed)
current_rotation_x += delta * rotation_speed
if current_rotation_x >= target_rotation_x:
current_rotation_x = target_rotation_x
is_rotating_forward_x = false
else:
if current_rotation_x > -target_rotation_x:
rotate_x(-delta * rotation_speed)
current_rotation_x -= delta * rotation_speed
if current_rotation_x <= -target_rotation_x:
current_rotation_x = -target_rotation_x
is_rotating_forward_x = true
# Rotación en el eje Y
if is_rotating_forward_y:
if current_rotation_y < target_rotation_y:
rotate_y(delta * rotation_speed)
current_rotation_y += delta * rotation_speed
if current_rotation_y >= target_rotation_y:
current_rotation_y = target_rotation_y
is_rotating_forward_y = false
else:
if current_rotation_y > -target_rotation_y:
rotate_y(-delta * rotation_speed)
current_rotation_y -= delta * rotation_speed
if current_rotation_y <= -target_rotation_y:
current_rotation_y = -target_rotation_y
is_rotating_forward_y = true