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.
miércoles, 25 de diciembre de 2024
NON-HUMAN AUTOPSY AND ESCAPE;
domingo, 22 de diciembre de 2024
Godot 4.3 GDScript instanciar y borrar correctamente al destruir un enemigo;
extends Area3D
#var Esferauno = preload("res://PERSONAJES MACABROS/ARAÑA/EXPLOTADA ARAÑA.tscn")
var Esferauno = preload("res://MEDICO AUTOPSIA MUERE/MEDICO AUTOPSIA3 PARTIDO POR MITAD MUERE.tscn")
# 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
func _on_area_entered(area: Area3D) -> void:
var parent = get_parent()
var CollisionShape3Dcubo = parent.get_node("CollisionShape3D")
get_node("CollisionShape3D").queue_free()
get_node("CSGCylinder3D").queue_free()
pass # Replace with function body.
func _on_area_exited(area: Area3D) -> void:
var Esferauno = Esferauno.instantiate()
add_child(Esferauno)
pass # Replace with function body.
viernes, 13 de diciembre de 2024
Presiona "espacio" e instancia proyectil en godot 4.3 con GDScript;
extends Area3D
var Bullet = preload("res://PROYECTILSIMULACIONDEGOLPE/area_3d RESIMULARAGOLPE.tscn")
#var Bullet2 = preload("res://EL PROTAGONISTA/FOGONAZO PISTOLA/cpu_particles_3dfogonazo.tscn")
func _ready() -> void:
pass # Replace with function body.
func _input(event):
if event is InputEventKey:
if event.keycode == KEY_SPACE and event.pressed:
var bullet = Bullet.instantiate()
#var bullet2 = Bullet2.instantiate()
add_child(bullet)
martes, 10 de diciembre de 2024
Combinacion de un GDScript para un CharacterBody3D + GDScript para activar animacion de un personaje= movimientos fluidos con sentido;
extends Node3D
var animacion_actual = "MakeHuman default skeleton|NUEVACAMINATA"#ANIMACION CONTINUA Y FIJA DE CAMINAR
func _ready():
#$AnimationPlayer.play("MakeHuman default skeleton|NUEVACAMINATA")#ANIMACION CONTINUA Y FIJA
pass # Replace with function body.
func _physics_process(delta):
# Agacharse
if Input.is_action_just_pressed("ui_accept"):#TECLA ESPACIO AL PRESIONAR GOLPEA
if animacion_actual != "MakeHuman default skeleton|ATCA":
$AnimationPlayer.play("MakeHuman default skeleton|ATCA")
animacion_actual = "MakeHuman default skeleton|ATCA"
if Input.is_action_just_released("ui_accept"):#TECLA ESPACIO AL SOLTAR VUELVE ANIMACION ANDAR
if animacion_actual != "MakeHuman default skeleton|NUEVACAMINATA":
$AnimationPlayer.play("MakeHuman default skeleton|NUEVACAMINATA")
animacion_actual = "MakeHuman default skeleton|NUEVACAMINATA"
if Input.is_action_just_pressed("RETUERCE"):#TECLA ALT AL PRESIONAR DA ZARPAZO
if animacion_actual != "MakeHuman default skeleton|BOFETON":
$AnimationPlayer.play("MakeHuman default skeleton|BOFETON")
animacion_actual = "MakeHuman default skeleton|BOFETON"
if Input.is_action_just_released("RETUERCE"):#TECLA ALT AL SOLTAR VUELVE A CAMINAR NORMAL
if animacion_actual != "MakeHuman default skeleton|NUEVACAMINATA":
$AnimationPlayer.play("MakeHuman default skeleton|NUEVACAMINATA")
animacion_actual = "MakeHuman default skeleton|NUEVACAMINATA"
if Input.is_action_just_pressed("FLECHA"):#TECLA ALT AL PRESIONAR DA ZARPAZO
if animacion_actual != "MakeHuman default skeleton|ANDASOLO":
$AnimationPlayer.play("MakeHuman default skeleton|ANDASOLO")
animacion_actual = "MakeHuman default skeleton|ANDASOLO"
if Input.is_action_just_released("FLECHA"):#TECLA ALT AL PRESIONAR DA ZARPAZO
if animacion_actual != "MakeHuman default skeleton|NUEVACAMINATA":
$AnimationPlayer.play("MakeHuman default skeleton|NUEVACAMINATA")
animacion_actual = "MakeHuman default skeleton|NUEVACAMINATA"
---------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
extends CharacterBody3D
var rotate_speed = 10.1 # Rotation speed
const SPEED = 8.0 # Movement speed
const JUMP_VELOCITY = 3.5 # Jump velocity
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
func _ready():
# Replace with function body
pass
func _physics_process(delta):
if not is_on_floor():
velocity.y -= gravity * delta # Apply gravity
if Input.is_action_just_pressed("ui_accept") and is_on_floor():
velocity.y = JUMP_VELOCITY # Jump
var input_dir = Input.get_vector("ui_left", "ui_right","ui_down", "ui_up",) # Get input direction
var direction = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
if direction:
velocity.x = direction.x * SPEED # Move in X direction
velocity.z = direction.z * SPEED # Move in Z direction
else:
velocity.x = move_toward(velocity.x, 0, SPEED) # Stop horizontal movement
velocity.z = move_toward(velocity.z, 0, SPEED) # Stop vertical movement
move_and_slide() # Apply movement and collisions
var movimiento_vector = Vector3.ZERO # Initialize movement vector
if Input.is_action_pressed("A"): # Move forward
rotate_y(0.04) # Rotate on X axis (negative for down)
if Input.is_action_pressed("D"): # Move forward
rotate_y(-0.04) # Rotate on X axis (negative for down)
elif Input.is_action_pressed("B"): # Move backward
rotate_x(-0.01) # Rotate on X axis (positive for up)
elif Input.is_action_pressed("move_left"):
rotate_y(-0.04) # Rotate on Z axis (positive for left)
elif Input.is_action_pressed("move_right"):
rotate_y(0.04) # Rotate on Z axis (negative for right)
#if Input.is_action_just_pressed("ui_accept"):
func _unhandled_input(event):
if event is InputEventKey and event.pressed:
if event.keycode == KEY_W:
translate(Vector3(0, 0, 60) * get_process_delta_time())
#if Input.Input.is_action_pressed()("ANDAALANTECONW"):
#translate(Vector3(0, 0, 30) * get_process_delta_time())
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
Explicacion: practicas de GDScript para animar personajes que al abanzar camine que si esta parado no se mueva , y combinarlo con zarpazos y movimientos..........aun esta verde....pero va saliendo lo que busco.
lunes, 9 de diciembre de 2024
GDScript, para Godot 4.3, andar y dar dos golpes zarpazos diferentes, presionando, ESPACIO tecla y ALT tecla;
extends Node3D
var animacion_actual = "ANDASOLO"#ANIMACION CONTINUA Y FIJA DE CAMINAR
func _ready():
$AnimationPlayer.play("ANDASOLO")#ANIMACION CONTINUA Y FIJA
pass # Replace with function body.
func _physics_process(delta):
# Agacharse
if Input.is_action_just_pressed("ui_accept"):#TECLA ESPACIO AL PRESIONAR GOLPEA
if animacion_actual != "MakeHuman default skeleton|ATCA":
$AnimationPlayer.play("MakeHuman default skeleton|ATCA")
animacion_actual = "MakeHuman default skeleton|ATCA"
if Input.is_action_just_released("ui_accept"):#TECLA ESPACIO AL SOLTAR VUELVE ANIMACION ANDAR
if animacion_actual != "MakeHuman default skeleton|ANDASOLO":
$AnimationPlayer.play("MakeHuman default skeleton|ANDASOLO")
animacion_actual = "MakeHuman default skeleton|ANDASOLO"
if Input.is_action_just_pressed("RETUERCE"):#TECLA ALT AL PRESIONAR DA ZARPAZO
if animacion_actual != "MakeHuman default skeleton|GIRACABEZAYZARPAZO":
$AnimationPlayer.play("MakeHuman default skeleton|GIRACABEZAYZARPAZO")
animacion_actual = "MakeHuman default skeleton|GIRACABEZAYZARPAZO"
if Input.is_action_just_released("RETUERCE"):#TECLA ALT AL SOLTAR VUELVE A CAMINAR NORMAL
if animacion_actual != "MakeHuman default skeleton|ANDASOLO":
$AnimationPlayer.play("MakeHuman default skeleton|ANDASOLO")
animacion_actual = "MakeHuman default skeleton|ANDASOLO"
----------------------------------------------------------------------------------------------------------------------
Explicación: en este GDScript e conseguido hacer las animaciones de andar y de golpear de dos formas diferentes , y que de forma fluida y coherente den movimiento al personaje, la animación de andar es continua al presionar tecla espacio da un zarpazo, la misma tecla al soltarla el personaje vuelve a andar y de la misma forma al presionar tecla alt el personaje da otro tipo de movimiento de ataque diferente y al soltar tecla alt vuelve a la animación de andar con normalidad......
las teclas alt y espacio estan en el mapa de entrada de godot4.3 con el nombre de ATACA y de RETUERCE.....
son animaciones echas a mano, me gusta hacerlas yo aun son torpes pero estoy completamente seguro que con mas tiempo y practicas tendran mas calidad y seran mas personales y estilisticas....
musica del video de https://creativecommons.org/licenses/by/4.0/
domingo, 8 de diciembre de 2024
GDScript, personaje animado anda presiono espacio ataca suelto espacio sigue andando;
extends Node3D
var animacion_actual = "ANDASOLO"
func _ready():
$AnimationPlayer.play("ANDASOLO")
pass # Replace with function body.
func _physics_process(delta):
# Agacharse
if Input.is_action_just_pressed("ui_accept"):
if animacion_actual != "MakeHuman default skeleton|ATCA":
$AnimationPlayer.play("MakeHuman default skeleton|ATCA")
animacion_actual = "MakeHuman default skeleton|ATCA"
if Input.is_action_just_released("ui_accept"):
if animacion_actual != "MakeHuman default skeleton|ANDASOLO":
$AnimationPlayer.play("MakeHuman default skeleton|ANDASOLO")
animacion_actual = "MakeHuman default skeleton|ANDASOLO"
Pegar un objeto a un hueso con blender; muy facil; Control +P;
Contol+P ,
-1 añadir vacio.
-2 añadir objeto.
-3 fusionar vacio y objeto con Control +P
-4 seleccionar el hueso de la mano y el vacio y fusionarlos con Control+P en modo Hueso.
Observar el video y practicar, muy util para pasarlo luego a motores de juegos, tipo Godot.
(musica de fondo pertenece a:https://creativecommons.org/licenses/...)