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.
martes, 23 de enero de 2024
Como se pone un sonido de musica de fondo en Godot 3d 4.2 que este en bucle y suene una y otra vez?;
sábado, 20 de enero de 2024
Ejemplo de html;
Script para Godot3d 4.2 borra elementos hijos de un area3d al haber una colision y aumenta el tamaño de otro elemento;
extends Area3D
# 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 Area3DBETA = parent.get_node("Area3DBETA")
#Area3DBETA.queue_free()
get_node("CollisionShape3DBETA").queue_free()
get_node("AMETRALLADOR DE BLENDER PINTADOBETA").queue_free()
get_node ("MeshInstance3DBETA")
scale.y+=2.2
scale.x+=2.2
scale.z+=2.2
pass # Replace with function body.
Script para Godot3d 4.2 ......3ª ejemplo de borrar hijos de nodos por colision;
extends Area3D
# 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 Area3DBETA = parent.get_node("Area3DBETA")
#Area3DBETA.queue_free()
get_node("CollisionShape3DBETA").queue_free()
get_node("AMETRALLADOR DE BLENDER PINTADOBETA").queue_free()
pass # Replace with function body.
-----------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
EXPLICACION: DE LINEAS FUNDAMENTALES.....
func _on_area_entered(area):-------------Area donde entra un objeto un proyectil por ejemplo.
var parent = get_parent()-------------------Parentesco.
var Area3DBETA = parent.get_node("Area3DBETA")------Nombre del padre desde donde salen los hijos a borrar al haber una colision.
#Area3DBETA.queue_free()---------------------No hace nada al haber este signo "#" si no lo tuviese borraria el Area3DBETA padre completa hijos incluidos
miércoles, 17 de enero de 2024
COMO SE CAMBIA EL AMBIENTE EL CIELO EN GODOT3D 4.2
WorldEnvironment, la clave es poner este nodo de padre de todo el juego principal, como escena principal, a partir de hay es muy intuitivo cambiar el color de la ambientacion, en el video muestro los pasos principales, a partir de hay ,,,,,,,,,,,,,,,,,,,¡¡¡¡¡¡¡¡¡¡¡
Crei en un principio que DirectionalLight3D era el que hacia la luz del cielo pero no es, .........es WorldEnvironment y a de estar como raiz de todo, lo que si hace DirectionalLight3D es si se activa Shadow son las sombras que las crea Godot, yo al aparato volar le puesto una luz linterna que queda muy bien con esa ambientacion oscura que me gusta dar a casi todos mis juegos...
domingo, 14 de enero de 2024
Demo de juego echo en godot3d 4.2;
EN CONSTRUCCION LA DESCARGA DEL JUEGO POR PROBLEMAS TECNICOS DE CONEXION INTERNET..........................................................................................................................................................................................................................................................17-1-24.......ESTOY EN ELLO----------
sábado, 13 de enero de 2024
SCRIPT PARA GODOT3D 4.2 QUE TIENE MEJORAS EN MANEJAR UN APARATO VOLADOR;
extends RigidBody3D
func _ready():
# Agrega el código que deseas ejecutar aquí.
pass
func _process(delta):
# Agrega el código que deseas ejecutar aquí.
pass
#func _input(event: InputEvent):
#if event is InputEventKey and event.scancode == KEY_N and event.pressed:
#rotate_y(0.1)
func _unhandled_input(event):
#if event is InputEventKey:
#if event.pressed and event.keycode == KEY_O:
if event is InputEventKey and event.pressed:
if event.keycode == KEY_J:
#queue_free()
translate(Vector3(111,0,0) * get_process_delta_time())
$AudioStreamPlayer.play()
pass
if event is InputEventKey and event.pressed:
if event.keycode == KEY_L:
#queue_free()
translate(Vector3(-111,0,0) * get_process_delta_time())
$AudioStreamPlayer.play()
pass
if event is InputEventKey and event.pressed:
if event.keycode == KEY_I:
translate(Vector3(0,0,111) * get_process_delta_time())
$AudioStreamPlayer.play()
pass
if event is InputEventKey and event.pressed:
if event.keycode == KEY_K:
#queue_free()
translate(Vector3(0,0,-111) * get_process_delta_time())
$AudioStreamPlayer.play()
pass
if event is InputEventKey and event.pressed:
if event.keycode == KEY_Z:
#queue_free()
translate(Vector3(0,111,0) * get_process_delta_time())
pass
if event is InputEventKey and event.pressed:
if event.keycode == KEY_R:
#queue_free()
translate(Vector3(0,-111,0) * get_process_delta_time())
pass
#if event is InputEventKey and event.pressed:
#if event.keycode == KEY_O:
#queue_free()
#rotate_y(0.5)
#pass
#if event is InputEventKey and event.pressed:
#if event.keycode == KEY_P:
#queue_free()
#rotate_y(-0.5)
#pass
#if event.keycode == KEY_9:
#add_constant_force(Vector3(0,-33,0))
#pass
#if event.keycode == KEY_8:
#add_constant_force(Vector3(0,33,0))
#pass
if event.keycode == KEY_Z:
apply_torque_impulse(Vector3(0,-0.1,0))
pass
if event.keycode == KEY_X:
apply_torque_impulse(Vector3(0, 0.1,0))
pass
if event.keycode == KEY_E:
apply_impulse(Vector3(0,110,0))
pass
if event.keycode == KEY_W:
#move_and_slide(Vector3(0, 0, 40))
apply_impulse(Vector3(0,0,40))
pass
if event.keycode == KEY_S:
apply_impulse(Vector3(0,0,-40))
pass
if event.keycode == KEY_A:
apply_impulse(Vector3(40,0,0))
pass
if event.keycode == KEY_D:
apply_impulse(Vector3(-40,0,0))
pass
if event.keycode == KEY_1:
rotate_z(1)
pass
if event.keycode == KEY_2:
rotate_x(1)
#queue_free()
pass
---------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
EXPLICACION: FUNCIONA ELEVARSE -E- ALANTE ATRAS IZQUIERDA DERECHA W-A-S-D
GIRAR -Z-X- , TIENE EL DEFECTO QUE CUANDO A GIRADO AL PRESIONAR -W- YA NO AVANZA ADELANTE AVANZA HACIA ATRAS, Y AL GIRAR DE NUEVO , VUELVE A AVANZAR PRESIONANDO -W-, CON LA -S- OCURRE IGUAL VA HACIA ATRAS Y SI AGIRADO CAMBIA Y VA HACIA ADELANTE........YA LO CORREGIRE POCO A POCO....