miércoles, 11 de septiembre de 2024

Ejemplo de borrar en GDScript al entrar en un Area3d;

 extends Area3D


# Referencia al objeto que queremos borrar

#onready var objeto_a_borrar = $"Almoadasparet-2-SANGINOLUENTA2"


func _ready():

pass





func _on_area_entered(area: Area3D) -> void:

$"../StaticBody3D8 ALMOADAS ABITACION/Almoadasparet cara principal2".queue_free()

#$"Almoadasparet-2-SANGINOLUENTA2".rotate_z(22)

$"../StaticBody3D8 ALMOADAS ABITACION/Almoadasparet8 PADREPARETIZQUIERDA2".queue_free()

$"../StaticBody3D8 ALMOADAS ABITACION/Almoadasparet7 PADRE LA DERECHA2".queue_free()

$"Almoadasparet19---REY2".queue_free()

$CollisionShape3DJAJA.queue_free()


pass # Replace with function body.





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

------------------------------------------------ampliando elemento que se borrara-----------------------------------------------------------------------------------------------------------------------------------------------------

extends Area3D


# Referencia al objeto que queremos borrar

#onready var objeto_a_borrar = $"Almoadasparet-2-SANGINOLUENTA2"


func _ready():

pass





func _on_area_entered(area: Area3D) -> void:

$"../StaticBody3D8 ALMOADAS ABITACION/Almoadasparet cara principal2".queue_free()

#$"Almoadasparet-2-SANGINOLUENTA2".rotate_z(22)

$"../StaticBody3D8 ALMOADAS ABITACION/Almoadasparet8 PADREPARETIZQUIERDA2".queue_free()

$"../StaticBody3D8 ALMOADAS ABITACION/Almoadasparet7 PADRE LA DERECHA2".queue_free()

$"Almoadasparet19---REY2".queue_free()

$"../StaticBody3D8 ALMOADAS ABITACION/Almoadasparet25 PADRE SUELO ALMOADA2".queue_free()

$CollisionShape3DJAJA.queue_free()


pass # Replace with function body.



lunes, 9 de septiembre de 2024

Estudio de script GDScript; contiene explicacion del tema añadir objetos a huesos especificos en Godot 4.3;

 extends Node3D


func _ready() -> void:

# Reproducir la animación

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


# Nombres de los nodos (ajústalos según tu escena)

var mano_name = "MakeHuman default skeleton/Skeleton3D/clavicle.L"

var objeto_name = "MakeHuman default skeleton/Skeleton3D/clavicle.L/StaticBody3Dcuerda"


# Obtener los nodos

var mano = get_node(mano_name)

var objeto = get_node(objeto_name)


# Verificar si los nodos existen y agregar el objeto como hijo de la mano

if mano and objeto:

mano.add_child(objeto)

# Ajustar la posición del objeto (ajusta el valor según tus necesidades)

objeto.global_transform.origin = mano.global_transform.origin + Vector3(0, 0.1, 0)

else:

print("Uno o ambos nodos no se encontraron. Verifica los nombres y la jerarquía de la escena.")


func _process(delta: float) -> void:

pass



-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Explicacion: Este script en GDScript esta correctamente escrito segun Godot 4.3, pero no consigo que un objeto se pege al hueso de una mano y siga su movimiento , un palo o un arma por ejemplo, no se si es porque Godot 4.3 aun no soporta poder hacer eso o es por desconocimiento mio, tampoco se encontrar informacion por internet del tema, en fin tengo otros medios para hacerlo pero son a costa de mas trabajo y mas horas de desarrollo de cualquier idea, no me queda otra que modelar en el propio cuerpo de un player, con blender un palo un arma o un escudo desde el propio player manipulando y modelando la maya,,,,,se que puedo hacerlo pero claro cuesta mas horas y mas trabajo.....en fin de momento me boy a centrar en mis conocimientos para mi juego actual, si e de aprender y desarrollar las dos cosas a la vez ire aun mas lento, y mi idea es publicar un juego al mes o cada dos meses en Itch,io un juego completo y que al menos yame la atencion......


viernes, 6 de septiembre de 2024

Mober un Label por script GDScript;

 extends Label


func _ready() -> void:

# Establece la posición inicial del Label

position.y = 0


func _process(delta: float) -> void:

# Mueve el Label hacia abajo a una velocidad constante

position.y += 0.06

martes, 3 de septiembre de 2024

GDScript animar un Sprite3d; se arrastra el Sprite3D al script y se escribe a continuacion .play();

 extends AnimatedSprite3D



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

func _ready() -> void:

$".".play()

pass # Replace with function body.



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

func _process(delta: float) -> void:

pass