viernes, 8 de diciembre de 2023

Demo de videojuego echo en Godot3d version de Godot 4.2;

 Demo de juego echo en Godot version 4.2

Esta echo para windows  se tiene que descargar ....intentaba hacerlo para html5 pero no tengo conocimientos para hacerlo, en fin en windows funciona de maravilla...








jueves, 7 de diciembre de 2023

Como modelar y hacer fisicas de colision en Godot 4.2 una forma.;

 En el video pongo una forma de modelar cubos en godot para hacer paredes o columnas obstaculos, y como mas o menos consigo que tenga colisiones que probocan fisicas de derrumbe, hay que seguir el orden que se ve en el video, primero un RigidBody3D3 y de hijo del RigidBody3D3 un CSGBox3D y otro hijo partiendo tambien del RigidBody3D3 un CollisionShape3D, mirar el video y practicar, cuesta hacer figuras simples y encajar los diferentes elementos que hacen fisicas, te sale una advertencia continuamente de que que tienes que ampliarlo todo proporcinalmente, si no, no sirve, una curisidad del proyectil que dispara, esque es una animacion activada por script, no es un proyectil instanciado por script, no consigo hacerlo, tengo que estudiar y practicar mucho mas aun, pero funciona, algun juegecillo simple se puede hacer con estos pocos conocimientos........



domingo, 3 de diciembre de 2023

Como hacer un fogonazo de arma en Godot 3d;

 extends MeshInstance3D

func _input(event):

if event.is_action_pressed("ui_accept"):

$AnimationPlayer.play("fogonazo")





Para aumentar la velocidad de una animación en Godot, puedes seguir los siguientes pasos:

  1. Abre el editor de animaciones y selecciona la animación que deseas acelerar.
  2. En la sección de Playback, ajusta el valor de Speed Scale a un valor mayor que 1. Por ejemplo, si deseas que la animación se reproduzca al doble de velocidad, establece el valor en 2.
  3. Guarda los cambios y reproduce la animación para verificar que se está reproduciendo a la velocidad deseada.

Script para animar un objeto que hace de proyectil, en Godot3d con Gdscript, este script activa una animacion previamente echa;





 Script para animar un objeto que hace de proyectil, en Godot3d  con Gdscript, este script activa una animacion previamente echa;


script muy simple y completo, como funciona?

primero hay que poner el escript en el CSGSphere3D2cinanimacion este tiene de hijo la animacion

AnimationPlayer aqui hemos creado una amimacion llamada "animarparaes"

la animacion esta echa manualmente y hay que jugar con el tema de loop repetitivo y parar animacion de forma que solo se realice una sola animacion al presionar la tecla espacio, sorprendentemente me funciona, y puedo hacer proyectiles que disparan sin tener que instanciar nada, ahora es cuestion de ir practicando el tema dandole masdistancia ala animacion del disparo y jugando con las velocidares,

CSGSphere3D2cinanimacion es el proyectil, este a su vez es hijo de un RigidBody3D2CUBOLOCO

que tiene su propio script para moverlo por la escena puede volar y correr por el escenario, cuando manejo este RigidBody3D2CUBOLOCO por el escenario y presiono la tecla "espacio" activo la nimacion del proyectil con nombre archibo CSGSphere3D2cinanimacion que me acompaña constantemente por ser hijo y e conseguido un vehiculo que tiene un proyectil que se dispara al presionar la tecla "espacio"

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

extends CSGSphere3D

func _input(event):

if event.is_action_pressed("ui_accept"):

$AnimationPlayer.play("animarparaes")

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

el script de debajo funciona mismo sistema pero en un cubo no en una esfera, para probar abrir puertas


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

extends CSGBox3D

func _input(event):


if event.is_action_pressed("ui_accept"):


$AnimationPlayer.play("ABRE")


jueves, 30 de noviembre de 2023

Script para Godot al presionar tecla "espacio" mueve un cilindro a un lado y al soltar "espacio" mueve al lado contrario;

 extends RigidBody3D


var scale_speed = 0.1


func _process(delta):

if Input.is_action_pressed("ui_accept"):

translate(Vector3(0.15,0,0))

pass


if Input.is_action_just_released("ui_accept"):  

translate(Vector3(-11.15,0,0))

pass

miércoles, 29 de noviembre de 2023

Ejemplo de escalar RigidBody3D con Godot con script Gd , sacado de la IA del navegador Microsoft Edge;

Realmente, el uso de la IA que esta de moda y se va desarrollando ferozmente tiene muchisima utilidad para aprender a programar, empezando con scripts sencillos y probandolos en godot , variando los ejes y las cantidades y mezclando.....me esta sorprendiendo e intusiasmando....



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

ejemplo-1

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


 extends RigidBody3D

# Escala el objeto en un 10% cada segundo solo en el eje X

func _process(delta):

scale.y *= 3.1


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

ejemplo-2

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



extends RigidBody3D

# Escala el objeto en un 10% cada segundo solo en el eje X

func _process(delta):

scale.x *= 3.1


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

ejemplo-3

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



extends RigidBody3D

# Escala el objeto en un 10% cada segundo

func _process(delta):

scale *= 1.1



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

ejemplo-4  PERO AL PRESIONAR TECLA ESPACIO

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





extends RigidBody3D

var scale_speed = 0.1

func _process(delta):
    if Input.is_action_pressed("ui_accept"):
        scale += Vector3(scale_speed, scale_speed, scale_speed)





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

ejemplo-4  PERO AL SOLTAR TECLA ESPACIO

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





extends RigidBody3D

var scale_speed = 0.1

func _process(delta):
    if Input.is_action_just_released("ui_accept"):
        scale += Vector3(scale_speed, scale_speed, scale_speed)



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

ejemplo-4  PERO AL presionar tecla"g"

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



extends RigidBody3D

var scale_speed = 0.1

func _input(event):
    if event.is_action_pressed("g"):
        scale *= (1 + scale_speed)