martes, 14 de noviembre de 2023

Lo que se aprende en 30 dias con Godot sin tener ni idea.;

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

script en Gd para godot de empezar a moverse por un terreno en godot 

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

 

 

 

 

 extends RigidBody3D



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(1,0,0))
                pass

    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_L:
 
            #queue_free()
                translate(Vector3(-1,0,0))
                pass
                
 
    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_I:
            
            
        
            #queue_free()
                translate(Vector3(0,0,1))
                pass


 
    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_K:
 
            #queue_free()
                translate(Vector3(0,0,-1))
                pass

    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_Z:
            
            
        
            #queue_free()
                translate(Vector3(0,1,0))
                pass
                
 
    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_R:
 
            #queue_free()
                translate(Vector3(0,2,0))
                pass
                
    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_O:
 
            #queue_free()
                rotate_y(-0.04)
                pass
                            
               

---------------------------------------------------------------------------------------------------------------------------
sencillisimo sript para salir del juego mientras se ejecuta al presionar escape......ya veis 5 simples lineas

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


extends Node3D
func _unhandled_input(event):
    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_ESCAPE:
            get_tree().quit()

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

script en Gd tres formas de rotar presionando teclas  m-b-h

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

extends MeshInstance3D

#func _ready():
    #Input.mouse_mode=Input.MOUSE_MODE_CAPTURED
    

#func _unhandled_input(event):
    #if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        #rotate_x(0.33)


func _unhandled_input(event):
    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_M:
                rotate_y(0.33)
                pass
               

    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_H:
                rotate_z(0.33)
                pass
               
                   
    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_B:
                rotate_x(0.33)
                pass   



domingo, 29 de octubre de 2023

Godot script en gd para rotar un cubo en la escena;Ejercicios de programar mover objetos en Godot por la pantalla;

 

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

 muevo una capsula por pantalla adelante atras izquierda derecha y sube en dos velocidades y cae por gravedad al dejar de presionar las teclas  _z_ y  _r_ a diferentes velocidades

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

 

extends RigidBody3D
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_A:
           
           
       
            #queue_free()
                translate(Vector3(1,0,0))
                pass

    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_D:
 
            #queue_free()
                translate(Vector3(-1,0,0))
                pass
               
 
    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_W:
           
           
       
            #queue_free()
                translate(Vector3(0,0,1))
                pass
               
 
    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_S:
 
            #queue_free()
                translate(Vector3(0,0,-1))
                pass

    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_Z:
           
           
       
            #queue_free()
                translate(Vector3(0,1,0))
                pass
               
 
    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_R:
 
            #queue_free()
                translate(Vector3(0,2,0))
                pass

 

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

 Mueve un cubo alante atras derecha izquierda arriba avajo , tiene gravedad tambien

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

 extends RigidBody3D

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_Q:
            
            
        
            #queue_free()
                translate(Vector3(1,0,0))
                pass

    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_V:
 
            #queue_free()
                translate(Vector3(-1,0,0))
                pass
                
 
    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_C:
            
            
        
            #queue_free()
                translate(Vector3(0,0,1))
                pass
                
 
    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_X:
 
            #queue_free()
                translate(Vector3(0,0,-1))
                pass

    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_Z:
            
            
        
            #queue_free()
                translate(Vector3(0,1,0))
                pass
                
 
    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_R:
 
            #queue_free()
                translate(Vector3(0,-1,0))
                pass                
               

 

 

 

 

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

  muebe cubo derecha e izquierda delante detras

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

extends RigidBody3D

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_Q:
            
            
        
            #queue_free()
                translate(Vector3(1,0,0))
                pass

    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_V:
 
            #queue_free()
                translate(Vector3(-1,0,0))
                pass
                
 
    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_C:
            
            
        
            #queue_free()
                translate(Vector3(0,0,1))
                pass
                
 
    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_X:
 
            #queue_free()
                translate(Vector3(0,0,-1))
                pass
                
               

 

 

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


 cuando presiono -Q- muebe cubo a un lado, cuando presiono -V- lo muevo al contrario

 

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

 

 

 

 

extends RigidBody3D

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_Q:
            
            
        
            #queue_free()
                translate(Vector3(1,0,0))
                pass
                
      
    if event is InputEventKey and event.pressed:
        if event.keycode == KEY_V:
 
            #queue_free()
                translate(Vector3(-1,0,0))
                pass
                

 

 

 

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

Al presionar tecla -Q- un cubo sube hacia arriba y buelve a caer al soltar esa tecla 

    translate(Vector3(0,1,0))............el 1 cordenada arriva avajo la y imagino los ceros coordenadas derecha izquierda delante detras


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


extends RigidBody3D

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_Q:
           
           
       
            #queue_free()
                translate(Vector3(1,0,0))
                pass
               

 

 

 

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

Al presionar tecla -Q- un cubo sube hacia arriba y buelve a caer al soltar esa tecla 

    translate(Vector3(0,1,0))............el 1 cordenada arriva avajo la y imagino los ceros coordenadas derecha izquierda delante detras


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



extends RigidBody3D


func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED
    pass
    


        
        

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_Q:
            
            
        
            #queue_free()
                translate(Vector3(0,1,0))
                pass
               

 

 

    

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

APLICA  add_constant_force(Vector3(0,0,-0.06))  muy bueno aplica fuerza hacia un lado en el rigbody pero solo si se presiona la tecla "O"


TIPO RigidBody3D


 otra forma de dirigirse al teclado para hacer una haccion......

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

extends RigidBody3D


func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED
    pass
    


        
        

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_O:
            
            
        
            #queue_free()
                add_constant_force(Vector3(0,1,0))
                pass
                
               

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

APLICA  add_constant_force(Vector3(0,0,-0.06))  muy bueno aplica fuerza hacia un lado en el rigbody pero solo si se presiona la tecla "U"


TIPO RigidBody3D

este script es una extension de otro , aun no comprendo el concepto o la utilidad pero me funciona en mis practicas

 

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

 

 extends "res://RigidBody3D5ZEPELIN10.gd"

func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED
    pass
    

#func _unhandled_input(event):
    #if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        #rotate_x(0.33)
    
        
        
        

func _unhandled_input(event):
    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_U:
            #queue_free()
                add_constant_force(Vector3(0,0,-0.06))
                pass
                
               

 

 

 

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

APLICA  add_constant_force(Vector3(0,0,0.06))  muy bueno aplica fuerza hacia un lado en el rigbody pero solo si se presiona la tecla "T"


TIPO RigidBody3D

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

    
extends RigidBody3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED
    pass
    

#func _unhandled_input(event):
    #if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        #rotate_x(0.33)
    
       
       
       

func _unhandled_input(event):
    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_T:
            #queue_free()
                add_constant_force(Vector3(0,0,0.06))
                pass
               
               

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

APLICA  add_constant_force(Vector3(0,0.6,0))  muy bueno aplica fuerza hacia arriba en el rigbody pero solo si se presiona la tecla "Y"


TIPO RigidBody3D

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

    
    
extends RigidBody3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED
    pass
    

#func _unhandled_input(event):
    #if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        #rotate_x(0.33)
    
        
        
        

func _unhandled_input(event):
    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_Y:
            #queue_free()
                add_constant_force(Vector3(0,0.6,0))
                pass
               

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

APLICA add_constant_forceY MUEBE  UN CUBO, VECTOR3 0,0,5 UN LADO

0,5,0 UN LADO HACIA ARRIBA

5,0,0 UN LADO HACIA OTRO LADO.....

TIPO RigidBody3D

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

 

extends RigidBody3D
func _ready():
    pass

# add_central_force has to be called every frame in 3D
func _process(delta):
    add_constant_force(Vector3(0.03,0,0))
    pass

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

APLICA apply_torque_impulse Y MUEBE  UN CUBO, VECTOR3 0,0,5 UN LADO

0,5,0 UN LADO HACIA ARRIBA

5,0,0 UN LADO HACIA OTRO LADO.....

TIPO RigidBody3D

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

 

 

 

 

 extends RigidBody3D
func _ready():
    pass

# add_central_force has to be called every frame in 3D
func _process(delta):
    apply_torque_impulse(Vector3(0.03,0,0))
    pass



 

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

APLICA apply_impulse Y MUEBE HACIA ARRIBA UN CUBO, VECTOR3 0,0,5 UN LADO

0,5,0 UN LADO HACIA ARRIBA

5,0,0 UN LADO HACIA OTRO LADO.....

TIPO RigidBody3D

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

 

 extends RigidBody3D
func _ready():
    pass

# add_central_force has to be called every frame in 3D
func _process(delta):
    #apply_central_force(Vector3(0,7,0))
    apply_impulse(Vector3(0.1,0,0))

    pass



 

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

APLICA apply_impulse Y MUEBE HACIA ARRIBA UN CUBO, VECTOR3 0,0,5 UN LADO

0,5,0 UN LADO HACIA ARRIBA

5,0,0 UN LADO HACIA OTRO LADO.....

TIPO RigidBody3D

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

 

 

 extends RigidBody3D


func _ready():
    pass

# add_central_force has to be called every frame in 3D
func _process(delta):
    #apply_central_force(Vector3(0,7,0))
    apply_impulse(Vector3(1,0,0))
    pass

 

 

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

APLICA UNA FUERZA Y MUEBE HACIA ARRIBA UN CUBO, VECTOR3 0,0,5 UN LADO

0,5,0 UN LADO HACIA ARRIBA

5,0,0 UN LADO HACIA OTRO LADO.....

TIPO RigidBody3D

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

 

 

 extends RigidBody3D




func _ready():
    pass

# add_central_force has to be called every frame in 3D
func _process(delta):
    apply_central_force(Vector3(0,6,0))
    pass

 

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

APLICA UNA FUERZA Y MUEBE HACIA ARRIBA UN CUBO, VECTOR3 0,0,5 UN LADO

0,5,0 UN LADO HACIA ARRIBA

5,0,0 UN LADO HACIA OTRO LADO.....

TIPO RigidBody3D

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

 

 

 extends RigidBody3D


func _ready():
    pass

# add_central_force has to be called every frame in 3D
func _process(delta):
    apply_central_force(Vector3(0,4,0))
    pass

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

APLICA UNA FUERZA Y MUEBE DE LADO UN CUBO, VECTOR3 0,0,5 UN LADO

0,5,0 UN LADO HACIA ARRIBA

5,0,0 UN LADO HACIA OTRO LADO.....

TIPO RigidBody3D

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

 extends RigidBody3D


func _ready():
    pass

# add_central_force has to be called every frame in 3D
func _process(delta):
    apply_central_force(Vector3(0,0,5))
    pass

 

 

 

 

 

 

 

 

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

 ROTAR TIPO MeshInstance3D, PUEDE CONTENER UN TEXTO, O UN CUBO O UNA ESFERA  ETC ETC

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

 extends MeshInstance3D


# 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):
    rotate_y(0.003)
    pass

 

 

 

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

 borra de pantalla la rosca al apretar la tecla B

tipo Meshinstance

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

 

 extends MeshInstance3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED
    

#func _unhandled_input(event):
    #if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        #rotate_x(0.33)
    
        
        
        

func _unhandled_input(event):
    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_B:
            queue_free()
                #rotate_x(1.33)
            
            #get_tree().quit()

 

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

 gira la rosca al apretar la tecla M

tipo Meshinstance

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

 

 extends MeshInstance3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED
    

#func _unhandled_input(event):
    #if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        #rotate_x(0.33)
    
        
        
        

func _unhandled_input(event):
    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_M:
                rotate_x(1.33)
           

 

 

 

 

 

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

 gira el cubo al apretar la tecla B

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

 

 extends RigidBody3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED
    

#func _unhandled_input(event):
    #if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        #rotate_x(0.33)
    
        
        
        

func _unhandled_input(event):
    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_B:
                rotate_x(2.33)
                
            #get_tree().quit()


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

 gira el cubo al apretar la tecla A

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

 extends RigidBody3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED
    

#func _unhandled_input(event):
    #if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        #rotate_x(0.33)
    
        
        
        

func _unhandled_input(event):
    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_A:
                rotate_x(2.33)
               

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

gira el cubo al apretar la tecla ESCAPE y hace sonido proboca sonido

que se pone arrastrando directamente al script y escribiendo

.play()

 

 

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

 extends RigidBody3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED
    

#func _unhandled_input(event):
    #if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        #rotate_x(0.33)
    
        
        
        

func _unhandled_input(event):
    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_ESCAPE:
                rotate_x(1.33)
                $AudioStreamPlayerZUMBIDO.play()
            #get_tree().quit()

 

 

 

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

gira el cubo al apretar la tecla ESCAPE

 

 

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

 

 

 extends RigidBody3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED
    

#func _unhandled_input(event):
    #if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        #rotate_x(0.33)
    
        
        
        

func _unhandled_input(event):
    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_ESCAPE:
                rotate_x(10.33)

 

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

 

 girar un cubo externo no player al girar el mouse  de otra forma funciona cambio el eje z-x-y  y archivo de audio que se arrastra directamente al script, funciona a la perfeccion

 

 

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

 

 

 

 

 extends RigidBody3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED

func _unhandled_input(event):
    if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        rotate_z(0.33)
        $AudioStreamPlayeralgirasuenadisparo.play()

 

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

 

 girar un cubo externo no player al girar el mouse  de otra forma funciona cambio el eje z-x-y

 

 

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

 

 

 

 

 extends RigidBody3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED

func _unhandled_input(event):
    if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        rotate_z(0.33)
        
        
        #rotate_y(-event.relative.x * 1.005)


 

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

 

 girar un cubo externo no player al girar el mouse  de otra forma funciona cambio el eje z-x-y

 

 

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

 extends RigidBody3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED

func _unhandled_input(event):
    if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        rotate_x(0.3)
        
        
        #rotate_y(-event.relative.x * 1.005)

 

 

 

 

 

 

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

 

 girar un cubo externo no player al girar el mouse  de otra forma funciona

 

 

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

 

 

 extends RigidBody3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED

func _unhandled_input(event):
    if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        rotate_y(0.3)

 

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

 girar un cubo externo no player al girar el mouse  a mas velocidad

 

 

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

 extends RigidBody3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED

func _unhandled_input(event):
    if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        rotate_y(-event.relative.x * 1.005)

 

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

 

girar un cubo externo no player al girar el mouse 


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

 extends RigidBody3D



func _ready():
    Input.mouse_mode=Input.MOUSE_MODE_CAPTURED

func _unhandled_input(event):
    if event is InputEventMouseMotion and Input.mouse_mode==Input.MOUSE_MODE_CAPTURED:
        rotate_y(-event.relative.x * .005)



 

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

rotar por tres angulos ala vez z,y,x


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

 extends RigidBody3D


# 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):
    
    #rotate_object_local(Vector3(0, 1, 0), 0.1)
    rotate_object_local(Vector3(0, 1, 0), 0.001  )
    
    pass
    rotate_object_local(Vector3(0, 0, 1), 0.001  )
    
    pass
    rotate_object_local(Vector3(1, 0, 0), 0.001  )
    
    pass


Añado video y scripts en gd para poder girar sobre si mismo un cubo o cualquier objeto en la pantalla de Godot, permite girarlo constanteme en cualquier eje x y  z , y cambiarle la velocidad, para la camara funciona exactamente igual solo cambia la primera linea,,,,,,bueno es un comienzo mirando el video y practicando lo escrito algo se puede hacer.......



extends RigidBody3D


# 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):
    rotate_y(2)
    pass



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




extends RigidBody3D


# 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):
    rotate_x(0.1)
    pass

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


extends RigidBody3D


# 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):
    
    rotate_z(1.2)
    pass

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


atencion a este que gira la camara cambia la primera linea en vez de 

extends RigidBody3D es 

extends Camera3D

En internet solo encuentro excripts complicadisimos o que no sirven para nada co el tipico "hola mundo"

con forme valla imvestigando y aprendiendo ire ampliando el blog......de aqui a unos 5 años Godot abra evolucionado.....adios Unity...¡¡chao!!

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


extends Camera3D


# 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):
    
    rotate_z(0.002)
    pass



 

 

Tambien consegi rotarlos en C#   cosa que me alegra por que tengo muchos scripts en C # aprendidos a usar en unity y quizas me sirban para Godot......

 

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

 

using Godot;
using System;

public partial class RigydBody3D25enC1 : RigidBody3D
{
    // Called when the node enters the scene tree for the first time.
    public override void _Ready()
    {
    }

    // Called every frame. 'delta' is the elapsed time since the previous frame.
    public override void _Process(double delta)
    {
       
        RotateObjectLocal(new Vector3(1, 0, 0), 0.1f);
       
       
    }
}

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

aqui un ejemplo de C# en Unity ....comparalo con el de godot e intenta aplicarlo

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

using UnityEngine;
using System.Collections;

public class RUEDA : MonoBehaviour {

    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {


        this.transform.Rotate (new Vector3 (0, 1, 0), 1);


    
    }
}




domingo, 22 de octubre de 2023

Godot;

 

 


 

 https://youtu.be/aQ3VROIhwb8

clikea para ver el tutorial video

Godot,

Ahora estoy curioseando con godot, y voy a poner en el blog las cosas que estoy aprendiendo y practicando, pondré capturas de video de mis avances, y voy a empezar por como e echo una venta na con transparencias, un video sobre el estudio….


Mas adelante pondré como se hacen animaciones simples en godot con el editor de captura de movimientos que tiene, mediante scripts aun no puedo poner nada mis conocimientos son cero, pero pronto iré recopilando scripts de aquí y de aya y almacenándolos en una carpeta los podre ir estudiando y practicando, los escripts son tipo gd y también se puede usar C#.



Lo que conseguí con las animaciones es girar sobre si mismo un cubo y moverlo por pantalla,

también pasar figuras humanas desde blender y animadas desde blender importarlas a Godot y conseguir que las animaciones de sus articulaciones se reflejen y ejecuten en Godot, el formato de importarlos a Godot es el glTF ….


También e aprendido a compilar los juegos de Godot para que funcionen en Windows osea hacer el ejecutable en .exe para pasarlo a la gente que lo quiera jugar en Windows.


Llevo muy poco tiempo estudiando y practicando Godot pero creo que en unos 6 meses tendré los mismos conocimientos que tenia en Unity, el motivo del cambio es que Godot es muchísimo mas ligero que Unity y es libre creo que tiene mas futuro para gente como yo,

También conseguir aplicar colisiones a los gameobjects y animarlas, puedo hacer un personaje en primera persona que por ejemplo baya dando puñetazos con un puño constantemente y derribando cosas que se le pongan por delante, y eso en apenas 2 semanas de practicar con Godot, reconozco que los conocimientos aprendidos con Unity me sirven un montón para aprender Godot, por ejemplo la textura de la ventana tiene que ser de tipo PNG que soporta transparencias, y lo mismo funciona en Unity que en Godot, ya que estoy aprendiendo gracias gente aficionada como yo que muestra sus conocimientos quiero poner mi granito de arena, seguro que mas de uno se fijara en detalles de mi blog y de mis videos y conseguira entende y practicar mas cosas sobre Godot….


Particularmente lo que me cuesta es acostumbrarme al modo de plantar en pantalla los objetos 3d en Godot, usa un sistema de nodos basado en hijos y cuesta acostumbrase a trabajar de esa forma en el video visualmente se puede ver el funcionamiernto y los problemas que surgen al cambiar de tamaño los objetos 3d que pongo en el juego, por suerte el propio gotot te indica con los fallos que surgen comentarios de como has de trabajar el tema, para cambiar tamaño de la ventana correctamente se tiene que hacer desde los hijos del objeto no directamente desde el objeto 3d ventana, es algo confuso pero como siempre y como todo, se trata de ir practicando y practicando y haciendo pruebas, asta comprenderlo y pillar la rutina de esta forma der trabajar en Godot, a mi personalmente me resulta divertidisimo ir abanzando aprendiendo y entendiendo a Godot.


Y mi blog es sobre desarrollo de videojuejos, llevo unos 6 o 7 años con el blog y ahora le toca a Godot…….y veremos que vendra luego porque sospecho que la inteligencia artificial ba hacer cambios bestiales con estos temas, ya lo esta haciendo, ley hace unos meses que empresas de videojuegos profesionales se han quitado de encima gente que solo hacia ilustracion, por que lo hace la inteligencia artificial, de la misma forma ya veremos si al final cualquiera que quiera un videojuego solo tendra que ir a una web de inteligencia artificial y solicitar un videojuego a su gusto sin mediar con desarrolos de humanos ni empresas intermediarias de videojuegos….


Ignoro incluso si abra algun tipo de “org “libre sobre inteligencia artifial en el futuro...ya se vera...dentro de 10 años ...ufffffff¡¡¡¡ en seguida llegan según la edad que se tenga.


lunes, 9 de octubre de 2023

Pongo a la venta nuevo juego, el ultimo con Unity, adios Unity!! ¡¡Hola Godot!!;

 Pongo a la venta nuevo juego el ultimo con Unity, adios Unity!! ¡¡Hola Godot!!;

 

Pongo a la venta nuevo juego, el ultimo con Unity, adios Unity!! ¡¡Hola Godot!!;

 Hay muchas movidas con Unity, es una lastima ahora que empezaba a aprender a utilizarlo veo que es mas seguro el software, libre estilo linux blender gimp, con godot no tengo ni idea, pero prefiero matarme con algo que veo con mas futuro, teniendo en cuenta que no me gano la vida desarrollando videojuegos, pero tampoco quiero perder el tiempo con un software que posiblemente sea de pago de aqui unos años, solo por tenerlo en el pc, es una intuicion una corazonada que esto pueda ocurrir cualquier dia, todos tenemos que ganarnos la vida es verdad tambien.... bueno pues la ley de la selva el que mas fuerte ganara.

La gota que a colmado el vaso es que Unity tiene una deuda de 6000 millones de dolares, y esta publico como si fuese algo normal, me temo que poco van a durar.......... esto me hace tomar la decision de abandonar Unity definitivamente...este motivo no los nuevos sistemas y terminos para que esta empresa genere dinero es lo que me a echo tomar la decision despues de dedicarle 6 años de mi vida a unity, bueno 2 años que tampoco estoy 8 horas cada dia con unity , que yo trabajo de otra cosa.....ala asta luego Lucas!!!!

miércoles, 27 de septiembre de 2023

Normas de Unity a fecha de hoy 27-9-23;

Normas de Unity a fecha de hoy 27-9-23; 


Actualizaciones importantes en la política de costos de Unity Runtime.

Recibidos

Unity Technologies info@unity3d.com

8:09 (hace 9 horas)


para
Unity
Verlo en el navegador
Hola, there:
 
 
Recién compartimos una carta abierta en nuestro blog sobre los cambios que estamos haciendo en la política de precios de Unity Runtime (tiempo de ejecución de Unity) que anunciamos la semana pasada. Estos cambios se basan en los comentarios de nuestra comunidad y queremos asegurarnos de que estés al tanto. También te invitamos a leer las preguntas frecuentes para conocer más detalles.
 
A grandes rasgos, esto es lo que estamos cambiando:
  • Unity Personal: No habrá costo de Runtime; la pantalla de inicio será opcional. Nuestro plan Unity Personal seguirá siendo gratuito y no habrá costo para el Runtime para los juegos creados con este plan. Aumentaremos el límite de ingresos de $100,000 (USD) a $200,000 (USD) y eliminaremos el requisito de usar la pantalla de inicio Made with Unity (Hecho con Unity) a partir de la versión LTS, que se publicará en 2024 (actualmente llamada LTS 2023), o versiones posteriores.
  • El costo de Runtime se aplica a publicaciones futuras. En el caso de Unity Pro y Enterprise, el costo de Runtime no se aplica a los juegos creados con ninguna de las versiones vigentes de Unity. Solo se aplicará a los juegos que se creen con la versión LTS que se publicará en 2024 (actualmente llamada LTS 2023), o versiones posteriores, o que se actualicen a tales versiones.
  • Términos del Editor. Nos aseguraremos de que puedas conservar los Términos de servicio aplicables a la versión de Unity que estás usando, siempre que sigas usando esa versión.
  • El costo de Runtime se basará en informes autogenerados. De forma mensual, tendrás la opción de elegir el importe menor entre un porcentaje de ingresos del 2.5 % o la suma que se calcule en función de las interacciones iniciales únicas. Ambos valores se generan automáticamente a partir de los datos que ya tienes disponibles. Siempre se te facturará la cantidad más baja.
 
Sabemos que aún podrías tener preguntas después de leer la carta y las preguntas frecuentes. Te invitamos a ver la retransmisión de una entevista en directo donde Marc Whitten, el presidente de Unity Create, responde a las preguntas de Jason Weimann, veterano de la industria y creador de contenido.
 
Gracias por crear con Unity,
 
El equipo de Unity

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

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

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

¡¡Gracias Unity!! muy pronto vendere millones de juegos y tendre millones de descargas todos...absolutamente todos nos vamos hacer ricos!!!!!!!

y los que juegen mis juegos no se aran ricos pero se aran felices!!!!!

!hole hole y hole¡¡¡¡¡







Para nuestra comunidad:

Me llamo Marc Whitten y lidero Unity Create, que incluye a los equipos del motor y Editor de Unity.

Quiero comenzar con esto: Lo siento.  

Debimos haber hablado más con ustedes y debimos haber incorporado más sus comentarios y opiniones antes de anunciar nuestra nueva política de costo de tiempo de ejecución (Runtime Fee). Nuestro objetivo con esta política es asegurarnos de continuar apoyándolos hoy y siempre, y seguir invirtiendo en nuestro motor de juego.

Ustedes son lo que hace que Unity sea tan increíble y sabemos que debemos escuchar y trabajar duro para ganar su confianza. Hemos escuchado sus preocupaciones y vamos a hacer cambios en la política que anunciamos para solucionarlas.

Nuestro plan Unity Personal seguirá siendo gratuito y no habrá costos de tiempo de ejecución (Runtime Fee) para los juegos que se creen bajo este plan. Vamos a aumentar el límite de $100,000 a $200,000, y vamos a eliminar el requisito de tener que usar la pantalla de bienvenida de Made with Unity (Hecho con Unity).

Ningún juego que en los últimos 12 meses obtenga menos de $1 millón de dólares en ingresos estará sujeto al costo.

Para los creadores en los planes Unity Pro y Unity Enterprise, también vamos a hacer cambios basados en sus comentarios.

La política de Runtime Fee solo aplicará cuando comencemos con la próxima versión LTS de Unity desde el 2024 en adelante. No se incluirán los juegos que ya se han lanzado y los proyectos en los que estén trabajando en este momento, a menos que elijan actualizarlos a esta nueva versión de Unity.

Nos aseguraremos de que puedan mantenerse dentro de los términos aplicables para la versión del Editor de Unity que están usando, mientras sigan usando esa versión.

Para los juegos que están sujetos al costo de tiempo de ejecución, les vamos a dar la oportunidad de elegir entre un porcentaje de ingresos de 2.5 % o la cantidad que se calcula basada en el número de nuevas personas que estén interactuando con su juego cada mes. En ambas opciones tendrán que informarnos sobre estos números ustedes mismos desde los datos que tengan disponibles. Siempre se les cobrará la cantidad menor.

Queremos seguir creando el mejor motor para los creadores. Ustedes son el motivo por el cual amamos esta industria.

Me gustaría invitarlos a que se unan a mi entrevista en directo presentada por Jason Weimann hoy a las 16:00 p. m. ET/13:00 p. m. PT, donde trataré en lo posible de responder a sus preguntas. Mientras tanto, aqui encontrarán más información.*

Gracias por preocuparse tanto sobre esto y gracias por compartir sus comentarios y crítica constructiva con nosotros.

Marc Whitten