Tutorial Normal mapping en actores para Entidad 3D Autor: AlterEgo 12/09/07 Disponible en http://www.usuarios.lycos.es/alterego82 - http://www.alterego-web.tk Antes de comenzar con el tuto, te comento el software que utilice para realizarlo: Adobe Photoshop – http://www.adobe.com/es/products/photoshop/photoshop Plugin para photoshop de Nvidia – http://developer.nvidia.com/object/photoshop_dds_plugins.html Milkshape 3D – http://chumbalum.swissquake.ch/ Actor Studio Como primer medida voy a elegir un modelo act bien simple y que sea util para nuestro ejemplo, yo he seleccionado a ‘bitterman’ disponible en la seccion de descargas de la web oficial de Entidad 3d (http://www.entidad-3d.com). Como vamos a precisar utilizar una de sus texturas para generar el mapa normal, lo he decompilado con el Milkshape: abres el milk, vas a tools/decompile genesis 3d .act, una vez descompilado ejecutas el Photoshop, y abres la unica textura que pertenece a nuestro modelo, se trata de ‘punisher.bmp’. Es esta: Ahora, precisamos utilizar el filtro que nos hemos descargado de la web de Nvidia, si realizaste correctamente la instalacion de este plugin, deberia aparecerte en ‘Filter/Nvidia tools/NormalMapFilter…’, tal y como muestra la siguiente imagen: Deberia aparecerte una ventana con distintas opciones como esta: Te dejo la tarea de probar los resultados obtenidos con las distintas combinaciones de las opciones disponibles, para nuestro ejemplo, solamente dejaremos todo como esta por defecto y le daremos a ‘OK’. La textura deberia haber quedado asi: Lo siguiente seria guardar la misma, pero eso si, el nombre con el que la guardes debe comenzar con los caracteres ‘BNB_’ (sin las comillas) y en formato .BMP, por ejemplo, yo la he guardado con el nombre BNB_TEXTURA.BMP. Ahora ve a la carpeta donde estaba descompilado el actor y renombra la tetxura original (punisher.bmp) con el nombre BN0_TEXTURA, si le pusiste otra cosa en lugar de TEXTURA aquí deberias poner lo mismo, pero lo importante es que respetes los cuatro primeros caracteres BN0_ Las dos texturas que te deberian haber quedado en esa carpeta serian: BN0_TEXTURA.BMP BNB_TEXTURA.BMP Ahora volviendo a Milkshape, debemos renombrar el material que tenia nuestro modelo, para eso vamos a la pestaña ‘Materials’ y en donde dice ‘Rename’ cambiamos el nombre ‘punisher.bmp’ por ‘BN0_TEXTURA’ y le das al boton Rename para confirmar… Ahora, sin dejar el Milkshape, tendras que añadir un nuevo material al modelo, para ello vas nuevamente a la solapa de ‘Materials’ y le das a ‘New’, luego haces clic en el primer boton que dice ‘<none>’ y seleccionas el fichero BNB_TEXTURA que se encuentra en la carpeta donde habiamos descompilado el modelo. Tambien debemos renombrar este nuevo material a BNB_TEXTURA, tal como hicimos anteriormente, en la siguiente imagen se resumen los pasos a seguir: De manera que los materiales listados en la pestaña Materials del milkshape ahora tendremos estos dos: BN0_TEXTURA y BNB_TEXTURA. Finalmente vamos a File/Export/Genesis3d BDY y exportamos nuestro modelo. El utltimo paso es ‘re-empaquetar’ el .act, para ello, abrimos el programa ‘Actor Studio’ que se encuentra en la carpeta de Entidad. No te explicare en este tutorial como utilizar este programa para compilar un act, asique si no sabes como utilizarlo, deberias leerte este tutorial de Jordi antes de seguir: http://www.entidad-3d.com/tutorial_texturas_act/index.html Ahora bien, suponiendo que ya sabes como armar un act con Actor Studio, abres un nuevo proyecto, cargas el bdy, las motions y lo unico diferente que haremos es ir a la pestaña ‘Extra Materials’ y agregar un nuevo material clickeando el boton de “Add”, se nos pedira un nombre y le tendremos que poner si o si el mismo nombre de la textura normal que habiamos generado en Photoshop, osea en nuestro caso seria: BNB_TEXTURA. Ahora vas a ‘Browse’ y seleccionas la correspondiente tetxura en el directorio de descompilación. La imagen resume estos pasos: Listo eso era lo unico distinto para aclarar con Actor Studio, si ya has agregado las animaciones correctamente, le damos a ‘Build’ para generar nuestro nuevo .act. Ahora ya podemos ‘meterlo’ a Entidad para probar como queda el relieve del modelo, aquí una comparativa del antes y el después: No ha quedado tan mal ;) Importante: para que el normal mapping funcione correctamente en tu juego, tu tarjeta grafica debe soportarlo, para comprobar que esto es asi, abre el archivo D3DDrv.log que esta en tu carpeta de Entidad 3d y fijate que diga esto: --- D3DMain_PickDevice --D3DTEXOPCAPS_BUMPENVMAP : YES D3DTEXOPCAPS_BUMPENVMAPLUMINANCE: YES D3DTEXOPCAPS_DOTPRODUCT3 : YES Y finalmente para poder ver este efecto en tu nivel debes ejecutarlo con el driver ‘Controlador de pantalla primaria’. Saludos AlterEgo.