Autor: JBJ
Dificultad/Habilidades: Media. Necesitas tener nociones de modelado 3D (usaremos Blender), diseño gráfico (usaremos GIMP) y programación del Module System.
Descripción del tutorial: En este tutorial se recogen todos las los pasos y etapas que debemos seguir para plasmar ese 'item' que tenemos en mente en el mundo de M&B de forma correcta.
Ya tenemos varios tutoriales con temática parecida en nuestro foro (como éste tema de Mikeboix). Pero en este caso, además de trabajar con otras herramientas se hace un seguimiento al completo del proceso de diseño además de ofrecer pautas para conseguir que esos nuevos 'item' tenga una apariencia en consonancia con el resto del mundo (a quién no le crispa que algunos mods tengan objetos demasiado brillantes o con un tamaño desproporcionado ).
Dividiremos el proceso en las siguientes etapas de diseño:
-Modelado. Existen muchos programas para poder realizar modelos 3D pero nosotros usaremos Blender, mira el tema o descarga aquí. Otra buena opción es Wings 3D en el tema o descarga aquí.
-Texturizado. De igual modo puedes usar cualquier editor de imágenes para trabajar con las texturas, nosotros usaremos GIMP, mira el tema o descarga aquí. Necesitaras también los plugins 'dds' y 'normalmap'.
-Empaquetado. M&B necesita usar un 'contenedor' para empaquetar los modelos de los objetos y enlazarlos con el motor de juego, otros modelos, texturas etc..., en este paso también aplicaremos los materiales simulados para conseguir un mayor realismo. Usaremos OpenBRF mira el tema o descarga aquí.
-Programación. Este paso consiste en crear el código de nuestro nuevo objeto para que esté disponible en el mod, necesitaras por supuesto todo lo necesario module_system, python... mira el tema, también puedes usar Morgh's editor mira el tema.
Debemos tener en cuenta que todos los objetos que puedes encontrar en M&B se dividen en tres grupos según su forma de comportarse en el entorno. Tendremos diferentes tipos de archivos según los tipos de objetos:
-Modelos estáticos (.obj): yelmos, armas, escudos, alimentos, edificios...
-Modelos de animación por vértices (.md3): modelos de animación por vértices: caras, arcos, ballestas, fundas de espadas... (consiste en una animación por fotogramas de varios modelos estáticos).
-Modelos de animación (.smd): animaciones, armaduras, caballos, botas, guantes... (también se conoce por animación por esqueleto)
*Notas:
-Este tutorial no trata sobre el aprendizaje y manejo de las herramientas usadas, se da por sentado que tienes cierto nivel en su uso.
-En el tutorial nos centraremos en los objetos de tipo .obj y .md3 que son más sencillos. Los .smd los dejamos para otro momento.
-En general el modelo de cada objeto está contenido en un único archivo (existen excepciones con objetos muy grandes como edificios, pero esto también queda fuera del tutorial).
-De aquí en adelante cuando haga referencia a 'modelo' quiero decir la malla 3D diseñada en Blender y cuando diga 'objeto' me refiero al item, edificio o cualquier otro ente que puedes ver mientras juegas.
Descripción del proyecto: Aprenderemos a la la vez que realizamos nuestro propio 'item' de ejemplo. Nuestro propósito será crear una espada bastarda con su funda, se llamará 'Espada de Caballeros' y pertenecerá a un hipotético mod llamado 'Mod Caballeros de Calradia'. Querremos que sea algo parecido a:
Pasos:
Trabajaremos en una carpeta llamada 'MiItem' alojada en el escritorio.
1º Modelado:
Esta étapa del proyecto es una de las más importantes, diseñaremos el 'cuerpo físico' de nuestra espada.
1.1º
Un aspecto importante es saber el tamaño que debe tener la espada, en principio no deberíamos preocuparnos demasiado, ya que en cualquier momento podriamos reducirlo con OpenBRF o con Blender, pero lo mejor es trabajar seguros desde el primer momento. Así que vamos a usar un patrón. Como nuesto 'item' es una espada bastarda vamos a buscar una espada semejante en los archivos de M&B para que nos sirva de guía. Encontramos 'bastard_sword_a.obj' que se encuentra en 'weapons_e.brf' de 'CommonsRes' la exportaremos mediante OpenBrf como modelo estático.
Como también vamos a hacer la funda tomaremos como patrón 'bastard_sword_a_scabbard.md3' en el mismo .brf, pero tienes que tener en cuenta que un archivo .md3 no es más que varios archivos .obj unidos, cada .obj es un cuadro o fotograma de la animación. Las fundas tienen 3 cuadros, el nº0 y el nº1 son idénticos y muestran al espada enfundada y el cuadro nº2 muestra solo la funda, exportamos como modelos estáticos los cuadros nº1 y nº2.
Abrimos Blender e importamos los tres archivos 'bastard_sword_a.obj', 'bastard_sword_a(1).obj', 'bastard_sword_a.obj(2)'.
Añadimos un nuevo 'cubo' y empezamos a modelar siguiendo las dimensiones del patrón.
Para darle una forma determinada al objeto podemos hacerlo a ojo o haciendo uso de una imagen, la que quizás después usemos como textura.
Si no sabes usar Blender puedes acudir a la inmensidad de tutoriales que ofrece la web.
Debemos tener en cuenta algunos puntos importantes a la hora de comenzar a modelas:
-Al terminar el modelo debe estar compuesto de una única malla.
-Todas las caras deben ser triangulares.
-Las normales deben quedar hacia fuera.
-No es necesario aplicar materiales.
-No dejes activo ningún modificador de mallas.
-A menos vértices más rendimiento en el juego.
-Eliminar los vértices repetidos
-El origen de la nueva malla debe tener la misma posición que el de la malla patrón. En el caso de las espadas es el mango.
-A la hora de exportar las mallas, el origen de la misma debe coincidir con el origen absoluto, posición (0,0).
-Hay partes de la malla que deben estar irremediablemente en una posición determinada. Como las amarras al cinturón de las fundas de espada, de los escudos, de los carcaj etc... Esto es así para que en el juego cada 'item' quede alineado con el cuerpo del personaje.
Este proceso es delicado y depende de la pericia del modelador obtener unos buenos resultados. Tras un ratito de modelaje:
Hemos llamado a nuestras mallas: 'espadaCC', 'espadaCCfunda1', 'espadaCCfunda2' por ahora no la exportamos.
2º Texturizado
En esta etapa aplicaremos color a nuestros modelos mediante la aplicación de una textura.
Existen dos formas de trabajar en este campo. Una consiste en diseñar en primer lugar la textura para posteriormente 'desenrollar' la malla encima, o desenrollar la malla primero y luego aplicar la textura. También está el término medio que es un poco de una y un poco de otra. Yo diseñaré primero la textura.
2.1º
Abrimos GIMP y creamos un nuevo archivo que llamaremos 'textura_espadaCC'.
Debemos tener en cuenta algunos puntos importantes a la hora de comenzar a modelar:
-El tamaño de la textura dependerá de la relación rendimiento/detalle que desees en el juego. Deben tener salvo contadas excepciones una relación 1:1 (para el caso de la espada un 1024x1024px es más que aceptable)
-Aprovecha al máximo el área de la textura. Intentar no encoger los originales, gira objetos, lleva al límite de la imagen, no dejar huecos vacíos...
Nuestra espada no requiere ninguna textura compleja, así que después de poco tiempo:
Exportamos la imagen como .dds, al hacerlo disponemos de varias opciones. Modificaremos la 'Compression' existe varios niveles dependiendo de la relación peso/detalle que queremos y del uso del canal alfa, una DXT1 para nuestra espada está bien. Activamos 'Generate mipmaps' o mapas MIP que dan mayor fluidez al juego y que son imágenes de mapa de bits que acompañan a la textura en diferentes niveles de detalle, lo que significa que si en el juego la espada la lleva un soldado que está muy lejos del espectador se utilizaran los mapas de bits de menor resolución y solo cuando nos vamos acercando se muestran las más detalladas.
2.3º
Este punto debe estar en el apartado Modelado pero es necesario llevar a cabo el paso anterior para poder realizarlo.
Ahora llega un trabajo laborioso. Hacer unwrap a las mallas o lo que es lo mismo desenrrollar las mallas.
Esto consiste básicamente en proyectar en un plano 2D (la textura) la superficie de la malla 3D. Puedes usar muy diversas técnicas atendiendo principalmente a la complejidad de nuestro modelo. La espada es muy sencilla y no necesitaremos siquiera usar zonas de corte. Desenrollamos por las vistas: frente, planta y perfil.
Así que importamos la imagen 'textura_espadaCC' a Blender y procedemos.
En nuestro caso solo es necesario con desenrrollar 2 de las 3 mallas, la espada desenfundada y la funda, la otra malla es solo una combinación de ambas. Los tres modelos deben desenrrollarse en la misma textura, para que después los tres queden asociado a solo esa imagen.
Así nos quedó:
2.4º
Elegir y editar las texturas de forma correcta es una de las razones más importantes (además de los materiales y del modelo) para dar realismo al juego y no podemos dejar pasarla de largo. Y con realismo no me refiero a que nuestros objetos se vean en le juego como lo harían en el mundo real, ya que si diseñamos unos pocos objetos para que así fueran, si el resto de objetos del mundo no les acompañan estaremos dando un extraño y heterogeneo aspecto a nuestro mod. Debemos elegir que mundo queremos representar. De este modo una vez hayamos llegado al final del tutorial y probemso nuestra preciosa espada en el juego, lo más probable es que debamos volver a retocar la textura para que se vea del modo más adecuado dentro del juego. Por mi parte no me gusta ver una espada en M&B como si la estubiera viendo en el mundo real, pero tampoco me gusta verlas como las que trae el juego por defecto con unos colores muy planos. Yo tiro por el camino del medio. Además en este momento quise darle más personalidad a la espada con lo que añadí algunos detalles a la textura, este es el resultado final:
La textura que tenemos da color al objeto y es necesaria pero no suficiente en la mayoría de los casos para obtener un buen grado de realismo. En total necesitamos 3:
-Textura de RGB. Contiene la información del color. Ya la tenemos hecha.
-Textura de mapa de normales. Ofrece información sobre el relieve (con esta técnica podemos añadir pequeños detalles sin tener que modelarlos en la malla)
-Textura especular. Contiene la información de que partes del objeto reflejarán luz y cuales no.
Diseñar estas dos últimas texturas teniendo la primera ya diseñada es muy facil.
Para el mapa de normales o normalmap podemos hacer uso de un plugins para GIMP que lo hace directamente, puedes ver un ejemplo en el tema.
Para la textura especular existen varios procedimientos pero retocando la textura directamente es suficiente. Debe ser una imagen saturada, donde el blanco indica reflexión máxima y el negro mínima.
Exportamos ocmo .dds, DXT1 y con mipmaps
Estos fueron los resultados:
3º Empaquetado
Ahora empaquetamos los modelos en el formato .brf, que ayuda al motor de juego de M&B a asociar un modelo con su textura, material, cuerpo de colisión, esqueleto...
3.1º
Hasta aquí debemos tener en la carpeta 'MiItem' los siguientes archivos:
Archivos .obj: 'espadaCC.obj', 'espadaCCfunda1.obj', 'espadaCCfunda2.obj'
Archivos .dds: 'textura_espadaCC.dds', 'normalmap_espadaCC.dds', 'especular_espadaCC.dds'
En primer lugar creamos un archivo .brf en la carpeta mediante OpenBRF, y importaremos la malla 'espadaCC.obj' como modelo estático. Y ahora vamos a crear el modelo de animación por vértices con dos frames de la espada enfundada y uno desenfundad, al igual que aparecía en el modelo de la espada bastarda que usamos como patrón al comienzo del tutorial. Importamos 'espadaCCfunda1.obj' como modelo estático y ahora manteniendolo seleccionado importamos un cuadro o fotograma de animación por vértices y seleccionamos 'espadaCCfunda1.obj' vemos como ha aparecido la línea temporal, pues avanzamos un frame y con el objeto seleccionado añadimos un nuevo cuadro que será 'espadaCCfunda2.obj', listo, ya tenemos el .md3. En la línea temporal debemos indicar los tiempos 0,0 y 10 para los cuadros 0, 1 y 2 respectivamente tal cual aparece en el modelo patrón.
En este momento debemos cambiar de directorio de trabajo. En la carpeta 'Modules' de M&B deberíamos tener nuestro mod 'Mod Caballeros de Calradia' pues copiamos nuestras 3 texturas dentro de la carpeta 'Textures' y nuestro recién creado archivo .brf al que hemos llamado 'CC.brf' dentro de 'Resource'.
Abrimos el .brf e importamos un nuevo material vacío con el nombre 'material_espadaCC' y también importamos 3 referencias a texturas a las que les pondremos los nombres 'textura_espadaCC.dds', 'normalmap_espadaCC.dds', 'especular_espadaCC.dds' justo en el instante de ponerle esos nombre las texturas deben poder verse desde OpenBRF y entonces la pestaña 'Texturas' está terminada (prácticamente en ninguna ocasión deberemos tocar el valor 'Insignia').
-Sombread: envmap_shader_Instanced (básicamente significa que nuestro tiene un sombreado de environment map, abajo lo explico)
-Difuso A: textura_espadaCC (el nombre de la textura que da color. No poner .dds)
-Difuso A: none (seré sincero, no se para que vale esto, jamás lo use ni lo vi en M&B nativo. Parece ser otra textura de color, pero no se cual es la relación A-B. Lo dejamos en none)
-Desplazamiento: normalmap_espadaCC (el nombre de la textura que contiene el mapa de normales. No poner .dds)
-Entorno: earthenvmap (aquí debemos poner una textura que simule el entorno en el que se encuentra el objeto, pera que la reflexión de luz sea lo más realista posible. M&B usa por defecto esa textura que simula un paisaje exterior, podríamos poner cualquier otra. Solo debemos usarlo para objetos que reflejen luz, metales pulidos sobre todo)
-Especular: especular_espadaCC (el nombre de la textura que contiene la información especular o de reflejo de luz No poner .dds)
-Espectro RGB: indica como se comportan los diferentes componentes de color ante la reflexión. Practicante solo para metales.
-Coeficiente: Coeficiente que indica el tamaño de las zonas que reflejan. Practicante solo para metales.
-Insignia: Este valor es un conjunto de bit que contiene información avanzada del material, si no sabes usarlo lo mejor es dejarlo con el mismo valor que el modelo patrón.
Recuerda que a materiales más complejos más realismo y menos rendimiento.
También podemos hacer uso de algunas herramientas muy útiles como el sombreado oclusión ambiental, el recálculo de normales y por supuesto lo que debemos hacer siempre es el cálculo de niveles de detalle (level of detail - LOD) para cada malla. Que crea mallas adicionales con un detalle menos que al igual que los mipmaps para las texturas mejoran el rendimiento si el objeto se encuentra lejos de la cámara.
4º Programación
El último paso consiste en añadir los códigos correspondientes en los archivos del Moodule System, en el caso de un arma el archivo en el que debemos definirla es en 'module_items.py' para saber como puedes ver el tema. Nosotros igual como hemos hecho hasta ahora usaremos el patrón como guía. Buscamos el código de la espada bastarda que es éste:
["items_end", "Items End", [("shield_round_a",0)], 0, 0, 1, 0, 0],
y lo modificamos a nuestro modo. Cuidado que no se permiten letras mayúsculas en los identificadores.
Guardamos y compilamos.
Y no se nos puede olvidar que debemos indicarle al juego que tiene disponible un nuevo archivo .brf que cargar al rpincipio. Abrimos 'module.ini' en la carpeta del mod y añadimos la línea load_mod_resource = CC realmente el lugar no importa, pero es conveniente ponerlo justo después de la carga de los otros .brf.
Y ya hemos finalizado. Ahora las 'Espadas de Caballeros' estarán disponibles en los mercados, ya depende de ti modificar el código para hacer el uso de ellas que más te convenga.
Como hacer una espada para los Caballeros de Calradia esta genial pero sabe a poco, también hice un escudo. Bueno en este caso no lo modelé, solo cojí uno existente y le cambie la textura. Espero que más de uno de vosotros juegue con ellos. Aquí os dejo las impresiones y la descarga.
Y después de este extensísimo tutorial que me consumió media vida XD lo dejo aquí. Creo que no se me pasa nada y que tampoco hay demasiadas faltas ortográficas, de todos modos lo repasaré por si encuentro algo. Saludos.
Dificultad/Habilidades: Media. Necesitas tener nociones de modelado 3D (usaremos Blender), diseño gráfico (usaremos GIMP) y programación del Module System.
Descripción del tutorial: En este tutorial se recogen todos las los pasos y etapas que debemos seguir para plasmar ese 'item' que tenemos en mente en el mundo de M&B de forma correcta.
Ya tenemos varios tutoriales con temática parecida en nuestro foro (como éste tema de Mikeboix). Pero en este caso, además de trabajar con otras herramientas se hace un seguimiento al completo del proceso de diseño además de ofrecer pautas para conseguir que esos nuevos 'item' tenga una apariencia en consonancia con el resto del mundo (a quién no le crispa que algunos mods tengan objetos demasiado brillantes o con un tamaño desproporcionado ).
Dividiremos el proceso en las siguientes etapas de diseño:
-Modelado. Existen muchos programas para poder realizar modelos 3D pero nosotros usaremos Blender, mira el tema o descarga aquí. Otra buena opción es Wings 3D en el tema o descarga aquí.
-Texturizado. De igual modo puedes usar cualquier editor de imágenes para trabajar con las texturas, nosotros usaremos GIMP, mira el tema o descarga aquí. Necesitaras también los plugins 'dds' y 'normalmap'.
-Empaquetado. M&B necesita usar un 'contenedor' para empaquetar los modelos de los objetos y enlazarlos con el motor de juego, otros modelos, texturas etc..., en este paso también aplicaremos los materiales simulados para conseguir un mayor realismo. Usaremos OpenBRF mira el tema o descarga aquí.
-Programación. Este paso consiste en crear el código de nuestro nuevo objeto para que esté disponible en el mod, necesitaras por supuesto todo lo necesario module_system, python... mira el tema, también puedes usar Morgh's editor mira el tema.
Debemos tener en cuenta que todos los objetos que puedes encontrar en M&B se dividen en tres grupos según su forma de comportarse en el entorno. Tendremos diferentes tipos de archivos según los tipos de objetos:
-Modelos estáticos (.obj): yelmos, armas, escudos, alimentos, edificios...
-Modelos de animación por vértices (.md3): modelos de animación por vértices: caras, arcos, ballestas, fundas de espadas... (consiste en una animación por fotogramas de varios modelos estáticos).
-Modelos de animación (.smd): animaciones, armaduras, caballos, botas, guantes... (también se conoce por animación por esqueleto)
*Notas:
-Este tutorial no trata sobre el aprendizaje y manejo de las herramientas usadas, se da por sentado que tienes cierto nivel en su uso.
-En el tutorial nos centraremos en los objetos de tipo .obj y .md3 que son más sencillos. Los .smd los dejamos para otro momento.
-En general el modelo de cada objeto está contenido en un único archivo (existen excepciones con objetos muy grandes como edificios, pero esto también queda fuera del tutorial).
-De aquí en adelante cuando haga referencia a 'modelo' quiero decir la malla 3D diseñada en Blender y cuando diga 'objeto' me refiero al item, edificio o cualquier otro ente que puedes ver mientras juegas.
Descripción del proyecto: Aprenderemos a la la vez que realizamos nuestro propio 'item' de ejemplo. Nuestro propósito será crear una espada bastarda con su funda, se llamará 'Espada de Caballeros' y pertenecerá a un hipotético mod llamado 'Mod Caballeros de Calradia'. Querremos que sea algo parecido a:
- Spoiler:
La espada que aparece en el nuevo logo de Caballeros de Calradia.
Pasos:
Trabajaremos en una carpeta llamada 'MiItem' alojada en el escritorio.
1º Modelado:
Esta étapa del proyecto es una de las más importantes, diseñaremos el 'cuerpo físico' de nuestra espada.
1.1º
Un aspecto importante es saber el tamaño que debe tener la espada, en principio no deberíamos preocuparnos demasiado, ya que en cualquier momento podriamos reducirlo con OpenBRF o con Blender, pero lo mejor es trabajar seguros desde el primer momento. Así que vamos a usar un patrón. Como nuesto 'item' es una espada bastarda vamos a buscar una espada semejante en los archivos de M&B para que nos sirva de guía. Encontramos 'bastard_sword_a.obj' que se encuentra en 'weapons_e.brf' de 'CommonsRes' la exportaremos mediante OpenBrf como modelo estático.
Como también vamos a hacer la funda tomaremos como patrón 'bastard_sword_a_scabbard.md3' en el mismo .brf, pero tienes que tener en cuenta que un archivo .md3 no es más que varios archivos .obj unidos, cada .obj es un cuadro o fotograma de la animación. Las fundas tienen 3 cuadros, el nº0 y el nº1 son idénticos y muestran al espada enfundada y el cuadro nº2 muestra solo la funda, exportamos como modelos estáticos los cuadros nº1 y nº2.
- Spoiler:
Abrimos Blender e importamos los tres archivos 'bastard_sword_a.obj', 'bastard_sword_a(1).obj', 'bastard_sword_a.obj(2)'.
Añadimos un nuevo 'cubo' y empezamos a modelar siguiendo las dimensiones del patrón.
Para darle una forma determinada al objeto podemos hacerlo a ojo o haciendo uso de una imagen, la que quizás después usemos como textura.
Si no sabes usar Blender puedes acudir a la inmensidad de tutoriales que ofrece la web.
Debemos tener en cuenta algunos puntos importantes a la hora de comenzar a modelas:
-Al terminar el modelo debe estar compuesto de una única malla.
-Todas las caras deben ser triangulares.
-Las normales deben quedar hacia fuera.
-No es necesario aplicar materiales.
-No dejes activo ningún modificador de mallas.
-A menos vértices más rendimiento en el juego.
-Eliminar los vértices repetidos
-El origen de la nueva malla debe tener la misma posición que el de la malla patrón. En el caso de las espadas es el mango.
-A la hora de exportar las mallas, el origen de la misma debe coincidir con el origen absoluto, posición (0,0).
-Hay partes de la malla que deben estar irremediablemente en una posición determinada. Como las amarras al cinturón de las fundas de espada, de los escudos, de los carcaj etc... Esto es así para que en el juego cada 'item' quede alineado con el cuerpo del personaje.
Este proceso es delicado y depende de la pericia del modelador obtener unos buenos resultados. Tras un ratito de modelaje:
- Spoiler:
Espada
Espada + Espada enfundada + funda
Hemos llamado a nuestras mallas: 'espadaCC', 'espadaCCfunda1', 'espadaCCfunda2' por ahora no la exportamos.
2º Texturizado
En esta etapa aplicaremos color a nuestros modelos mediante la aplicación de una textura.
Existen dos formas de trabajar en este campo. Una consiste en diseñar en primer lugar la textura para posteriormente 'desenrollar' la malla encima, o desenrollar la malla primero y luego aplicar la textura. También está el término medio que es un poco de una y un poco de otra. Yo diseñaré primero la textura.
2.1º
Abrimos GIMP y creamos un nuevo archivo que llamaremos 'textura_espadaCC'.
Debemos tener en cuenta algunos puntos importantes a la hora de comenzar a modelar:
-El tamaño de la textura dependerá de la relación rendimiento/detalle que desees en el juego. Deben tener salvo contadas excepciones una relación 1:1 (para el caso de la espada un 1024x1024px es más que aceptable)
-Aprovecha al máximo el área de la textura. Intentar no encoger los originales, gira objetos, lleva al límite de la imagen, no dejar huecos vacíos...
Nuestra espada no requiere ninguna textura compleja, así que después de poco tiempo:
- Spoiler:
Exportamos la imagen como .dds, al hacerlo disponemos de varias opciones. Modificaremos la 'Compression' existe varios niveles dependiendo de la relación peso/detalle que queremos y del uso del canal alfa, una DXT1 para nuestra espada está bien. Activamos 'Generate mipmaps' o mapas MIP que dan mayor fluidez al juego y que son imágenes de mapa de bits que acompañan a la textura en diferentes niveles de detalle, lo que significa que si en el juego la espada la lleva un soldado que está muy lejos del espectador se utilizaran los mapas de bits de menor resolución y solo cuando nos vamos acercando se muestran las más detalladas.
2.3º
Este punto debe estar en el apartado Modelado pero es necesario llevar a cabo el paso anterior para poder realizarlo.
Ahora llega un trabajo laborioso. Hacer unwrap a las mallas o lo que es lo mismo desenrrollar las mallas.
Esto consiste básicamente en proyectar en un plano 2D (la textura) la superficie de la malla 3D. Puedes usar muy diversas técnicas atendiendo principalmente a la complejidad de nuestro modelo. La espada es muy sencilla y no necesitaremos siquiera usar zonas de corte. Desenrollamos por las vistas: frente, planta y perfil.
Así que importamos la imagen 'textura_espadaCC' a Blender y procedemos.
En nuestro caso solo es necesario con desenrrollar 2 de las 3 mallas, la espada desenfundada y la funda, la otra malla es solo una combinación de ambas. Los tres modelos deben desenrrollarse en la misma textura, para que después los tres queden asociado a solo esa imagen.
Así nos quedó:
- Spoiler:
2.4º
Elegir y editar las texturas de forma correcta es una de las razones más importantes (además de los materiales y del modelo) para dar realismo al juego y no podemos dejar pasarla de largo. Y con realismo no me refiero a que nuestros objetos se vean en le juego como lo harían en el mundo real, ya que si diseñamos unos pocos objetos para que así fueran, si el resto de objetos del mundo no les acompañan estaremos dando un extraño y heterogeneo aspecto a nuestro mod. Debemos elegir que mundo queremos representar. De este modo una vez hayamos llegado al final del tutorial y probemso nuestra preciosa espada en el juego, lo más probable es que debamos volver a retocar la textura para que se vea del modo más adecuado dentro del juego. Por mi parte no me gusta ver una espada en M&B como si la estubiera viendo en el mundo real, pero tampoco me gusta verlas como las que trae el juego por defecto con unos colores muy planos. Yo tiro por el camino del medio. Además en este momento quise darle más personalidad a la espada con lo que añadí algunos detalles a la textura, este es el resultado final:
- Spoiler:
La textura que tenemos da color al objeto y es necesaria pero no suficiente en la mayoría de los casos para obtener un buen grado de realismo. En total necesitamos 3:
-Textura de RGB. Contiene la información del color. Ya la tenemos hecha.
-Textura de mapa de normales. Ofrece información sobre el relieve (con esta técnica podemos añadir pequeños detalles sin tener que modelarlos en la malla)
-Textura especular. Contiene la información de que partes del objeto reflejarán luz y cuales no.
Diseñar estas dos últimas texturas teniendo la primera ya diseñada es muy facil.
Para el mapa de normales o normalmap podemos hacer uso de un plugins para GIMP que lo hace directamente, puedes ver un ejemplo en el tema.
Para la textura especular existen varios procedimientos pero retocando la textura directamente es suficiente. Debe ser una imagen saturada, donde el blanco indica reflexión máxima y el negro mínima.
Exportamos ocmo .dds, DXT1 y con mipmaps
Estos fueron los resultados:
- Spoiler:
normalmap_espadaCC.dds
especular_espadaCC.dds
3º Empaquetado
Ahora empaquetamos los modelos en el formato .brf, que ayuda al motor de juego de M&B a asociar un modelo con su textura, material, cuerpo de colisión, esqueleto...
3.1º
Hasta aquí debemos tener en la carpeta 'MiItem' los siguientes archivos:
Archivos .obj: 'espadaCC.obj', 'espadaCCfunda1.obj', 'espadaCCfunda2.obj'
Archivos .dds: 'textura_espadaCC.dds', 'normalmap_espadaCC.dds', 'especular_espadaCC.dds'
En primer lugar creamos un archivo .brf en la carpeta mediante OpenBRF, y importaremos la malla 'espadaCC.obj' como modelo estático. Y ahora vamos a crear el modelo de animación por vértices con dos frames de la espada enfundada y uno desenfundad, al igual que aparecía en el modelo de la espada bastarda que usamos como patrón al comienzo del tutorial. Importamos 'espadaCCfunda1.obj' como modelo estático y ahora manteniendolo seleccionado importamos un cuadro o fotograma de animación por vértices y seleccionamos 'espadaCCfunda1.obj' vemos como ha aparecido la línea temporal, pues avanzamos un frame y con el objeto seleccionado añadimos un nuevo cuadro que será 'espadaCCfunda2.obj', listo, ya tenemos el .md3. En la línea temporal debemos indicar los tiempos 0,0 y 10 para los cuadros 0, 1 y 2 respectivamente tal cual aparece en el modelo patrón.
- Spoiler:
En este momento debemos cambiar de directorio de trabajo. En la carpeta 'Modules' de M&B deberíamos tener nuestro mod 'Mod Caballeros de Calradia' pues copiamos nuestras 3 texturas dentro de la carpeta 'Textures' y nuestro recién creado archivo .brf al que hemos llamado 'CC.brf' dentro de 'Resource'.
Abrimos el .brf e importamos un nuevo material vacío con el nombre 'material_espadaCC' y también importamos 3 referencias a texturas a las que les pondremos los nombres 'textura_espadaCC.dds', 'normalmap_espadaCC.dds', 'especular_espadaCC.dds' justo en el instante de ponerle esos nombre las texturas deben poder verse desde OpenBRF y entonces la pestaña 'Texturas' está terminada (prácticamente en ninguna ocasión deberemos tocar el valor 'Insignia').
- Spoiler:
-Sombread: envmap_shader_Instanced (básicamente significa que nuestro tiene un sombreado de environment map, abajo lo explico)
-Difuso A: textura_espadaCC (el nombre de la textura que da color. No poner .dds)
-Difuso A: none (seré sincero, no se para que vale esto, jamás lo use ni lo vi en M&B nativo. Parece ser otra textura de color, pero no se cual es la relación A-B. Lo dejamos en none)
-Desplazamiento: normalmap_espadaCC (el nombre de la textura que contiene el mapa de normales. No poner .dds)
-Entorno: earthenvmap (aquí debemos poner una textura que simule el entorno en el que se encuentra el objeto, pera que la reflexión de luz sea lo más realista posible. M&B usa por defecto esa textura que simula un paisaje exterior, podríamos poner cualquier otra. Solo debemos usarlo para objetos que reflejen luz, metales pulidos sobre todo)
-Especular: especular_espadaCC (el nombre de la textura que contiene la información especular o de reflejo de luz No poner .dds)
-Espectro RGB: indica como se comportan los diferentes componentes de color ante la reflexión. Practicante solo para metales.
-Coeficiente: Coeficiente que indica el tamaño de las zonas que reflejan. Practicante solo para metales.
-Insignia: Este valor es un conjunto de bit que contiene información avanzada del material, si no sabes usarlo lo mejor es dejarlo con el mismo valor que el modelo patrón.
Recuerda que a materiales más complejos más realismo y menos rendimiento.
- Spoiler:
También podemos hacer uso de algunas herramientas muy útiles como el sombreado oclusión ambiental, el recálculo de normales y por supuesto lo que debemos hacer siempre es el cálculo de niveles de detalle (level of detail - LOD) para cada malla. Que crea mallas adicionales con un detalle menos que al igual que los mipmaps para las texturas mejoran el rendimiento si el objeto se encuentra lejos de la cámara.
- Spoiler:
4º Programación
El último paso consiste en añadir los códigos correspondientes en los archivos del Moodule System, en el caso de un arma el archivo en el que debemos definirla es en 'module_items.py' para saber como puedes ver el tema. Nosotros igual como hemos hecho hasta ahora usaremos el patrón como guía. Buscamos el código de la espada bastarda que es éste:
- Código:
["bastard_sword_a", "Bastard Sword", [("bastard_sword_a",0),("bastard_sword_a_scabbard", ixmesh_carry)], itp_type_two_handed_wpn|itp_merchandise| itp_primary, itc_bastardsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,
294 , weight(2.0)|difficulty(9)|spd_rtng(98) | weapon_length(101)|swing_damage(35 , cut) | thrust_damage(26 , pierce),imodbits_sword_high ],
["items_end", "Items End", [("shield_round_a",0)], 0, 0, 1, 0, 0],
y lo modificamos a nuestro modo. Cuidado que no se permiten letras mayúsculas en los identificadores.
- Código:
["espadacc","Espada de Caballero",[("espadaCC",0),("espadaCCfunda", ixmesh_carry)],itp_merchandise|itp_type_two_handed_wpn|itp_primary,itc_bastardsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,1000,weight(3)|difficulty(10)|spd_rtng(97)|weapon_length(100)|swing_damage(40,cut)|thrust_damage(30,pierce),imodbits_none],
Guardamos y compilamos.
Y no se nos puede olvidar que debemos indicarle al juego que tiene disponible un nuevo archivo .brf que cargar al rpincipio. Abrimos 'module.ini' en la carpeta del mod y añadimos la línea load_mod_resource = CC realmente el lugar no importa, pero es conveniente ponerlo justo después de la carga de los otros .brf.
Y ya hemos finalizado. Ahora las 'Espadas de Caballeros' estarán disponibles en los mercados, ya depende de ti modificar el código para hacer el uso de ellas que más te convenga.
Como hacer una espada para los Caballeros de Calradia esta genial pero sabe a poco, también hice un escudo. Bueno en este caso no lo modelé, solo cojí uno existente y le cambie la textura. Espero que más de uno de vosotros juegue con ellos. Aquí os dejo las impresiones y la descarga.
- Spoiler:
Y después de este extensísimo tutorial que me consumió media vida XD lo dejo aquí. Creo que no se me pasa nada y que tampoco hay demasiadas faltas ortográficas, de todos modos lo repasaré por si encuentro algo. Saludos.
Última edición por JBJ el Lun Nov 02, 2015 12:47 pm, editado 4 veces