Hacer que un mesh se flexione al colisionar

Preguntas y respuestas relacionadas con el desarrollo de videojuegos y aplicaciones 3D interactivas, usando Blender Game Engine.
Responder
andreac17
Mensajes: 18
Registrado: Lun Abr 14, 2014 2:11 am
Nombre:

Hacer que un mesh se flexione al colisionar

Mensaje por andreac17 » Lun May 05, 2014 1:27 am

Hola! Tengo un mesh tipo cilindro el cual tiene una armadura por dentro (a lo largo de todo su eje) con IK constraints que hacen que todo el cilindro se pueda flexionar. Ahora quiero utilizar este mismo cilindro dentro del Game Engine para que cuando colisione con una pared se flexione tambien. El problema es que lo intenté colocando tanto el mesh como la armadura en rigid body (Physics) y lo que sucede es que el cilindro se queda rígido y cuando choca con otros objetos no se flexiona. Hay alguna manera de lograr esto?

He pensado también en dividir en trozos al cilindro y poner rigid joints para unir los trozos pero antes de replantear todo quisiera saber si hay una manera más directa de lograr lo que quiero con lo que tengo hasta ahora.

Gracias!

Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Hacer que un mesh se flexione al colisionar

Mensaje por soliman » Lun May 05, 2014 2:43 am

Si solo es simular la curvatura, con animarlo y ponerle un sensor Near (proximidad) que se active la animación al detectar el objeto, es bastante fácil.
Adjuntos
Animado_choque.zip
(104.35 KiB) Descargado 476 veces

andreac17
Mensajes: 18
Registrado: Lun Abr 14, 2014 2:11 am
Nombre:

Re: Hacer que un mesh se flexione al colisionar

Mensaje por andreac17 » Lun May 05, 2014 4:12 am

Gracias por tu ayuda! Por lo que veo en este archivo que subiste, el cubo se dobla tomando la posición establecida en la animación \"Doblado1\" cuando impacta con la esfera. Entonces supongo que esa flexión que le ocurre al cubo es predeterminada, es decir, la curva que adopta al chocar siempre será la misma independientemente de si el cubo choca mucho o poco con las esfera.

En realidad lo que busco es que mi cilindro interactúe con otros objetos de manera más \"natural\", es decir, que yo no tenga que establecer ningún tipo de curvatura fija sino que dependiendo, por ejemplo, de la velocidad y el ángulo con que choque se flexione de una manera u otra.

Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Hacer que un mesh se flexione al colisionar

Mensaje por soliman » Lun May 05, 2014 4:31 am

En Blender Game, a parte de que no lo he probado a fondo, creo que te va a ser más dificil.
De todas formas subo un blend donde se ve como se comporta el objeto con Soft_body al colisionar con otro objeto.
Adjuntos
Soft_body_Game.zip
(96.6 KiB) Descargado 440 veces

Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Hacer que un mesh se flexione al colisionar

Mensaje por soliman » Lun May 05, 2014 4:35 am

De todas formas, si lo que quieres es aplicarlo a un cuerpo, te pueden servir los tutoriales de fisicomolon
http://www.fisicomolon.com/joomla/index ... ivel-medio
En este caso utiliza el ragdoll
Y si no es para un cuerpo, se puede buscar otra forma de diseñar ese ragdoll

Responder