Hemos decidido crear una especie de demo tecnológica del motor así que; como es costumbre :P, hemos capturado un video en el que se pueden ver algunas de sus capacidades. Estas son:
- Spot Lights
- Parallax Mapping (Virtual Displacement Mapping)
- Projectors
- Per-Pixel Emissive Glow
- Omni Lights
- Skeletal Animation
- Shadow Maps
- Stencil Soft Shadow Volumes
- Environment Cube Mapping
Descargar videoAhora es posible que nos pongamos a consolidar el código que tenemos hecho y mejorar el exporter de MAX ya que el motor cada vez necesita más información de la escena. Después de eso continuaremos añadiendo más capacidades. Eso sí, en principio deberíamos limitarnos a las que tenemos prefijadas para poder dar por finalizada la version 2.0 y si se presenta la ocasión hacer algo interesante con él. Después de eso siempre hay cosas que implementar (se me ocurren muchas para la versión 3.0) (ole). Pero bueno, las que urgen ahora mismo son mejorar el exporter, implementar un sistema de materiales, un buen sistema de derterminación de visibilidad, física y terminar la animación de personajes y si apuramos un poco, crear un motor de scripting basado en C# para poder describir la IA de los personajes, crear secuencias cinemáticas dentro del juego, puzles, etc. Con eso ya podríamos hacer algo que valiera la pena (en realidad con la primera versión ya se podían hacer cosas).
Saludos.
está genial! (ole)
Juas, que chulo tios!!!! , ¿a que esperamos a hacer el doom4? :-D , está genial.
Madre mía, está genial el vídeo!!!
Al final lo estáis haciendo en inglés? Creo que vale la pena, está a la altura de cualquier motor que haya ahora mismo!
Mandadlo para una IOTD en flipcode, está mejor que la mayoría de cosas que se suelen ver (ole)
¡ Buen trabajo ! (ole)
- Jikan
Muy chulo, lo añado a mi seccion de noticias sino os importa.
Nada, espectacular, así da gusto diseñar webs para vosotros.
Saludos
(genial) Joooder, soy unos cracks. Lo que me ha gustado mucho es el efecto de proyección, queda muy chulo. Lo peor la musica, como dice astat es su pagina es musica de peli porno, pero bueno, no tiene nada que ver con el motor.
PD: StraT, te habia leido "Nada espectacular" y me he quedao :blink: , luego me he dado cuenta de que era "Nada (coma) espectacular", como cambia la frase :D
(genial) (uoh) (ole)
Muy guapo el video!
Ya tengo ganas de ver esa escena con un escenario más grande y todas esas lucecitas por ahi!!! :P
VinCenT
Lo mejor de este vídeo es lo que no se ve. Sólo tardamos una tarde en hacerlo. Bueno, la verdad es que se terminó a las tantas de la noche, pero por otro tipo de problemas, eh Ber? ;)
Porque un motor no es sólo una demo tecnológica. También es la facilidad con la que pueden hacerse las cosas. Habría ahora que comprobar que se tarda con otros motores en hacer lo mismo, para poder tener una medida de "facilidad de utilizacion".
Gracias por todo (ole)
Cita de: "Haddd"Lo mejor de este vídeo es lo que no se ve. Sólo tardamos una tarde en hacerlo. Bueno, la verdad es que se terminó a las tantas de la noche, pero por otro tipo de problemas, eh Ber? ;)
Ufff la de veces que tuve que capturarlo porque siempre se me olvidaba alguna cosa que activar, el proyector, la animación esquelética, el parallax mapping. Vamos a tener que ir creando un sistema de script para generar las secuencias cinemáticas porque si no vamos a morir estresados... :D
CitarHabría ahora que comprobar que se tarda con otros motores en hacer lo mismo, para poder tener una medida de "facilidad de utilizacion".
mmmm...
Supongamos que es un motor para hacer un juego y vale la pena perderse un rato sacrificado por mas calidad ... pero no se ..., es un debate para el cual no tengo opinion formada.
No creo que sirva mi opinion en cuanto a comparar vuestro motor con el mio, , tenemos grandes diferencias en los objetivos, no se puede apreciar la calidad de imagen por el tema de la compresion de video, pero de todas formas tampoco tendria sentido que les diga que esta bien o mal cuando ustedes saben cuan desarrollado esta en realidad, lo que si no quiero en ningun momento crear ambito de competencia. De la misma manera comparar motores no me parece una sana practica (especialmente si uno esta desarroyando uno) pues ese juicio que me favorece en tal aspecto puede terminar mostrandome inutil mi motor en otro.
Espero no se malentiendan mis palabras, os apoyo en vuestra aventura y creo que estan muy bien encaminados, el video esta muy bueno y seguramente motivará a mucha gente tanto como a ustedes.
Saludos.
Cita de: "BeRSeRKeR"Cita de: "Haddd"Lo mejor de este vídeo es lo que no se ve. Sólo tardamos una tarde en hacerlo. Bueno, la verdad es que se terminó a las tantas de la noche, pero por otro tipo de problemas, eh Ber? ;)
Ufff la de veces que tuve que capturarlo porque siempre se me olvidaba alguna cosa que activar, el proyector, la animación esquelética, el parallax mapping. Vamos a tener que ir creando un sistema de script para generar las secuencias cinemáticas porque si no vamos a morir estresados... :D
Python rocks, aunque no sé como de embebible es python en C#. Si desde C# se puede llamar a cualquier librería de C, que es el lenguaje en el que está escrito el interface con python, sería posible, aunque me temo que actualmente no habrá herramientas como boost::python.
Un saludo, a ver si termina de bajar el video :)
EDIT: ya terminó, mola mucho, enhorabuena por el trabajo. Coincido con quien ha dicho que estaría bien enviarlo al IOTD de flipcode.
¿Y con
IronPython? Aunque según la web se encuentra en estado pre-alpha :\
Supongo que lo más sencillo y compatible será utilizar el propio C# como lenguaje de script. :D
No es esa la idea de C#.
Bueno C# tiene muchas funciones precisamente para ser utilizado como lenguaje de script y de hecho hay un ejemplo en el SDK de las DX donde se muestra cómo utilizar C# como motor de scripting corriendo en una aplicación C++ unmanaged.
Y ahora quería comentaros una cosa de la que me acabo de dar cuenta. Resulta que el glow se ve mucho mejor utilizando la versión de diciembre que la de febrero (que es con la que capturé el video). Aquí tenéis la prueba:
(http://smallville.hispanetworks.com/stratos/glow_feb.jpg) (http://smallville.hispanetworks.com/stratos/glow_dic.jpg)
El de la izquierda es el glow utilizando el SDK de febrero y el de la derecha con el de diciembre. Como podéis ver, el glow de la derecha es mucho más suave que el de la izquierda...
Habrá que dar parte a los de Microsoft. :D
Saludos.
Guapo el video, aunque lo he visto sin sonido, pq no tenia los cascos a mano. Mis comentarios:
- La camara!!!! Por dios, ireis al infierno por capturar la camara a mano! Con una simple rotacion de la camara con el ojo en el centro, os habria quedado mucho mas fluido!
- Los proyectores no tienen color? Porque? (Y que conste que de sm2 no tengo ni idea, que aun ando con la fixed pipeline)
Bueno, seguid asi!
Cita de: "shash"- La camara!!!! Por dios, ireis al infierno por capturar la camara a mano! Con una simple rotacion de la camara con el ojo en el centro, os habria quedado mucho mas fluido!
Sí, lo cierto es que podríamos haber creado varias secuencias de cámara con el MAX pero bueno, lo dejaremos para cuando tengamos un sistema automatizado.
Cita de: "shash"- Los proyectores no tienen color? Porque? (Y que conste que de sm2 no tengo ni idea, que aun ando con la fixed pipeline)
Si, es cierto, parece que no tienen color. De hecho probé a proyectar sólo el color de la textura del proyector (sin modular con la textura base ni la contribución de la iluminación) y efectivamente salía en blanco y negro. Es raro, habrá que echarle un vistazo a eso. :D
Saludos.
¡Bueno pues es para matarme, estaba asignando el texture look up del proyector a un float cuando debería ser a un float4, así que claro, sólo recogía el canal rojo y de ahí que saliera en blanco y negro!. Aquí tenéis una captura con el proyector corregido.
(http://smallville.hispanetworks.com/stratos/color_projector.jpg)
Saludos.
muy buena pinta ;)
me ha gustado.
enhorabuena.
Bueno, pues como soy masoca y para que veais que hago caso a vuestros comentarios (concretamente al de shash :D), he vuelto a capturar el video, pero esta vez, además de mostrar correctamente el proyector (¡con colorinesssss!), he creado 11 secuencias de cámara en MAX para cada una de las 11 tomas de las que consta el video y las he exportado al motor. Así que, ahora se muestra otra característica del motor que es la creación de travellings de cámara. ¡¡No es que sea algo espectacular pero oiga, su gran utilidad tiene!!. :D
Además he hecho una pirula y las secuencias donde sale el glow las he capturado renderizando con el motor compilado con las DX de diciembre por lo que ahora el glow se ve mucho mejor que antes. :P
Bueno, el caso es que he conseguido meter todo en 1:45 minutos, a una resolución de 640x480 y una menor pérdida de calidad y todo en 14 MB, tan sólo un mega más que el video anterior.
Y nada más, si sois tan amables, descargad el nuevo video y dadme vuestra opinión. A ver si ha valido la pena tirarme cerca de 4 horas creando paths de cámara en MAX y montando en Premiere o si por el contrario he hecho el primo. :lol:
Descargar video (es la misma URL que antes)
Gracias.
El projector con colorines queda de muerte! Y las soft-shadows ni te cuento.
Felicidades!
Hola,
impresionante, como siempre ;) Un saludo!
Vicente
El video es realmente excelente y es la prueba definitiva que C# / MDX están para cosas grandes. Podrían enviárselo a Tom Miller que seguramente se pondrá muy contento.
Por otro lado, coincido con BeRSeRKeR en que el lenguaje de script puede y debe ser C#. Es muy sencillo compilar código dinámicamente con él, por lo que el motor podría leer archivo cs directamente y compilarlos él para lo que se requiera (IA, movimentos de cámara, etc).
La gran ventaja de usar C# es no tener que escribir o generar el "glue code" para que desde el lenguaje de script se puedan ver los objetos del motor.
Y tengo dos preguntas:
¿El cálculo de las transformaciones de los vértices a partir del esqueleto, lo están haciendo en CPU o en GPU?
¿En que promedio está el frame rate y en que máquina?
El esqueleto se calcula en la CPU, junto a las normales y tangentes necesarias.
El framerate es de unos 30 fps con todo activado a 640x480 y Radeeon 9500 Pro. Pero es principalmente debido a las sombras. No es normal tener tantas luces que emitan sombras, ni que todas sean soft. Además todavía hay algunas optimizaciones que pueden realizarse con las sombras que no hacemos...
Tambien tener en cuenta que sigue siendo la BETA de VExpress C#, y que no tenemos desactivadas las excepciones. Vamos, que podemos ganar fps ;)
Citar¿En que promedio está el frame rate y en que máquina?
Yo puedo responderte a eso, aunque no se si debo, pero bueno, supongo que no pasa nah, xD
El código no está optimizado, por tanto el fr es poco fiable, pero a mi con un equipo AMD AHTLON 64 BITS 3,5 1GB de RAM, RADEON X300 256MB RAM me va a 20-25 a 1280x1024.
Saludos
EDIT: Con todos los efectos activados
Siguiendo con el tema del C# (prometo que este fin de semana me empiezo a mirar tutoriales) ... se podrian hacer partes del motor en C++ y otras en C#? Por ejemplo, yo ahun no tengo implementado el tema del sonido en mi motor.. lo podria hacer en C# y llamarlo desde mi motor en C++?
VinCenT
Mucho mejor esta version. Las camaras aun son de coder, pero bueno, es una demo de tecnologia, asi q nada a criticar :) No se me ocurren mas criticas, solo tengo curiosidad por saber si pensais soportar auto-sombreado en el parallax? Nada, felicidades, y me alegro q mis criticas hayan servido de ayuda!
Agur
@Vincent: Podrias, "ahunque" deberias usar C++ "administrado" para usar otros componentes programados en .Net(llámese C#,VB.Net,jander.Net).
Al revés suele ser lo más normal.. una vez atado al framework, usar C++ es hilar demasiado fino para mi gusto. Pero vamos, que poder, puedes :)
Cita de: "shash"Mucho mejor esta version. Las camaras aun son de coder, pero bueno, es una demo de tecnologia, asi q nada a criticar :) No se me ocurren mas criticas, solo tengo curiosidad por saber si pensais soportar auto-sombreado en el parallax? Nada, felicidades, y me alegro q mis criticas hayan servido de ayuda!
Agur
Pues hombre, estaría bien. Eso daría más sensación de relieve pero si las cosas no han cambiado desde la última vez que leí sobre la generación de self-shadowing para el bump mapping, había que precalcular una textura 3D (horizon map) para cada textura y lo cierto es que creo que ocupan lo suyo pero bueno por qué no, se podría probar pero ahora mismo hay otras cosas que requieren nuestra atención. :D
Saludos.
me uno a las felicitaciones de como os esta quedando el motor :)
pero tengo una duda, el modelo que poneis es del doom3, y tenia entendido que eran low-poly con "displacement map" (se dice asi? :P ) para dar el aspecto de mas poligonos, en vuestro motor usais esa tecnica o habeis puesto la "base" en low-poly?
lo digo por si alguien se anima a haceros un modelo quizas deberia saber estas cuestiones. nop?
Perdonad si ya habeis comentado el tema...
un saludo!
perdon, el anonimo anterior era yo :P
Cita de: "Guest"pero tengo una duda, el modelo que poneis es del doom3, y tenia entendido que eran low-poly con "displacement map" (se dice asi? :P ) para dar el aspecto de mas poligonos, en vuestro motor usais esa tecnica o habeis puesto la "base" en low-poly?
Sí, el motor utiliza la misma técnica que doom3, es decir, el normal mapping.
Y sí, si alguien se decidiera a crear un modelo para el motor, debería tener en cuenta estas cosas aunque no es del todo necesario que todos los modelos tengan un normal map pero sí recomendable porque, utilizado de la forma correcta, añade detalles extra al modelo.
Saludos.
Hola bueno escribo para deciros, q el motor esta genial, me parece increible, ojala pudiera ayudaros en algo, pero soy un novatillo en C#, queria preguntaros, si no es algo muy personal, donde aprendisteis a programar en C#, si teneis libros o tutoriales x la web o un curso o nose, se lo pregunto a las 2 creadores del Motor, nose si sera mas gente, pero vamos sois la cabeza visible del proyecto jeje, pues bueno simplemente era esa la pregunta, donde aprendisteis, y donde sacais la informacion de todo esto, si sabeis ingles pues entonces si entenderia bastantes cosas...pero weno....esa era mi pregunta si no es mucha molestia y no es una discriminacion a la intimidad ajena, me gustaria q me respondierais, gracias ;)
Hola.
Pues aprender C# fue muy sencillo para mí porque ya llevaba bastante tiempo programando. Concretamente en C++ y Java, por lo que la transición fue bastante sencilla.
En cuanto a qué utilicé para aprender C#, pues algunos tutoriales en la red (ya ni recuerdo cuáles) y el libro Programming C# 2nd Edition (O'Reilly). Está en inglés (después de tanto tiempo ya no me molesto en buscar en castellano) pero supongo que también habrán libros (no sé si éste en concreto) en castellano.
Y por supuesto, una ayuda inestimable te la da el intellisense del Visual C# Express. Te da la escripción de cualquier método, parámetro o propiedad al instante. Una maravilla. :P
Saludos.
Me lo estoy bajando, asi que ya daré mi opinión. No se si han hecho esta pregunta pero me asalta una duda... ¿Porqué no poneis ejecutables en vez de videos? Así de camino testeis que tal va con cada equipo.
Muchas gracias x responder BeRSeRKeR y tan rápido, tengo entendido que java es parecido a C#, Sacrifai me imagino que podran poner ejecutables pero vamos yo pienso que la potencia real de managed DirectX no se vera hasta que no llegue Longhorn o eXpedition ya no se ni como se va a llamar, y este Avalon, haber...de todas formas supongo que sera mas lento por mucho que se haga a un codigo bien escrito en C o C++, pero tambien habra Pc mas potentes, haber q nos depara el futuro....pos bueno muchas gracias nuevamente BeRSeRKeR, y una preguntita, habeis hecho algun manual/tutorial asi pa los novatos de como empezar a utilizar vuestro motor ?. He mirado en la pagina que tengo y no lo he visto, habeis hecho alguno ? o estais en ello ? o no teneis tiempo ? o no quereis hacerlo ?. Alguien podria responderme ?
Pues no, no hay nada de eso, ni tutoriales, ni nada que se le parezca. <_<
Tendrás que coger el motor e indagar. De todas formas, está en castellano , tienes los fuentes y está hecho en C#, no debería ser mucho problema.... B)
Respecto a lo de poner los ejecutables, no lo hacemos porque el vídeo llega a todo el mundo, y los jecutables sólo a aquellos que tuvieran al menos shaders 2.0. Pero no os preocupeis, porque supongo que si llegamos a presentar lo que tenemos pensado en Art Futura, habrá un ejecutable.
Respecto a lo de Managed DirectX y su potencia.... sinceramente no creo que se pierda mucho por hacerlo en C#, y Managed DirectX en realidad ataca directamente a DirectX, así que por ahí no creo que pierda mucho. Pero ya lo he dicho otras veces:si puedo, nunca más volveré a tocar C++ en la vida ;)
Usan DirectX ¿cierto? ¿Es posible usar OpenGL con C#?
NAvegando por la red me encontre con esto:
TAO
Sí, por lo que tengo entendido se puede utilizar OpenGL sin problemas.
Saludos.
Citarsi puedo, nunca más volveré a tocar C++ en la vida
jejejeje, y eso por qué? ¿le has cogido mucha tirria? (twist)
Mis conocimientos en C# aún no son muchos, pero si he podido ver que es muuuucho más productivo que C++ B)
Por cierto... el link del 2º video no funciona?
Una sugerencia... ¿qué tal hacer alguna comparativa con otros motores? Tal vez eso animaría a la gente a utilizar Had3 en lugar de otros.
Y otra pregunta... ¿qué hay de las físicas? :unsure:
¡¡ BUEN TRABAJO !!
La verdad es que C# te ahorra muchisimo tiempo de desarrollo. Lo empece a usar hace un par de semanas para desarrollo en Tablet PC (Algunos tenemos suerte en las practicas del modulo :D ) y ya no puedo separarme de el :rolleyes: .
Citar
Por cierto... el link del 2º video no funciona?
Sí que funciona, acabo de probarlo :P
Citar
jejejeje, y eso por qué? ¿le has cogido mucha tirria?
No, he programado muchos años en C++. Lo que pasa es que si puedo no lo usaré más. Parece que todos los que prueban C# corroboran esta opinión, así que...algo tendrá....
Citar
Una sugerencia... ¿qué tal hacer alguna comparativa con otros motores? Tal vez eso animaría a la gente a utilizar Had3 en lugar de otros.
Bueno la primera versión está ahí con esas características. La 2ª no sabemos todavía si la pondremos a disposición del público, es algo que decidiremos cuando ya la tengamos...
Citar
Y otra pregunta... ¿qué hay de las físicas?
Utilizamos Newton ;)