Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

* Sponsor

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: como crear articulaciones?? (solucionado)  (Leído 1334 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado LuciaHedgehog

en: Junio 23, 2021, 07:44:02 am
Hola muy buenas noches o días, tengo una duda muy grande, quiero hacer algo parecido como un ragdoll pero que no sea un "cuerpo muerto" ya que lo que digo es más como un cuerpo con movimientos más rígido y no tan fluido no se si me entiendan por ejemplo darle efecto como si estuviera corriendo el robot gigante (no usan ragdoll) o alzando los brazos (un ejemplo seria como contra harcorps de la sega genesis), si tienen un código para cuerpo completo mejor, si es de solo los brazos también me gustaría saber acerca de eso  :-[


Los brazos de mi jefe tiene como esas típicas articulaciones de bolita en vez de brazos alargados, algo así como los jefes de Sonic uwu.


Si tienen un descargable para checarlo por dentro por favor, no tengo ni la menor idea de como crear esas articulaciones y menos programarle un movimiento  :'( estuve buscando en google o en esta comunidad había algo pero no, mas que los ragdoll
« Última modificación: Julio 03, 2021, 12:22:25 am por LuciaHedgehog »

@MAFYGAMES-
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado brunoxzx

Respuesta #1 en: Junio 23, 2021, 11:37:47 pm
Creo que la solución más fácil a lo que buscas es usar spine, el cual tiene una implementación en GMS2.

Si ya lo conoces y no es lo que buscas, solo se me ocurre que estés preguntando por un ragdoll que sí use físicas, pero que a la vez tenga algún sistema de músculos que se opongan a la caída. Hay juegos que hacen esto, pero en ese caso la cosa sí se pone difícil. De ejemplos se me ocurren Examina y Overgrowth. Aúnque son en 3D.



Tambien buscando me encontre este ejemplo de unity


Cabe mencionar que el Spine tiene un sistema de IK, que permite mover los huesos sin que haya una animación para tal cosa, como si tu personaje tuviera que agarrar un vaso de agua, y solo le dieras la posición del bazo y automáticamente supiera que huesos mover para alcanzarlo, creando la animación mientras corre el juego.

Por último, si no te es viable usar el spine, pero sí quieres usar animaciones del tipo, quizá algo básico para mover los brazos de tu jefe no sea tan difícil de programar desde cero.
« Última modificación: Junio 23, 2021, 11:43:02 pm por brunoxzx »

 


Desconectado 3dgeminis

Respuesta #2 en: Junio 25, 2021, 03:16:07 am

 
Los siguientes usuarios dieron las gracias a este tema: LuciaHedgehog


Desconectado LuciaHedgehog

Respuesta #3 en: Junio 25, 2021, 10:20:00 am

https://www.comunidadgm.org/preguntas-y-respuestas/animacion-de-mi-personaje-plataformas/msg135998/#msg135998

buscaba algo así, lo malo que el video es más relacionado a gms 2 pero si por suerte esa extensión si tiene para el 1.4 uwu

@MAFYGAMES-
 


Desconectado LuciaHedgehog

Respuesta #4 en: Junio 25, 2021, 10:22:00 am
Creo que la solución más fácil a lo que buscas es usar spine, el cual tiene una implementación en GMS2.

entiendo, la verdad no se como importar un spine al 1.4 xd, ahi vere como se hace, solo que no manejo del 3d por ahora, pero gracias por ejemplos buen hombre uwu

@MAFYGAMES-
 


Desconectado brunoxzx

Respuesta #5 en: Junio 25, 2021, 08:31:08 pm
De nada, aunque si te pase los ejemplos 3d fue porque no se me ocurrió un juego 2d que hiciera eso, pero ya me acordé de este:



La cosa es que quería descartar que lo que necesitaras fuera físicas con esqueleto, por que es el caso más difícil. Si nada más necesitas el esqueleto puedes usar el spine, o lo que pasó 3dgeminis.

 


Desconectado 0m@R

Respuesta #6 en: Junio 27, 2021, 06:16:27 pm
interesante desafío, pero me pregunto si si necesitas físicas o es más bien "artístico" porque una cosa es cuerpo rígido y otra es solo kinemáticas inversas, creo que para un enemigo caricaturesco se puede programar algo en 1.4 usando simple código; depronto no tienes un ejemplo más puntual o descripción más detallada?

 


Desconectado LuciaHedgehog

Respuesta #7 en: Junio 28, 2021, 12:30:10 am
se puede programar algo en 1.4 usando simple código; depronto no tienes un ejemplo más puntual o descripción más detallada?

Es algo como esto del buen nacho, imagina que eso es como un brazo del que busco hacer, se ve que tiene muchas imágenes, el men me dijo que dijo que era solo dibujar, pero ni idea si uso kinematics u otra cosa  :-[  ya si no hay otro modo pues usare kinematics como dice 3d geminis y por cierto no tiene físicas porque no uso eso ya que es un juego shooter vertical

« Última modificación: Junio 28, 2021, 12:34:21 am por LuciaHedgehog »

@MAFYGAMES-
 


Desconectado 0m@R

Respuesta #8 en: Junio 28, 2021, 07:22:53 pm
mmm... la verdad no le veo necesidad ni de físicas ni de kinematics, parecen más reglas básicas, cosa de hacer varios puntos y simplemente decirles que se mantengan juntos a modo de cadena, si hay física de trasfondo pero no todo un motor de física; y las kinematics serían para hacer que el brazo siga al puño, pero como digo, con reglas básicas sale.

el otro día hice estas cadenas:


pero no necesariamente debes hacer cadenas, puede ser un brazo y antebrazo, que se ajusten simplemente por ángulo (si o si) y escala (quizás); pilla:

si vas a mover la mano, se sabe que del cuerpo a esta hay una distancia máxima (brazo extendido), luego solo es encontrar los ángulos adecuados para brazo y antebrazo que cumplan con la posición actual de la mano.

Encontrar esos ángulos es lo que haría una física o kinemática, luego si el juego no tiene mucha sobrecarga de lógica y no importa uno que otro movimiento de estiramiento, se podría buscar estocásticamente un punto de codo, en torno al codo actual, para ajustar, y se interpola el movimiento.

sino, para no ser estocásticos, ante un cambio de la mano, se mueven los ángulos de ambas articulaciones en ambos sentidos, se evalúa una función de error que diga hacia cuál de los dos se alcanza un valor más próximo al deseado y allí se mueve; esto es lo que en ingeniería se llamaría un controlador, o también lo asocio con gradiente descendente pues tratas de reducir un error. ok creo que no he sido claro  :-[

si algo para el miércoles o jueves programo un ejemplo...

 


Desconectado LuciaHedgehog

Respuesta #9 en: Junio 28, 2021, 09:47:26 pm
mmm... la verdad no le veo necesidad ni de físicas ni de kinematics, parecen más reglas básicas, cosa de hacer varios puntos y simplemente decirles que se mantengan juntos a modo de cadena, si hay física de trasfondo pero no todo un motor de física; y las kinematics serían para hacer que el brazo siga al puño, pero como digo, con reglas básicas sale.

si algo para el miércoles o jueves programo un ejemplo...

okey muchas gracias un ejemplo echo me ayudaría mucho, es bueno que mencionen todos los ejemplos posibles ya que luego si se bugea el programa ya uso kinematics o viceversa si se bugea uso otro metodo jaja, pero el método que dices nunca lo había escuchado, nunca estudié ingeniería XD ya si alguien busca lo que quiero seria un buen aporte ya que era algo imposible de hacer hace años

@MAFYGAMES-
 


Desconectado 0m@R

Respuesta #10 en: Julio 01, 2021, 02:05:56 am
He creado un ejemplo, tiene dos brazos y ambos están programados de manera diferente:



El izquierdo funciona con algoritmo estocástico, es decir que busca soluciones al azar y las compara con una función de error, o mejor dicho función de cómo debería ser lo ideal, un número que tiende a cero.

El derecho usa unas físicas rudimentarias, reglas básicas, el codo se aleja o acerca para cumplir con la posición ideal.

Nótese que el izquierdo suele hacer movimientos más bruscos, mientras el derecho parece que se estira y contrae.

Esto sirve si la articulación tiene más de un codo, mismo principio.

El cuerpo se puede mover, sea absolutamente, moviendo todo, o solo, forzando a que los brazos se adapten.

Aquí en mi Dropbox subí el ejecutable y editable, carpeta "NoJuegos", archivo "brazitop.zip":
https://www.dropbox.com/sh/plhbo1ornjah8jb/AAAOdaSe5JArLE1XRo--Eh_7a?dl=0

O en GitHub:
https://github.com/OmarsaurioJordan/Brazitop

También lo adjunto aquí...

edito: para evitar esos salticos que da el brazo izquierdo, cambiar en el código la comparación de errores, de <= por < solo :p
« Última modificación: Julio 01, 2021, 02:21:04 am por 0m@R »

 
Los siguientes usuarios dieron las gracias a este tema: brunoxzx, LuciaHedgehog


Desconectado LuciaHedgehog

Respuesta #11 en: Julio 02, 2021, 09:10:52 am
He creado un ejemplo, tiene dos brazos y ambos están programados de manera diferente:

El izquierdo funciona con algoritmo estocástico, es decir que busca soluciones al azar y las compara con una función de error, o mejor dicho función de cómo debería ser lo ideal, un número que tiende a cero.

El derecho usa unas físicas rudimentarias, reglas básicas, el codo se aleja o acerca para cumplir con la posición ideal.

Nótese que el izquierdo suele hacer movimientos más bruscos, mientras el derecho parece que se estira y contrae.

Esto sirve si la articulación tiene más de un codo, mismo principio.

El cuerpo se puede mover, sea absolutamente, moviendo todo, o solo, forzando a que los brazos se adapten.
.


Ohhh ya ya muchas gracias, eso se ve interesante ando checando el código para saber más de ello porque la neta porque no hay tutoriales de eso creo jeje, y bueno esto podría ayudar a otros gamemakeros que pueden hacerlo sin descargar spiner para enemigos que no tienen mucha ciencia en sus movimientos y ahorraría un poco más de espacio XD.


Es un gran aporte que ojala hubiera tenido hace 6 años jaja  :'( me acuerdo que ni kinematics existía en ese entonces, esta información vale millones xd

@MAFYGAMES-
 


Desconectado 0m@R

Respuesta #12 en: Julio 02, 2021, 07:50:20 pm
jaja ni lo menciones viejo, me arrepiento de no haber hecho tutoriales antes (cuando GM era la leche), ahora uso GMS y ya nadie vería tutoriales hechos ahí, quizá haga en Godot. Bueno, ahí queda para los Makeros que lo encuentren (aunque estos principios aplican a cualquier motor).

No olvides si algo poner el tema como cerrado o solucionado.