Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Tengo una duda en Dark Basic(lo utilizo para una cosa facil.

Iniciado por .::cmd_::., 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

Gunder

                                Car Physics For Games

http://home.planet.nl/~monstrous/tutcar.html

"An introduction to car physics modelling for games."

                               
riticar, critica hasta el mas tonto.

jpastor

                               
Citar
El 2002-04-28 23:45, Lord Trancos escribió:
Ithaqua,... veras,... mi trabajo consiste en arreglar lo que otros rompen; me refiero a los tipicos usuarios que no saben lo que es un PC, ni tienen ganas de saberlo sino que simplemente quieren usarlo.

Esa mentalidad es la que me repatea,... y todo lo que nazca con esa mentalidad ("no hace falta entender para saber usar").

Estoy totalmente deacuerdo contigo. No soporto a la gente que con solo apretar un boton puede ver la tele o escuchar la radio o calentar cosas en el microondas, y todo sin tener ni puta idea de como funcionan.                                

Emotion

                                Otro sitio bueno para el tema de la fisica aplicada a las carreras es una coleccion de docs en la pagina de FAQSYS (http://www.neutralzone.org/home/faqsys/), aunque el link de Gunder es mejor, ya que compacta mas los tutoriales que se pueden encontrar en la pagina que yo indico, si bien creo (no lo recuerdo bien), que los ficheros de la pagina de FAQSYS son mas extensos...

Saludos
                               
G3: Get the Power!

Lord Trancos

                                jpastor, un PC no es un electrodomestico, por mucho q se empeñen en hacernoslo creer.                                
i>SaludoteZ de Lord Trancos!
http://www.dxlab.tk - http://dxlab.host.sk - programación de DirectX con Delphi.

Ionicboy

                                Para que suba las cuestas si historias de normales (que no son muy accesibles en Darkbasic) puedes usar una segunda caja invisble como la que usas para la colision general del coche, pero esta caja debes ponera en la parte delantera del coche a cierta altura de forma que determine la pendiente maxima que puede subir (ya lo entederas mejor en un par de lineas). La cosa es que si choca la caja grande debes comprobar entonces si tb choca la caja pequeña, si choca es que se ha dado contra una pared o cualquier otra cosa que no puede subir, si no choca es que el objeto con el choca es o un objecto pequeño o una pendiente, entonces puedes giar el morro del coche hacia arriba para que pueda seguir avanzando. Para que esto quede bien deberias hacer otro objeto invisble en la parte trasera del coche, a la misma altura del eje de las ruedas y attachear el coche a esa caja de forma que cuando gires la caja el coche levante el morro como si girara solamente sobre su eje trasero, el hecho de hacer este giro con un objeto fantasma es para que despues tengas la necesidad de girar el coche sobre el plano, no gire tb alrededor de su parte trasera. Con este método debería haber una transición suave entre distintos planos inclinados. La otra cuestion es como saber que tiene que volver a caer, tanto en direccion de la cuesta, como el morro del coche al colocarse sobre un plano horizontal nuevamente. Para que el cohce recobre su inclinacion podrías estar forzando que gire de nuevo horizontalmente de forma que solo lo hiciese cuando llegara el caso, y para que la velocidad reduzca al estar subiendo una cuesta, puedes hacerlo comprobando la inclinacion del coche y teniendo en cuenta esto en el impulso que le des.
Espero q sea de ayuda.
Bueno, a to esto, no soy programador, me dedico mas a texturas, pero actualmente estamos desarrollando nuestros juegos en DB y lo conozco bastante bien (incluidas todas sus mierdas que son muchas), nuestro programador es un flipao que en vez de programar en C to bien se dedica a hacer codigos to "optimizados" en DB con octrees, colisiones al poligono con deslizamiento y paranoias varias.
Podeis ir a http://www.ilogicgames.com para bajaros una demo de un juego de ski i ver de que hablo.

taluego!!
Ionibcoy
                               

Ionicboy

                                quillo, vaya troncho de post me ha salio!!

bueno veo que en el tiempo que he escrito todo esto ya han añadido 3 mensajes :agh:
asin que ahora te digo que si quieres cosas más generales sobre car physics en los foros de darkbasic http://www.madmerlin.com/dbforums alguie había liberado código de su demo de coches y como consecuencia cierto intervalo temporal del foro (ein? eso q es :riendo: ) esta lleno de referencias a car physics con pequeños tutoriales, enlaces etc,etc

taluego                                

Lord Trancos

                                Ionic, ta chulo el juego de ski :riendo:                                
i>SaludoteZ de Lord Trancos!
http://www.dxlab.tk - http://dxlab.host.sk - programación de DirectX con Delphi.

Emotion

                                Para Dracula

Si que es complejo lo de las colisiones... vaya, y yo que creia que el detectperfectcollision() estaba junto al printf() :sonriendo:

Saludos

[ Este Mensaje fue editado por: Emotion el 2002-04-30 09:07 ]                                
G3: Get the Power!

Drácula

                                Hoy en día creo que las colisiones merecen el máximo respeto posible, y te diría que la calidad de un juego se puede medir según la forma en la que resuelva las colisiones. Fíjate si el tema es complejo.

Respecto a la solución de la caja:es una técninca que sólo te sirve para estos casos. La técnica de la normal te permite que el coche siga una carretera con loopings y que haya chicanes(¿se escribe así?) Mejor si puedes solucionalo PARA TODOS LOS CASOS, y no sólo para el de la pendiente, que es muuuuy simple.                                
ltimas mejoras en Merlín: Multitextura.Control y generación automática de LOD.Importa ASE y X. Frustum Clipping por BB.Render añadido de wireframe y del BB.Animaciones por interpolación.Animaciones de textura...
Actualmente:Octree y jerarquías

Emotion

                                Claro, pero lo ideal para las colisiones seria hacer deteccion de colisiones usando el mismo modelo como objeto de testing, lo que pasa es que incluso con las estaciones de trabajo mas potentes es una tarea que aun hoy dia creo que sigue sin ser viable para velocidades de animacion interactivas, lo que pasa es que, claro esta, todas las consideraciones hechas para los modelos actuales desaparecerian, ya que al utilizar el mismo modelo como objeto de test, no tienes que evaluar casos especiales, ya que evaluarias las colisiones para cada poligono del modelo...

Aunque en realidad SI que es factible hacerlo a nivel complejo, solo que para un modelo que no supere los 10 triangulos :sonriendo:

No oye ya en serio, o ideal como un paso intermedio (aunque yo no se como se podria hacer a nivel de codigo aun) seria hacer un preanalisis de que partes del modelo son susceptibles de ser evaluadas con el modelo de colision y luego si se podria aplicar el modelo complejo de colisiones, ya que, por poner un ejemplo, el metodo de las bounding boxes me parece, si bien el mas adecuado en ciertas situaciones, muy inexacto, ya que pueden existir regiones del modelo que esten muy por dentro de la caja y que aunque no colisionen con nada, nunca lo sabras, ya que la bounding box impediria tal acercamiento al generar un resultado que de manera logica seria impreciso, al precisar la caja que se ha producido una colision cuando a nivel real no se hubiera producido...

Y, hombre... lo del printf() era una broma. No te lo tomes a mal... a veces hay que reirse hasta de uno mismo, sino iriamos por ahi dandonos cabezazos contra las paredes, pero si te sirve de algo... lo siento

Un Saludete :sonriendo:
                               
G3: Get the Power!

Ithaqua

                                Drácula: "la calidad de un juego se puede medir según la forma en la que resuelva las colisiones"

Comorl?

                               
thaqua^Stravaganza
http://ithaqua.stravaganza.org

Ionicboy

                                para eso de las colisiones poligono vs poligono :lengua: no se podrían usar octrees para minimizart el calculo de de los vertices/aristas a comprobar en la colision?
al fin y al cabo es como un stma de bounding boxes mejorado.

y sobre el tema inicial del coche que decía Drácula que se debería hacer algo para resolver todos los posibles casos, pues no se me ocurre otra cosa q proponer mas cajas invisibles, creo q sera siempre mejor que ponerse a calcular normales y colisiones al poligono (ojo, que hablo de darkbasic).

Por ejemplo, se me ocurre poner una caja en cada esquina, las cajas servirian a la vez para detectar las colisiones en cada una de las esquinas y servir como punto de giro para cuando choque la caja de la esquina contraria.

taluego, cuentanos algo cmd de como va el coche!
Ionicboy
                               

Drácula

                                Bien, ante todo deciros que me he bajado la demo del juego de Sky y me ha gustado mucho. Me parece muy divertida, felicidades!

Y respecto a las colisiones, es tan complejo realizar un sistema que resuelva todos los casos en tiempo real, que debemos ceñirnos siempre a un caso en concreto, en este caso la colisión se refiere a un coche con el suelo.
Bien, pues hay 4 puntos que son las ruedas. así que se ha reducido mucho el problema. Después podemos tratar la colision no de polígono a polígono, ni de Bounding Box a Bounding Box, sino que basta conocer el punto de colisión de un segmento con el plano que conforma la carretera. De esta forma obtienes el punto del plano y la normal del plano en el que debe encontrarse una rueda.
Ahora debes conseguir que la normal del coche(espero que entendais este concepto) sea la de la suma de las normales que soportan las ruedas                                
ltimas mejoras en Merlín: Multitextura.Control y generación automática de LOD.Importa ASE y X. Frustum Clipping por BB.Render añadido de wireframe y del BB.Animaciones por interpolación.Animaciones de textura...
Actualmente:Octree y jerarquías

.::cmd_::.

                                Bueno aquí vuelvo con noticias frescas. Mi colega JeDIVe (un pedazo de colega) me está ayudando muchisimo. El sabe manejar todo el tema de colisiones.cuando tenga resultados os avisaré.

Lo de las físicas de los coches es superior a mi, la verdad me cuesta mucho ya ke con 15 años eso aún no me lo han dado en mates. :triste:

[ Este Mensaje fue editado por: .::cmd_::. el 2002-05-01 02:05 ]                                

BeRSeRKeR

                                ¡¡¿¿Y por qué esperar??!! :ojo:

Un saludo.
                               
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.