[MULTI] Mod3D, Modelado de objetos 3D (en Desarrollo)

Hola.

No se si a alguno le pasa lo que a mi, que se siente incomodo cuando tiene que trabajar en 3D, con los programas de modelado.

Hace muchos años, me compré un libro que contenia un programa de modelado, portado a PC desde el Amiga (no recuerdo su nombre), pero tenía un constructor de objetos torno que era bastante sencillo de utilizar (aparte de otras herramientas, claro) pero el problema es que como muchos modeladores, estaban pensados para renderizar imagenes o animaciones y contenia un formato cerrado/desconocido para extraer los modelos.

Por ello, me puse manos a la obra, utilizando el djgpp como compilador y los modos VESA en aquella epoca, tratando de hacer algo similar pensando en la creacion de juegos.

El programa se quedó en nada, pero ahora he pensado que sería buena idea hacer una herramienta parecida, pensando en dotarla de diversos constructores de objetos (objetos tornos, objetos por extrusion, quiza mas tarde se añadan cosas especializadas, como una herramienta que permita construir coches o modelar una cabeza, etc), luego poder editar su malla y combinarlos para formar objetos mas complejos. Ah! y teniendo en cuenta poder añadir controles para detectar colisiones y cosas asi .

La verdad es que me conformaria con un programa que permitiera crear personajes/objetos de la epoca de la N64 y no voy buscando algo ultra sofisticado, solo un modelador relativamente sencillo de utilizar y que me permita construir objetos de forma mas o menos facil y que luego me permita utilizar esos objetos/animarlos en mis juegos homebrew

Hasta el momento, estoy trabajando en el editor de objetos torno, al cual corresponde la imagen que adjunto. El renderizado se realiza utilizando OpenGL , asi que se necesitará una grafica que lo soporte .

El proyecto va para largo, como supondreis y de momento, no hay ejecutable (tal vez cuando tenga terminado el editor de objeto torno, si logro hacer que exporte los modelos a algun formato conocido, os pase para que probeis)

De momento, aqui va una imagen y espero vuestras opiniones, si os interesa el tema o no, pero antes que nada, lo estoy haciendo porque me gusta, por aprender y por pasar el rato, asi que sobran los comentarios del tipo de "reinventar la rueda" y similares :p

Saludos.

Imagen

Imagen
la idea es buena, el uso de objetos torno es una manera fácil y rápida de crear ciertos objetos con esas características. Yo la verdad es que nunca me sieto cómodo con los programas de diseño ya que al hacer muy complicado el hecho de mover un pixel en una superficie ( en 3ds por ejemplo tienes que realizar varios pasos para poder acceder al mismo) no me parece cómodo el único que me parecía agradabe por eso es el ac3d sabs si será parecido?
saulotmalo escribió:la idea es buena, el uso de objetos torno es una manera fácil y rápida de crear ciertos objetos con esas características. Yo la verdad es que nunca me sieto cómodo con los programas de diseño ya que al hacer muy complicado el hecho de mover un pixel en una superficie ( en 3ds por ejemplo tienes que realizar varios pasos para poder acceder al mismo) no me parece cómodo el único que me parecía agradabe por eso es el ac3d sabs si será parecido?


Si, ese es el problema: cuesta mucho editar y construir determinados objetos.

Mi idea es poder crear objetos tornos y objetos extruidos, trabajando de forma sencilla desde una de las vistas y luego poder editar la malla de forma que se puedan eliminar quads o reemplazar el quad por una malla mas fina y editarla desde una de las vistas (para poder añadir detalles o hacer agujeros)

Pero lo esencial es poder construir objetos de forma mas o menos rapida y poder combinarlos de forma apropiada (ahora mismo es lo que mas me preocupa)
muy interesante espero tenerlo pronto entre manos ya que la creación de objetos con estas técnicas no es tan compleja y hará que los programadores podamos incluir 3D en nuestras apps mucho más facilmente. Como formatos a los que exportar a mi personalmente me gustaría directamente como cabecera en una lista de aristas ( creo que era este el formato bueno, el que tienes una lista de vertices y una lista de aristas a punteros de vertices y luego el objeto se compone con arístas). Sino siempre podrías optar con la compatibilidad del viejo MD2 que o obj o x pero estos últimos son propietarios :(.
Estaría bien que incluyeras un exportador al formato de Ogre3D, ya que de este formato hay conversores para muchísimos más formatos, y así te evitas reinventar la rueda ;) .
Hola Hermes me encantaria tener tu programilla!!!, el 3ds max es una historia para los pocos ratos que tengo.

El ac3d podría ser una buena base para que tengas ideas. Eso si que este en castellano y no reinventes la rueda en el tema de idiomas xD

También deberia estar diseñado para trabajar con baja poligonalizacion.

Me parece genial lo que haces [Ooooo]^2
Darkangelus escribió:Hola Hermes me encantaria tener tu programilla!!!, el 3ds max es una historia para los pocos ratos que tengo.

El ac3d podría ser una buena base para que tengas ideas. Eso si que este en castellano y no reinventes la rueda en el tema de idiomas xD

También deberia estar diseñado para trabajar con baja poligonalizacion.

Me parece genial lo que haces [Ooooo]^2


Bueno, en principio, no me quiero basar en ningun programa, si no en ideas propias y asi evito de contaminarme con metodos que estoy intentando evitar (salvo que no me quede mas remedio que pasar por ese aro)

Sobre lo del Español, la verdad es que lo he estado pensando y creo que te voy a hacer caso: voy a tratar de usar el Español lo maximo posible, pues realmente, me importa un pimiento si un "guiri" quiere usar este programa o no en el futuro y siempre se pueden cambiar los textos al Ingles desde el Español y en principio, esto es una utilidad para mi y para el que le interese de los que visitais estos foros... y paso de tener que currarme unas instrucciones en un idioma que no conozco y que me puede :p

Lo de la baja poligonizacion, esa es la idea que mas me motiva y por lo que se hace interesante crear objetos torno y extruidos de esta forma, en vez de usar polladas matematicas varias que crean objetos con miles de poligonos , pues estan pensadas para renderizar fotogramas y no para ser movidos por maquinas de poca potencia.

Lo que me gustaria es, como ya he dicho, poder crear mundos como el de Mario 64 (a nivel de modelados, claro) , que para nosotros ya seria perfecto .

Para que os hagais una idea de lo diferente que va a ser trabajar en mi programa, me faltan dos vistas mas por representar (al menos) una que es un mapa de los quads desde el cual podremos activar una serie de caracteristicas, como hacerlo invisible, reemplazarlo por una malla (esto sera mas complejo, obviamente), y algunas cosas que se me ocurran, como poder utilizar distintos materiales, etc

La otra vista servira para aplicar una textura al objeto adaptando la malla de forma apropiada.

El editor torno podrá trabajar con esas 4 vistas que veis, exactamente a ese tamaño, pero tambien se puede seleccionar una unica vista que se representará como el doble de tamaño, pero sin escalar el objeto.

En principio, esta vista unica no permitiria aprovechar todo el espacio del que dispone para editar los puntos de las vistas front/left y ninguna de las ventanas permite poder desplazarse para mostrar el espacio que queda fuera de esa vista (de hecho, en el editor torno la idea de poder mostrar una vista unica es para poder mostrar los puntos de la vista "Perimeter" que se pueden escapar al mover los puntos de "Left/Front" que actuan como escaladores X-Z para modelar el objeto torno y tambien para mostrar el renderizado del objeto con mayor detalle en la vista OpenGL).

Esto es asi porque los objetos torno son objetos independientes y porque a la hora de la verdad, trabajar con una unica vista porque el objeto no cabe en la pantalla o utilizando un espacio virtualmente mayor, para lo unico que sirve es para crear confusion en nuestra cabeza XD

En vez de eso, es mejor crear un objeto autocontenido en esa ventana "pequeña" y luego poder escalarlo al tamaño final para poder situarlo en el "universo" junto con otros objetos creados, momento en el cual si que se hara necesario utilizar ventanas escalables y desplazables, pero eso es otra historia que no tiene nada que ver con la creacion de los objetos.

Por tanto, los objetos se pueden crear perfectamente, en el ventanuco (que mide 320x250 pixeles de altura y en el cual 100 pixeles representan 1.0f en el objeto) y luego exportar su malla utilizando un escalador para crear la malla al tamaño correcto.

Otra cosa que me falta por hacer, es poder "descentrar" el objeto, cosa que podra hacerse moviendo el punto del centro en las vistas. Esto viene bien, por ejemplo, si queremos modelar un brazo o algo similar, donde el punto de giro es un extremo.

En fin, que ideas hay muchas y queda un monton de trabajo por hacer :)
Hermes, eres el Drak_Alex del homebrew ;)
Darkangelus escribió:Hermes, eres el Drak_Alex del homebrew ;)


XD.

Sería el Dark Alex del homebrew sino se diera la circustancia de que yo llevo muuucho mas tiempo que Dark Alex en esto [burla2]
tiene buena pinta, habrá que probarlo, aver como va [oki]
Saludos
dark alex es el hermes del hackeo ;)
saulotmalo escribió:dark alex es el hermes del hackeo ;)


Mejor lo dejamos en que Dark Alex es Dark Alex y Hermes es Hermes :-p

Somos personas distintas y que hemos trabajado en maquinas diferentes, pero lo peor es que con vuestra manía de comparar a todo quisque con Alex, me da la impresion de que le estais truncando la posibilidad de que se dedique a hacer otras cosas, dentro de la scene: le poneis a EL el listón demasiado alto y asi se quema rapidamente (porque en cuando no esté al "nivel esperado" lo pondran a caer de un burro, me temo)

Por cierto, el hackeo no consiste solo en encontrar fallos de seguridad y aprovecharlos, si no en buscar nuevos caminos y formas de hacer las cosas, enfrentarse a nuevos retos y superarlos, descubrir y aprender nuevas cosas, etc.

Es algo que muchas veces, pasais por alto y por ejemplo, para mi es mas importante haber creado un juego como Guitarfun que el día que conseguí 'leer' los registros de video de solo escritura de PS2, cosa que en la practica es imposible, pero mediante un 'pequeño' truco que encontré, fue posible :p


Vamos, que el tema homebrew, no es aburrido precisamente [oki]
Hola, lo que pasa es que le exigen mucho las cuatro tiendas y aprovechados que sacan pasta de todo esto. Lo que me extraña es que no se pase por el foro de desarrollo, y estoy seguro de que el sabe de su existencia... . O también participa con un clon..., bueno que me gustaria saber de que es capaz en el homebrew.

¿Emuladores?¿Aplicaciones?¿juegos propios?¿Lanza UMDs a la cabeza de tu cuñado? [poraki], lo sieento es la nueva aplicacion de Dark [qmparto]

Despues de este OFF decirte que eres de lo mejorcito que a salido de esta tierra en el homebrew. ¿Así más contento? X-D
Hermes no te escabullas y deja algo para que nos deleitemos. No sé algún scan de pantalla o algo.
Darkangelus escribió:Hermes no te escabullas y deja algo para que nos deleitemos. No sé algún scan de pantalla o algo.



Hola.

La verdad es que la cosa va bastante lenta... entre la gripe y otras cuestiones, avanzo despacio.

Pero como no hay mal que por bien no venga, pues eso me está dando tiempo para pensar y perfilar algunos detalles interesantes y como muestra, aquí teneis una capturilla:

Imagen

Como se puede observar, el objeto está texturizado y los lados de control, pueden romper ciertas reglas antes establecidas, que da lugar a ese tubo torcido.

El metodo de construccion de objetos, ha cambiado internamente y ahora hay una estructura "mesh" que podrá modificarse desde una vista que aqui no se aprecia, pero que basicamente es una matriz que representa todas las caras del objeto y que permitirá cambiar el color del material, ocultar caras o cambiar el sentido de los vertices y detallitos asi, utilizados para visualizar o iluminar el objeto.

Un detallito que podeis observar, es el punto amarillo que hay en el centro de las vistas de edicion, que se corresponde con el centro del objeto. Este centro, se puede mover de forma que el objeto será construido utilizando ese punto como eje de desplazamiento/giro (y asi podemos simular el movimiento de un brazo, por poner un ejemplo)

Tambien podeis observar un cuadro verdoso en la vista Perimeter. Este cuadro es un control que controla el angulo de giro de todos los "aros" que forman el objeto torno (y en este caso, está girado 45 grados en sentido antihorario) y resulta bastante util para situar el objeto en digamos, la vista por defecto (por ejemplo, si contruimos un objeto de 4 lados, el perimetro sería en forma de rombo y si lo quisieramos dejar como un cuadrado, habria que mover ese control hasta 45 grados)

Como podeis entender, todas estas cosas dificultan un poco algunas cosas, como por ejemplo, a la hora de editar un punto del perimetro, tener que hacer una rotacion inversa para situar el punto de forma correcta en la estructura de datos, eso sin tener en cuenta que los lados de las vistas Front/Left actuan como escaladores y que ahora tienen el punto central flotante (cuando antes 0 era la referencia y la distancia desde 0 era la magnitud de escalado en dicho eje)

Tengo que pensar algunos detalles sobre el tema de texturizacion, sobre como aplicar la textura al objeto, como afrontar la edicion de las coordenadas de textura, ya sea de forma individual para cada QUAD o editando las cotas para todo el perimetro, así como la posibilidad de dibujar en la textura transparencias (cosa que ya tengo rulando en el motor OpenGL) u otros colores, de forma que el objeto salga ya preparado para poder combinarse con otros objetos y formar el definitivo.

El constructor torno es capaz de construir un objeto de hasta 32x16 puntos de control (lo que se traduce en 480 quads o 960 triangulos), generando normales y texturizando de forma automatica, pero la idea es que los ajustes automatizados y manuales, puedan convivir de forma que el objeto pueda construirse
de una forma mas o menos sencilla y poder ser personalizado al maximo sin que el objeto se convierta en una malla y pierda digamos la esencia de objeto :P.

Tambien para mi es importante que el objeto mantenga una referencia en su construccion muy clara, que me permita luego poder animarlo en un juego utilizando un vector que represente la verticalidad del objeto, otro su posicion en el espacio y un angulo que represente un giro en torno a esa verticalidad (vamos, como el giro de una broca), lo cual me permitirá animar todas esas piezas mediante un "esqueleto" sin necesidad de almacenar un modelo para cada secuencia de animacion.

Esa es la idea, pero ponerla en practica, va a requerir bastante tiempo XD
joerrrr "pavernos" matao oiga!!!
jejeje parece que no era resfriado hermes, yo creo que era un virus que afectaba a programadores que yo he pasado 1 semanita que vaya...

Me mola como pinta el programa si esto me ayuda a disenyar igual me paso al 3d de nuevo.

pd: cada dia que pasa mi juego pinta mejor, el control es mejor que el de muchos juegos comerciales jeje, como se nota que soy un viciao tikismikis del control :).
Bueno, ya veo que hay interes en el programa :)

Hoy he estado trabajando la vista del editor de malla y ya puedo ajustar algunos parametros, como el color del quad (utiliza una tabla de indexada de 8 colores para el material, que se pueden ajustar con controles deslizantes) o hacerlo visible/invisible.

El editor es bastante sencillo de utilizar para formar piezas de este estilo, aunque obviamente, se necesitara combinar varias piezas para formar objetos mas complejos (y la tarea ahora está centrada en crear este tipo de objetos basicos)
Hola hermes, veo que la cosa no esta parada. Me parece genial lo que estas haciendo!, tienen muy buena pinta. A ver como queda el producto final [hallow]
Ahora si lo has hecho tu, ole tus huevos y me rindo a tus pies campeon!
Hola Hermes,

Hace 2 años que terminé la carrera y en la asignatura de "animación para la comunicación" vimos un programita muy interesante para hacer modelos 3D de forma "facilita" se llamaba Teddy. He encontrado la página del proyecto, te la paso por si le quieres hechar un vistacillo.

http://www-ui.is.s.u-tokyo.ac.jp/~takeo/teddy/teddy/teddy.html

Por otro lado yo creo que un programa de modelado más o menos sencillo de utilizar es Blender, que además es gratuito.

¡Un saludo y mucha suerte con tu nuevo proyecto!
Partas Ignium escribió:Hola Hermes,

Hace 2 años que terminé la carrera y en la asignatura de "animación para la comunicación" vimos un programita muy interesante para hacer modelos 3D de forma "facilita" se llamaba Teddy. He encontrado la página del proyecto, te la paso por si le quieres hechar un vistacillo.

http://www-ui.is.s.u-tokyo.ac.jp/~takeo/teddy/teddy/teddy.html

Por otro lado yo creo que un programa de modelado más o menos sencillo de utilizar es Blender, que además es gratuito.

¡Un saludo y mucha suerte con tu nuevo proyecto!


blender es uno de los programas de diseño con curva de aprendizaje más grande que existe con una interfaz de usuario muy mal pensada... que digas que blender es fácil...

sería mejor que crease una interfaz suya intuitiva.

Por cierto Hermes tu que has estudiado?
Hombre yo creo que para hacer cosas sencillitas, pues blender no viene mal. Solo digo eso, por que eso es lo que quereis llevar a cabo ¿no?. De todos modos, creo que todos estos programas requieren muchisimas horas para controlar. Eran solo dos posibles ideas. [ok]
Partas Ignium escribió:Hombre yo creo que para hacer cosas sencillitas, pues blender no viene mal. Solo digo eso, por que eso es lo que quereis llevar a cabo ¿no?. De todos modos, creo que todos estos programas requieren muchisimas horas para controlar. Eran solo dos posibles ideas. [ok]

perfecto, además estoy mirando el teddy ese ( que lo miraré mejor cuando acabe el curro) y tiene muy muy buena pinta... aunque... no soy diseñador :( pero bueno siempre me gusta mirar estas cosas.
Lo del Teddy a mi me dejo flipao porque se pueden hacer "modelillos" de forma muy simple, es realmente sorprendente la primera vez que lo ves. Si te haces los tutoriales, muy sencillos por cierto veras que tiene un gran potencial. :-)
3d max tampoco es tan dificil....su interfaz es intuitiva, y se pueden hacer cosas muy majas con acabado profesional. Yo uso Max para modelar...demomento junto a maya son de lo mejorcito (para mi gusto).
Joder, el teddy es la caña, gracias por el enlace tio. ;-)
saulotmalo escribió:Por cierto Hermes tu que has estudiado?



Para el caso, nada: soy autodidacta :P (ya sabes que trabajo de yesero)

Sobre 3D Max o Malla, son herramientas profesionales que yo no me puedo permitir y que no me interesan, pero que ademas se escapan del proposito que me ha forzado a intentar desarrollar este programa.

El Teddy ese, tampoco se acerca a mi idea de interfaz.

Lo que yo busco, es algo que me permita construir modelos conjuntando bloques (que de momento, son de tipo torno) que sea relativamente sencillo de utilizar o al menos, que se trabaje de una forma ordenada o estructurada y que me permite cambiar detalles como el color de un quad desde un mapa en una de las vistas, texturizar o desactivarlo. E incluso almacenar una textura personalizada para el objeto.

Tambien me gustaria poder introducir en esa pieza, una serie de controles para detectar colisiones y ya está.

El objetivo es poder crear una serie de graficos sencillos y a partir de ellos, poder crear otros mas complejos, con unas limitaciones, si, pero tambien con una ventajas muy grandes: facilitarme no solo el proceso de creacion de los modelos, si no la integracion en el juego.

Eso no excluye que en un momento dado, se pueda hacer uso de un programa como Blender, para añadir detalles en la malla que mi programa no soporte, pero para mi lo principal es que lo que haga en el modelador, luego sea capaz de animarlo en la consola, sin tener que almacenar un modelo para cada cambio de postura, ni complicaciones de otro tipo, mas allá de las necesarias.

Vamos, que a mi no me interesa que un modelo marque biceps si cierra el brazo o que la ropa del personaje se mueva de forma realista, si no poder hacer un juego homebrew en 3D sencillito, sin mas complicaciones que las estrictamente necesarias, acortando en lo posible el proceso de creacion de los graficos y sobre todo, que yo entienda bien el proceso de creacion de estos graficos y como conectará luego con el juego.

Recordad que yo no soy un profesional y por tanto, ni dispongo de herramientas profesionales, ni necesito resultados profesionales, ni me interesan resultados profesionales, si no poder llevar a cabo mis propias ideas ejerciendo mi hobby sin que se convierta en una tarea casi imposible para una sola persona o larguisima de realizar y que al final la abandone porque se alargue mucho en el tiempo o incluso porque no sepa como llevarla a cabo, porque está por encima de mis posibilidades.

Pues bien, este programa lo hago para que me sea posible hacer cosas en 3D que de otra forma, ni me plantearía. Simple y llanamente ;)

Saludos.
Pues te deseo toda la suerte del mundo Sr. Hermes. Me parece muy bien tu iniciativa. Todo el mundo debe tener su propio desafio personal, y tu te has planteado este. Me parece interesante. Yo solo te indique que miraras lo del Teddy por si te interesaba algo así. De todos modos, un saludo, animo y SUERTE!
28 respuestas