Please login or register.

Login with username, password and session length
Advanced search  

News:

Latest WME version: WME 1.9.1 (January 1st, 2010) - download

Author Topic: Sobre 3D en wintermute  (Read 8436 times)

0 Members and 1 Guest are viewing this topic.

yukino24

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
    • View Profile
Sobre 3D en wintermute
« on: June 02, 2010, 07:19:41 AM »

Hola, hace poco que comencé a trastear con wintermute y me parece bastante potente. Estoy siguiendo los tutoriales que tienen en la wiki online, y he visto que la parte del 2.5 D / 3D aún no está acabada, solo hay tutoriales para 2D. Esta parte me interesa bastante, ya que tengo intención de hacer una pequeña  aventura gráfica, tengo algún escenario y un personaje 3D hecho.
Quiero saber si se va a continuar con esa wikipedia, ya que no tengo ni idea de como trabajar con personajes 3D en escenarios 2D.
Otra cosa que quiero saber es si hay algún tutorial para ver como se hace esto.

Y por último me gustaría saber, como se generan los sprites. Hay alguna herramienta? Simplemente se dibujan el mismo personaje de varias maneras? O se puede tomar un personaje hecho en 3D Max y hacer las capturas?

Un saludo
Logged

HelLRaiseR

  • I don't want to make a Monkey Island clone :(
  • Moderator
  • Frequent poster
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 270
    • View Profile
    • Adventure Box Studios
Re: Sobre 3D en wintermute
« Reply #1 on: June 02, 2010, 01:32:25 PM »

La wiki avanza segun la gente puede hacerla avanzar, ya se ha hecho alguna intentona de traducir contenidos, pero desgraciadamente la gente anda mas o menos ocupada. Me temo que tendrás que recurrir al ingles, que en ese idioma si hay algo.

Lo mejor para aprender a usar WME para hacer juegos en 2.5D es empaparte los dos ejemplos, el de TRinity que viene en el paquete de WME y el de Dreamweb que es un minijuego completo, lo puedes encontrar aqui:  http://forum.dead-code.org/index.php?topic=2527.0

Por supuesto, en el foro tienes de todo sobre este tema.

Si quieres puedes abrir un hilo y preguntar y entre todos te iremos respondiendo. Yo intentaré hacer un pequeño resumen de como va para que puedas empezar.
Logged
Regards,

    Fernando

yukino24

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
    • View Profile
Re: Sobre 3D en wintermute
« Reply #2 on: June 02, 2010, 04:30:35 PM »

Gracias por contestarme.
Los tutoriales que estoy siguiendo son los de inglés, me refería ahí que no están acabados, solo la parte entera del 2D, en la del 2,5 lo cortan.
El ejemplo que viene de trinity, lo estuve mirando y a mi al menos no me funciona casi nada, solo veo a la tía andando pero si selecciono cualquier cosa no me salta ningún evento, no me coge la tetera, y el código está escrito a si que...
Cuando vaya a empezar iré preguntando, pero si puedes poner un resumencillo para ir empezanod te lo agradecería.

Gracias por ese otro ejemplo
Un saludo!
Logged

HelLRaiseR

  • I don't want to make a Monkey Island clone :(
  • Moderator
  • Frequent poster
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 270
    • View Profile
    • Adventure Box Studios
Re: Sobre 3D en wintermute
« Reply #3 on: June 02, 2010, 09:39:26 PM »

Es raro, porque el ejemplo funciona perfectamente. A ver si busco una de las primeras pruebas que hice con el 2,5D que eran sencillas y que supongo que las debo tener por ahi y la publico y comentamos sobre ella.

El tema del 2,5 D no es complicado pero tiene muchos truquillos y cuesta un poco dejarlo fino.

A ver si podemos hacer un pequeño ejercicio, que ademas, para mas coña, tengo cascado el pc (no le funciona el teclado en windows pero si cuando entro en la bios o al inicio, tengo que arreglarlo este finde) asi que escribo desde el netbook en el que logicamente ni tengo WME ni 3DS ni nada.

Haz un modelo en MAX (o en la aplicación de 3D que uses) que tenga un plano y un cubo en el centro.

al plano llamalo walk_suelo y al cubo shadow_cubo.

Ademas pon una camara y un punto de luz omnidireccional

renderza la imagen desde el punto de vista de la camara y guardala para ponerla de fondo en una escena, y exporta la escena a formato 3ds.

En el editor de escenas, de WME crea una escena nueva con el render como fondo y en las opciones de 3D asigna el 3ds a la escena y selecciona la camara con la que has renderizado la vista.

Hay una opcion para mostrar la geometria oculta, marcala, si no has creado el 3ds con max, es posible que no te coincida la geometria con la imagen, (por ejemplo con Cinema4D no coincide), si es el caso tienes que ajustar la opcion "Override camera FOV" hasta que ajuste.

Define el area por la que el actor puede caminar, igual que se hace en una escena 2D, define tambien una blocked region alrededor cel cubo, vamos a intentar que el actor pase por detras y por delante del cubo proyectando su sombra en el.

Define la sombra de los actores como stencil (el contorno) es el tipo de sombras mas chula, pero castiga el rendimiento si la geometria tiene muchos poligonos.

Si te fijas, en el editor de escenas hay un botoncillo con un muñeco que pone creo "Place actor", si lo pinchas podras seleccionar un actor, coge a Trinity y te aparecera en la escena donde podras moverla y veras como se agranda y empequeñece en base a su posición, tambien veras la sombra proyectada, creo. Esto te permite probar la escena para ver si esta correctamente montada.

Pon la escena como escena inicial y en el script scene_init pon el actor en una zona de la pantalla que coincida con el walk_suelo, Ajusta la escala con SetScale y en principio el actor debería poder andar por la escena, pasar por delante y detras del cubo y proyectar su sombra sobre el suelo y sobre el cubo.

Hay una opcion en la escena para que la busqueda de caminos se controle como en 2D, marcala.

Cuando consigas hacer este ejercicio tendras bastante claro como funcionael 2,5D en wme.

A ver si este finde puedo suibir algun ejemplo parecido a este, que seguro que tengo hechos. Si hay suerte, mañana que es fiesta dejare apañado el pc y asi por lo menos puedo buscar las cosas.

Logged
Regards,

    Fernando

yukino24

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
    • View Profile
Re: Sobre 3D en wintermute
« Reply #4 on: June 05, 2010, 08:01:47 PM »

Muchas gracias por ejemplo,  es muy sencillo y claro pero aun así tengo dudas. Realmente he empezado a tratear con wintermute hace unas semanas y hay muchas cosas que nose.
Al hacer el ejemplo que me has propuesto, cuando he ido ha probar como quedaba el actor en la escena, salía enorme, y no he sabido como escalarlo.
Después he probado a trinity en otra escena que tengo hecha yo, y aparte de que trinity se veía enana, no me dejaba moverla por ningún sitio. Que está ocurriendo en estos casos?
Otra, cosa, para que sirve incluir la escena 3ds en la parte 3d? Para las colisiones? O para que?  No bastaría con incluir a trinity en la escena y deliminitar la escena con regiones? O sirve para que se vean las sombras y cosas así?

Como te digo soy bastante novata en esto.
Logged

HelLRaiseR

  • I don't want to make a Monkey Island clone :(
  • Moderator
  • Frequent poster
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 270
    • View Profile
    • Adventure Box Studios
Re: Sobre 3D en wintermute
« Reply #5 on: June 10, 2010, 07:08:58 PM »

El tamaño del actor es por la diferencia de escala que hay con la escena. Haz la escena mas pequeña o el actor mas grande, tambien puedes hacerlo por código con actor.Scale = n, siendo n el % de escalado. Ahora mismo no recuerdo si en el fichero .act3d se puede poner la escala, creo que si, de esta forma puedes tener al actor proporcionado en tiempo de diseño para ver como queda.

Cuando el actor te sale en la escena, independientemente del tamaño y no puedes moverlo, es porque lo has puesto en una zona en la que no se puede andar o en una bloqueada. Cambialo de sitio con actor.SkipTo (x,y) Si te fijas, veras que si en el editor de escenas sacas al actor, segun lo mueves te pone la posición x,y en la barra de estado. Apuntate la posición buena y ponla con un actor.skipTo(x,y) en el scene_init.

La escena 3ds se incluye para tres cosas:

1. Para la proyección de sombras, se harán en función de la luz y de los objetos shadow_xxxxx
2. Para las colisiones y busquedas de caminos si has incluido objetos blk_xxxx y wpt_xxxxx
3. Lo mas importante, para andar, si no hay un objeto walk_no haces nada

Las sombras las puedes obviar y los caminos y zonas bloqueadas puedes hacerlas en 2D, pero necesitas siempre al menos ese objeto walk para que el motor pueda poner al actor en alguna parte.


Logged
Regards,

    Fernando

yukino24

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
    • View Profile
Re: Sobre 3D en wintermute
« Reply #6 on: June 15, 2010, 07:26:03 AM »

Gracias de nuevo por contestar, pero tengo algunos problemas. En mi escena, hay bastantes polígonos, es una escena de una plaza con algunas tiendas, hay arboles una fuente... Probé a poner un personaje propio en esa escena y aparecía pero no hacía nada. También probé con trinity, y lo mismo. Es más en el editor de escenas, ni siquiera podía colocar el personaje para ver que tal...
Mi escena tiene bastanetes polígonos, puede ser algún problema con esto?
A que te refieres con objeto walk_no? Eso sería el fichero 3ds y el wintermute lo configura?
Y mi última pregunta, se podría crear un render de mi escena a modo de fondo, y luego hacer una escena con pocos polígonos? Es decir unas cajas, un plano, en las mismas posiciones? Después cargar el fondo de mi escena y en la geometría esa escena con pocos polígonos.
Como digo, tengo bastantes dudas sobre esto.

Gracias,

Una última pregunta, sabe alguien para cuando estará completo el WME Book online? Si váis a esta direccion:
http://res.dead-code.org/doku.php/wmebook:start
veréis que la parte del 3d está en roja, aún no está empezada.
Logged

HelLRaiseR

  • I don't want to make a Monkey Island clone :(
  • Moderator
  • Frequent poster
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 270
    • View Profile
    • Adventure Box Studios
Re: Sobre 3D en wintermute
« Reply #7 on: June 15, 2010, 02:13:20 PM »

Efectivamente, si en el .3ds tienes un objeto que se llame tal que walk_suelo, por ejemplo, wme lo toma como zona por la que el actor puede andar. El problema que tienes me suena a que el .3d no está bien, revisalo.

Asi, a bote pronto, se me ocurre que puede pasar algo de lo siguiente:

- El 3ds no tiene un objeto walk_
- El actor esta posicionado en un objeto bkl_ o fuera del objeto walk_
- El actor esta fuera de la región en la que se puede caminar (si has optado por controlar la geometria en 2D)
- El actor está sobre una entity blocked
- El objeto walk_ esta por encima del 0 en el eje Y con lo que el actor estaría mas abajo, creop que asi tampoco funciona.

En principio el número de poligonos no debería ser un obstaculo, funcionar deberia funcionar igual, aunque cuantos mas poligonos tenga mas le costará al motor mover la escena. ¿de cuantos poligonos estamos hablando? miralo en la información de depuracion del wme cuando ejecutas en ventana, ahi te dice la cantidad de poligonos que esta renderizando, ten en cuenta que no son solo los poligonos del .3ds, son tambien los de los actores y los de las sombras que estos proyectan. No te pases con los poligonos porque entonces cuando empieces a meter cosas en la escena esta empezará a ir lenta. Para que te hagas una idea, 40.000 poligonos es una cantidad exageradisima, que va de pena en un ordenador normalito (1Gb RAM con una grafica compartida de 256 Mb) pero que es una configuración mas que suficiente para una aventura gráfica. Yo intentaría no pasar en ningún caso de los 10.000 poligonos. Recuerda que hablo de los que te informa el wme, no de los que tiene el 3ds.

Precisamente la técnica es como tu dices, renderizas la escena y luego, con una copia de esta, quitas todo lo que no afecte y reduces los poligonos al máximo, por ejemplo, todo lo que no reciba una sombra o no recorte al actor lo quitas, la cara oculta de los objetos tambien, los primeros planos se pueden sustitur por bitmap en otra capa, optimiza los caminos, piensa que si no es necesario que el actor acceda a un sitio, puedes poner algo en medio y bloquear ese trozo de escena, eso hara que al no pasar por esa zona, no necesites tener nada de 3d ahi porque no se proyectaran sombras ni habra que recortar al personaje, otra cosa es que por muy picada que este la luz, una sombra no se dibuja mas alta que los homnbros por lo que desde la altura de los hombros hacia arriba, puedes quitarlo todo excepto si es un objeto que tenga que estar delante del actor, en cuyo caso te sobran todos los poligonos desde lsa altura de la cabeza hacia arriba,
etc, etc, etc.

Yo no te recomiendo hacer otra escena sino aligerar a lo bestia la que has renderizado, esto es popr una razón, si una superficie tiene un determinado relieve y eso lo sustituyes por una forma plana, la sombra que se proyecte será plana y no con el relieve que tenia la superficie al renderizarla.

Logged
Regards,

    Fernando

yukino24

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
    • View Profile
Re: Sobre 3D en wintermute
« Reply #8 on: June 16, 2010, 07:18:13 AM »

Pues resulta que el problema era con el nombre del suelo que no se llamaba walk... esto es un fallo básico pero no se casi nada de esto del 3d en wintermute...
Por otro lado tengo muchos polígonos, pero no me iba tan lento como yo pensaba, esto se soluciona fácil.

Lo que si me surgió otro problema. metí un personaje que tengo hecho, lo exporté en .x y en el gestor de archivos que tiene wintermute se ve al personaje con sus texturas y todo bien, igual que en 3d max; a la hora de meterlo en mi escena se veía negro, proyectaba sombra incluso pero completamente negro sin textura. Por que puede ser esto?
Otra cosa, mi personaje tiene aplicados materiales básicos, ninguno es un bitmap ni nada externo, a la hora de exportarlo lo único que exportó el 3d max, fue un .x, imagino que hay se incluye la información de la textura d emi personaje? O hay que exportar algo más?

Un saludo, gracias
Logged

HelLRaiseR

  • I don't want to make a Monkey Island clone :(
  • Moderator
  • Frequent poster
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 270
    • View Profile
    • Adventure Box Studios
Re: Sobre 3D en wintermute
« Reply #9 on: June 22, 2010, 10:53:23 AM »

Vaya, no habia visto este mensaje.

Bueno, me temo que no puedes usar materiales de Max en WME, el exportador solo te exporta la maya y las texturas que sean bitmap, con lo que olvidate de procedurales y cosas de esas.

No estaria mal que le echases un vistazo por encima al directX, porque el WME lo que hace es usar la especificación con lo que wme soportara lo que directX soporte.

Supongo que se verá negro por eso, si no, es porque la luz esta mal puesta, pero si proyecta sombra entonces seguro que es por la textura.

Logged
Regards,

    Fernando
 

Page created in 0.023 seconds with 24 queries.