lunes, 30 de diciembre de 2024

Godot4.3 rotacion de una camara , alterna adelante y hacia atras su giro, el GDScript;

 extends Camera3D


var rotation_angle = 0.0

var rotation_speed = 12.0

var rotation_direction = 1  # 1 para derecha, -1 para izquierda


func _process(delta):

# Incrementa el ángulo de rotación

rotation_angle += rotation_speed * delta * rotation_direction


# Limita el ángulo de rotación entre -90 y 90 grados

rotation_angle = clamp(rotation_angle, -45, 45)


# Gira la cámara en el eje X

rotation_degrees.x = rotation_angle


# Cambia la dirección de rotación cuando alcanza los límites

if abs(rotation_angle) == 45:

rotation_direction *= -1

Godot4.3 rotacion de una camara , alterna de izquierda a derecha y de derecha a izquierda su giro, el GDScript;

 extends Camera3D


var rotation_angle = 0.0

var rotation_speed = 12.0

var rotation_direction = 1  # 1 para derecha, -1 para izquierda


func _process(delta):

# Incrementa el ángulo de rotación

rotation_angle += rotation_speed * delta * rotation_direction


# Limita el ángulo de rotación entre -90 y 90 grados

rotation_angle = clamp(rotation_angle, -45, 45)


# Gira la cámara en el eje X

rotation_degrees.z = rotation_angle


# Cambia la dirección de rotación cuando alcanza los límites

if abs(rotation_angle) == 45:

rotation_direction *= -1


sábado, 28 de diciembre de 2024

Ejercicios de animar con Blender en tres partes;

 

En esta captura de video muestro como boy mejorando las animaciones de mis juegos que ahora me gusta mas hacerlas manualmente, divido tres movimientos en tres cortes diferentes, uno va del fotograma 1 al 100 el otro del 100 al 200 y el ultimo del 200 al 300, 

Asi  boy logrando animaciones que no se me mezclen y poco a poco hacerlas mas limpias , luego las paso a Godot 4.3 mi motor de videojuegos faborito.



Añado el GDScript que utilizo:


extends Node3D




var animacion_actual = "MakeHuman default skeleton|REPOSO"#ANIMACION CONTINUA Y FIJA DE CAMINAR


func _ready():

$AnimationPlayer.play("MakeHuman default skeleton|REPOSO")#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|REPOSO":


$AnimationPlayer.play("MakeHuman default skeleton|REPOSO")


animacion_actual = "MakeHuman default skeleton|REPOSO"

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|REPOSO":


$AnimationPlayer.play("MakeHuman default skeleton|REPOSO")


animacion_actual = "MakeHuman default skeleton|REPOSO"

#if Input.is_action_just_pressed("FLECHA"):

if Input.is_action_just_pressed("ANDAALANTECONW"):#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("ANDAALANTECONW"):#TECLA ALT AL PRESIONAR DA ZARPAZO


if animacion_actual != "MakeHuman default skeleton|REPOSO":


$AnimationPlayer.play("MakeHuman default skeleton|REPOSO")


animacion_actual = "MakeHuman default skeleton|REPOSO"


if Input.is_action_just_pressed("A"):#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("A"):#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_pressed("D"):#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("D"):#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"






miércoles, 25 de diciembre de 2024

NON-HUMAN AUTOPSY AND ESCAPE;

 







Videojuego completo y gratuito para windows y para linux, basado en el area 51 y la recuperacion de un ovni y de extraterrestres, cualquier coincidencia con lo que ocurrio realmente es mera casualidad, sugiero que si veis un extraterrestre corrais todo lo que podais.!!!!


Complete and free video game for Windows and Linux, based on Area 51 and the recovery of a UFO and aliens, any coincidence with what really happened is mere coincidence, I suggest that if you see an alien you run as fast as you can.!!!!


NON-HUMAN AUTOPSY AND ESCAPE
Mi videojuego valorado con 5 estrellas, gracias usuarios de itch.io!!!!!



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.


Fijarse en la disposicion de los elementos de la escena.

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.