viernes, 16 de agosto de 2024

Para Godot 4.3 GDScript para hacer disparos automaticos cada 1 segundo instanciando un proyectil;

 extends Area3D


var Bullet = preload("res://PROYECTILARMADETIAYSIMILAR/rigid_body_3d BOLO.tscn")

var timer = Timer.new()

var tiempo_disparo = 1.0  # Tiempo entre disparos en segundos


func _ready():

add_child(timer)

timer.timeout.connect(_on_timer_timeout)

timer.start(tiempo_disparo)


func _on_timer_timeout():

var bullet = Bullet.instantiate()

add_child(bullet)

miércoles, 14 de agosto de 2024

Como con GDScript avanzo un personaje u otro objeto y al chocar gira y sigue avanzando;

 extends Area3D

var score = 0

var speed = 0.1  # Unidades por segundo

var tiempo_transcurrido = 0.0  # Tiempo en segundos


# Función que se ejecuta en cada frame

func _process(delta):

# Calcular movimiento basado en la velocidad y el tiempo delta

#var movimiento = Vector3(0,speed * delta,  0)#ORIGINAL

var movimiento = Vector3(0,0,speed * delta)#MODIFICADO


# Aplicar el movimiento a la posición del nodo

translate(movimiento)



# Actualizar el tiempo transcurrido

tiempo_transcurrido += delta



func _on_area_entered(area):

rotate_y(25.02)

pass # Replace with function body.


martes, 13 de agosto de 2024

Manipular la malla de personajes con blender;



Hace tiempo me  estreso cuando modelo con blender personajes y al manipular la malla no hay forma de hacerlo, porque se me van las opciones de seleccionarla y manipularla, en esta captura de video arregle el problema........
 

lunes, 12 de agosto de 2024

Animar personaje con blender;

 creo que con esfuerzo y mucha practica se pueden hacer animaciones manualmente para hacer juegos, y a la larga con mas facilidad y personalidad que usando programas o descargando animaciones ya construidas, bueno hay estoy, soy Indie, no doy a vasto e de saber de todo e de hacer de todo, programar en GDScript, pintar y texturizar, iluminar escenarios, construirlos, hacer guiones y pensar ideas, subir juegos a plataformas webs especializadas, y ahora estoy obsesionado con la animacion y hacer scripts que me la agan funcionar a la perfeccion, se que tengo para años todabia, no se acaba nunca de aprender...

I think that with effort and a lot of practice you can make animations manually to make games, and in the long run with more ease and personality than using programs or downloading already built animations, well here I am, I'm Indie, I don't give a lot of knowledge of everything and from doing everything, programming in GDScript, painting and texturing, lighting scenarios, building them, writing scripts and thinking of ideas, uploading games to specialized web platforms, and now I am obsessed with animation and making scripts that make it work perfectly, I know I still have years to go, learning never ends...


lunes, 5 de agosto de 2024

CollisionShape3D script gdscript para escalar aleatoria y constantemente;

 extends CollisionShape3D


var escala_minima = 0.25  # Tamaño mínimo de escala

var escala_maxima = 1.0  # Tamaño máximo de escala

var tiempo_cambio_escala = 1.0  # Tiempo en segundos entre cambios de escala

var tiempo_transcurrido = 0.0  # Tiempo transcurrido desde el último cambio


func _process(delta):

tiempo_transcurrido += delta


if tiempo_transcurrido >= tiempo_cambio_escala:

tiempo_transcurrido = 0.0


var nueva_escala = Vector3(randf_range(escala_minima, escala_maxima),

  randf_range(escala_minima, escala_maxima),

  randf_range(escala_minima, escala_maxima))


scale = nueva_escala

domingo, 4 de agosto de 2024

GDScript para Godot 4.2, muy simple activa una animacion constante y ademas borra el nodo transcurridos unos 16 segundos;

 extends Node3D


var tiempo_transcurrido = 0.0


# Llamado cuando el nodo entra en el árbol de escena por primera vez.

func _ready():

$AnimationPlayer.play("GESTICULACION")


# Llamado cada cuadro. 'delta' es el tiempo transcurrido desde el cuadro anterior.

func _process(delta):

tiempo_transcurrido += delta


if tiempo_transcurrido >= 16.0:

queue_free()  # Elimina el nodo de la escena

domingo, 28 de julio de 2024

Borra una puerta, la quema, borra elemetos de una puerta y sus StaticBody3D con su CollisionShape3D; en GDScript para Godot 4.2;

 extends Area3D



var Esferauno = preload("res://ARRANCA PERSONAJE ANDANDO Y MOVIENDOSE/BORRALO.tscn")


# Called when the node enters the scene tree for the first time.

func _ready():

pass # Replace with function body.



# Called every frame. 'delta' is the elapsed time since the previous frame.

func _process(delta):

pass



func _on_area_entered(area):


var parent = get_parent()


var CollisionShape3Dcubo = parent.get_node("CollisionShape3D")





get_node("CollisionShape3D").queue_free()


#$"../../SILLA OFICINA9 ARDERAAAAAAAAAAAAAAAAAAAAAAAAAA3".queue_free()

$"../CSGTorus3D2 AQUEMAR2".queue_free()

$"../CSGTorus3D2 AQUEMAR3".queue_free()

$"../CSGTorus3D2 AQUEMAR4".queue_free()

$"../CSGTorus3D2 AQUEMAR5".queue_free()

$"../CSGTorus3D2 AQUEMAR6".queue_free()

$"../StaticBody3D".queue_free()

pass # Replace with function body.



func _on_area_exited(area):


var Esferauno = Esferauno.instantiate()


add_child(Esferauno)


pass # Replace with function body.





-----------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------

EXPLICACION: Un personaje a de atravesar una puerta, el script instancia un fuego ya que el personaje representa que la quema con un lanzallamas, a la vez borra elementos de dicha puerta sus StaticBody3D con su CollisionShape3D, ese fuego se apagara en unos segundos pero eso lo hace desde su propio script, ya que ese fuego es de una escena diferente que fue instanciada con este script.  "res://ARRANCA PERSONAJE ANDANDO Y MOVIENDOSE/BORRALO.tscn" pongo mas abajo el script de borrar por tiempo la escena BORRALO.tscn sus graficos representan fuego y esta asociado un sonido de quemar a estos graficos para dar mas realismo y ambiente


extends RigidBody3D


var tiempo_transcurrido = 0.0 # Variable para almacenar el tiempo transcurrido


func _process(delta):


tiempo_transcurrido += delta


if tiempo_transcurrido >= 5.0:


queue_free() # Elimina el nodo de la escena



-----------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------

extends CPUParticles3D


var tiempo_transcurrido = 0.0 # Variable para almacenar el tiempo transcurrido


func _process(delta):


tiempo_transcurrido += delta


if tiempo_transcurrido >= 5.0:


queue_free() # Elimina el nodo de la escena