Primeros pasos con GODOT 4 [08] 👉 Función de MOVIMIENTO 2D y 3D | Curso Online

preview_player
Показать описание
¿Quieres programar movimientos fluidos para tus juegos en Godot 4? En este tutorial práctico, aprenderás a crear funciones de movimiento 2D y 3D utilizando GDScript, el lenguaje nativo de Godot.

💡 Lo que aprenderás:
➡️ Implementar movimientos eficientes en tus proyectos.
➡️ Técnicas para crear personajes que se muevan con facilidad y precisión.
➡️ Consejos para aprovechar al máximo el potente motor de Godot.

Godot Engine es el motor libre y de código abierto más flexible del momento, y este tutorial te ayudará a llevar tus habilidades al siguiente nivel. ¡No te lo pierdas!

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

💾 DESCARGAR PROYECTO [GRATIS]

📒 INSTRUCCIONES
Puedes descargar este contenido de forma gratuita, solo tienes que introducir 0 en la casilla de precio. Sin embargo, si quieres apoyar mi trabajo y ayudarme a seguir creando, puedes hacer una donación voluntaria de la cantidad que quieras. Te lo agradecería mucho.

#godotengine #godot #godot4 #curso #cursosgratis #tutorial #gamedev #indiedev #indiegamedev
Рекомендации по теме
Комментарии
Автор

Bueno, y no se te vaya a olvidar que cada comentario ayuda muchísimo al canal, asi que pongan lo que gusten: Un saludo, una duda, si ven que alguien sabe algo y saben la respuesta, no esperen que yo responda, ayuden a sus compañeros, participen y colaboren para aumentar el alcance de los contenidos que comparto en el canal ¡GRACIAS! 💜

Leedeo
Автор

Al convertir la entrada en números del -1 al 1 te deja mapearlos cómodamente en los ejes x-y. Teniendo una condicional para cada botón igual tendrías que calcular la "intención de movimiento" del jugador. Por ejemplo si presiona izquierda y derecha se anularían en tu ejemplo sin necesidad de lógica extra.

heenmancha
Автор

Jajajajaja, el final me mató, literalmente yo todavía no entendía bien y ya estaba pensando en como mover la vista jajajaja.
Muy buen video y gran trabajo con los tutoriales.

kafapia
Автор

Tutorial prefecto. Conciso y directo. Como consejo general, estudiar geometría es algo super útil tanto para hacer games como para crear aplicaciones de diseño 3D como Blender. A mi no me gustaba inicialmente, pero cuando aprendes y comprendes la magia de los vectores y las matrices todo cambia y lo encuentras super útil.... y hasta divertido.

antonioya
Автор

Muy interesante el video, me he topado con muchas maneras de hacer "Character Controllers" en mi honestamente errático camino al GameDev (que esperamos corregir) pero esta es la implementación más limpia que he visto me parece.

eliamzg
Автор

Jaja como me haces reír... Sos un genio aprendí varias cosas en un plis plas.

binplus
Автор

Buenísimos estos tutoriales de Godot 4. Me están resultando súper útiles. Gracias.

Convertir a íntegros los valores booleanos nos permite obtener de forma muy sencilla tres valores: -1, 0 y 1 que multiplicados por la velocidad resultarán en el movimiento deseado.

aitor
Автор

Hora de responder la pregunta:

Es necesario convertir los valores a enteros por que o si no nos devolvería un booleano que no nos sirve para poder mover un personaje. Por que al presionar una tecla el valor es 1 y si no lo presionamos es 0 y obtenemos esos valores gracias a int() despues lo multiplicamos por la velocidad que es speed para que el personaje se mueva rápido

Por que si presionamos una tecla nos devolvería 1 y al multiplicar 1 × velocidad" el personaje se moverá más rapido. Pero si no presionamos nada nos devolverá 0 y si multiplicamos 0 × velocidad siempre será 0.

Este método es mejor por que es más optimizado y se puede usar en TODO

Fin









Mucho texto

superalexandrusco
Автор

Se hace necesariamente para el calculo de movimiento, si se presionan los dos botones del teclado al tiempo se anularía el movimiento, la conversión se hace para facilidad al momento de hacer los cálculos debido a que también se podría validar la inhesión de presionar el botón

andresjara
Автор

Esta guapardo. Pero creo que para movimientos tipo cámara, es mejor usar un float. Con int te saltas pasos intermedios.
Ejemplo:
Int, la cámara pasa de 0, 1, 2, 3 etc
Con float, puede ser de 0, 0.5, 0.8, 2.5, 5, 6.5, etc

Para inputs tipo botón (teclado, cruceta), te sobra el int, pues lo que recoges del input es un 0 un 1, pero con joysticks, el ratón y algunos gatillos, los valores van desde -1 hasta 1, con decimales.

Int está guay, pero pierdes precisión.

Luego, el por qué usarlo, imagino que para que sea más fácil de usar, aunque no estoy del todo seguro

aeleequis
Автор

Respuesta de la pregunta de exámen:
1. Por que según el plano cartesiano en el eje X: 0 es el medio, y ya sea en 2D o 3D los personajes se mueven en un plano cartesiano de 2 o 3 ejes, cuándo uno presiona derecha, derecha es true pero se combierte en entero por lo que derecha es 1 e izquierda como no se pulsa es 0 (queda valiendo 1), esto si se le va sumando al plano, va aumentando x en 1 por lo que va avanzando poco a poco, cuando uno toca izquierda, al no precionarse la derecha, derecha pasa a ser 0 e izquierda 1 y 0-1=-1, se le resta a X 1 y por eso va a la izquierda. Resumen: Es necesario para decirle al nodo player cuanto debe sumar o restar al eje que le toca.
2. Para reutilizar el código, ya que al ser una función global, todo el que lo necesite puede acceder a ella de forma remota y sin tener que complicarse la vida escribiendo el mismo código para todo, más eficiente y más rápido.

FritoKeso
Автор

Mi respuesta:
Es preferible la función de convertir a enteros los ejes para no tener que hacer un condicional para cada movimiento, y con una sola (o dos dependiendo del caso) linea de código en el _process() del player más el siempre necesario move_and_slide() ya tenemos listo el movimiento.

La otra forma de hacer el movimiento sería poner condicionales para cada tecla pulsada (manera en la que programe mi juego antes de especializarme más en Gdscript, y que ahora me da pereza cambiar algo que está funcionando.. xD)

Gracias por tus vídeos, eres muy Grande. Sigue así Javo!

megabrunx
Автор

es por el tipo de dato al hacer control+ click a la funcion is_action_just_pressed retorna bool, asumo q al castearlo con int lo transforma a false = 0 y true = 1 por eso al hacer la resta se obtiene la intencion, ahora que pasa si se presionan los dos, ahora hare esa prueba, muy buenos los tutoriales

VonGalvez
Автор

Ante todo, excelente tutorial.
Para mi, creo que en tiempo de ejecución, es mucho más simple (en terminos de velocidad y procesamiento), resolver la situación mediante un cálculo simple de resta que aplicar un condicional

alemanydaniel
Автор

¡Esto me a salvado la vida! Mil gracias, un tutorial de excelente calidad.

juanmintyXD
Автор

Nos ayuda para realizar tareas mucho mas cómodas y sencillas.

DarielFenton
Автор

Muy buen video profe, se aprecia un monton el laburo

adrianimelml
Автор

@Leedeo me sumo a la felicitación de @antonioya, querido colega del Blender-Realm XD
Esoty siguiendo muy atento tu curso, aunque ya se programar en Unity y Unreal Engine, con muchos años de experiencia, y aunque todo lo que veo es muy básico para mi experiencia, me encanta por dos razones:

1.- Está explicado de forma muy clara y sencilla

2.- Me permite comprender como funciona Godot, las bases de la programación no las necesito, pero como las utilizas en Godot sí, y con este cursillo estoy viendo claramente como funciona, está genial

¡FELICIDADES POR ESTE MAGNIFICO CURSO!

JuanGea-krli
Автор

Aaaa, muy bueno, me ha encantado el curso, muchas gracias, he asentado mejor muchas cosas que no entendia muy bien, en especial lo de moverse en diagonal, demasiado bueno

geordymontenegro
Автор

Gracias a ti y a muchos tutoriales, tengo un nivel intermedio a la hora de programar en gdscript, necesito saber cosas avanzadas

the_oppav