https://itch.io/search?q=perico415.itch.io
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.
lunes, 30 de septiembre de 2024
domingo, 29 de septiembre de 2024
Juego de terror desarrollandolo en Godot 4.3;
viernes, 27 de septiembre de 2024
Con GDScript para Godot 4.3 ago que un texto vibre tipo Label3D;
extends Label3D
var strength = 0.009 # Intensidad del temblor
var speed = 0.009 # Velocidad del temblor
func _process(delta):
# Calculamos una pequeña variación aleatoria en las coordenadas X e Y
var random_x = randf_range(-strength, strength)
var random_y = randf_range(-strength, strength)
# Aplicamos la variación al nodo
global_position += Vector3(random_x, random_y, 0.0)
jueves, 26 de septiembre de 2024
pronto saldra a la venta mi nuevo juego de terror desarrollado con Godot 4.3;
domingo, 15 de septiembre de 2024
Borrar particulas alos pocos segundos para no saturar la memoria en Godot 4.3;
extends CPUParticles3D
var tiempo_transcurrido = 0.0
# 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:
rotate_y(0.8)
tiempo_transcurrido += delta
if tiempo_transcurrido >= 11.0:
queue_free() # Elimina el nodo de la escena
jueves, 12 de septiembre de 2024
DOS SCRIPTS GDSCRIPT PARA INSTANCIAR UNA CAMARA EN GODOT 4.3, Y QUE ESTA SE MUEVA Y AGA UN ENFOQUE;
extends Camera3D
var tiempo_transcurrido = 0.0
# Llamado cuando el nodo entra en el árbol de escena por primera vez.
func _ready() -> void:
pass # Replace with function body.
# Llamado cada cuadro. 'delta' es el tiempo transcurrido desde el cuadro anterior.
func _process(delta: float) -> void:
rotate_x(0.00005)
tiempo_transcurrido += delta
if tiempo_transcurrido >= 16.0:
queue_free() # Elimina el nodo de la escena
--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------
Explicacion: El script superior solo es para una camara, tiene un temporizador para que se borre transcurridos unos segundos y a la vez hace un leve giro rotatorio en el eje x...................
El script inferior , instancia esa camara, entre otras cosas, tambien instancia una puerta rota en 2 partes , mi idea con Godot es jugar con enfoques de camara porque me gusta mucho el cine y con Godot me gustan los resultados, en el inspector la camara tiene activada la casilla Current, eso indica prioridad, por que estamos casi todo el tiempo trabajando con la camara que lleva el player detras como hijo, esta no esta activada en Current, pero como es la unica es la que sale constantemente, ahora bien al atravesar cierta puerta, ago que se instancie esta camara con el Current activado que significa prioridad, y entonces ago un cambio de enfoque momentaneo que enfoca un personaje concreto del juego ,ya que dicha camara al pasar unos segundos se destrulle sola, y retorna la vista del juego a la camara que lleva el player como hijo........y se enfoca de nuevo el juego como al comienzo, esta operacion la puedo repetir y emplear infinidad de veces, cada vez estoy mas entusiasmado con Godot 4.3
--------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
extends Area3D
var Esferauno = preload("res://PUERTAS Y PUERTAS REVENTADAS/PUERTAROTA.tscn")
var Esferauno2 = preload("res://PUERTAS Y PUERTAS REVENTADAS/PUERTAROTA2.tscn")
var Esferauno3 = preload("res://PERSONAJES/LOCA CORDEROS/camera_3d_2enfocabocabozal.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):
var parent = get_parent()
var CollisionShape3Dcubo = parent.get_node("CollisionShape3D")
get_node("RigidBody3D PUERTA EMPUJO--INTENTARE BISAGRA").queue_free()
#get_node("RigidBody3D PUERTA EMPUJO--INTENTARE BISAGRA").queue_free()
get_node("CollisionShape3D2").queue_free()
pass # Replace with function body.
func _on_area_exited(area):
var Esferauno = Esferauno.instantiate()
add_child(Esferauno)
var Esferauno2 = Esferauno2.instantiate()
add_child(Esferauno2)
var Esferauno3 = Esferauno3.instantiate()
add_child(Esferauno3)
pass # Replace with function body.
PRONTO A LA VENTA EN perico415.itch.io;JUEGO DE TERROR EN DESARROLLO CON GODOT 4.3;
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......
domingo, 8 de septiembre de 2024
Video que e de estudiar pongo el enlace para que otros lo vean tambien no soy el autor pero es muy importante;
sábado, 7 de septiembre de 2024
JUEGO DE TERROR DESARROLLANDOSE CON GODOT 4.3;
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
domingo, 1 de septiembre de 2024
extends CharacterBody3D script GDScript para mover personaje 3d con Godot4.3;
extends CharacterBody3D
var rotate_speed = 10.1 # Rotation speed
const SPEED = 0.2 # 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):
translate(Vector3(0,0,-0.005))# PARA UNA CONSTANCIA DE MOVIMIENTO CONTINUO
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_up", "ui_down") # Get input direction
var input_dir = Input.get_vector("ui_left", "ui_right", "andaradelante", "detenerse") #ESTE FUNCIONABA ESTE FUNCIONABA
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("move_left"):
rotate_y(0.05) # Rotate on Z axis (positive for left)
if Input.is_action_pressed("move_right"):
rotate_y(-0.05) # Rotate on Z axis (negative for right)
#translate(Vector3(0.05,0,0))
if Input.is_action_pressed("detenerse"):
translate(Vector3(0.0,0.00,0.005))
rotate_y(-0.00)
if Input.is_action_pressed("andaradelante"):
translate(Vector3(0.0,0.00,-0.005))
rotate_y(-0.00)
------------------------------------------------------------------------------------------------------------------
Explicacion: adelante hacia atras giro sobre simismo izquierda y derecha y salta.
GDScript rota un Label presionando tecla escape; y lo rota de nuevo al presionar otra vez;
extends Label
# 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:
if Input.is_action_just_pressed("escapedesalir"):
rotation_degrees += 180
----------------------------------------------------------------------------------------------------------------------- Explicacion: muy util para el inicio de un juego, para mostrar y quitar textos explicativos, seguro que se puede combinar con imagenes tambien.........