Steam Celtíberos

Sala Pública Celtíberos

Vitrina

a_12.gif

Acceso al Castillo

Menú personal

Mensajes recibidos

Debe loguear para ver sus mensajes.
Enviar mensaje.

En línea...

Tenemos 72 invitados conectado

Estadísticas

  • Total Usuarios: 5617
  • Últ. Miembro: ujewulym
  • Total Mensajes: 74.5k
  • Total Temas: 5629
  • Total Secciones: 192
  • Total Categorías: 8
  • Abiertos hoy: 0
  • Abiertos Ayer: 0
  • Respuestas Hoy: 0
  • Respuestas Ayer: 0

+ Últimos Mensajes +

Últimas descargas

Bienvenido, Invitado
Nombre de Usuario Contraseña: Recordarme
1349 Mensajes

Mensajes

emo
AÑADIR NUEVAS UNIDADES A RTW

Paso 1: export_descr_unit.txt

Lo más sencillo es tomar la entrada completa de una unidad del mismo tipo (infantería o caballería, melée o misiles, tipo de arma).
Supongamos que queremos hacer una unidad de hostigadores a pie. Tomamos la entrada de los vélites, y la copiamos entera al final del fichero.

Esta es la original (hay que copiar todas las líneas completas para evitar problemas):
type roman velite
dictionary roman_velite ; Velites
category infantry
class missile
voice_type Light_1
soldier roman_velite, 40, 0, 0.8
mount_effect elephant +6, chariot +6
attributes sea_faring, hide_improved_forest, hide_long_grass, can_sap
formation 1.6, 2, 3.2, 4, 3, square
stat_health 1, 0
stat_pri 7, 2, javelin, 50, 6, thrown, archery, piercing, spear, 25 ,1
stat_pri_attr thrown
stat_sec 5, 2, no, 0, 0, melee, simple, piercing, sword, 25 ,1
stat_sec_attr no
stat_pri_armour 2, 3, 2, flesh
stat_sec_armour 0, 0, flesh
stat_heat 1
stat_ground 2, 0, 3, 0
stat_mental 4, normal, untrained
stat_charge_dist 30
stat_fire_delay 0
stat_food 60, 300
stat_cost 1, 270, 170, 30, 40, 270
ownership roman


Ahora le cambiamos los siguientes parámetros: "type" y "dictionary", con el nuevo nombre de la unidad, ownership, con la nueva facción que puede reclutarla, por ejemplo macedon.
Esta sería la nueva entrada:
type hostigador macedonio
dictionary hostigador_macedonio ; Velites
category infantry
class missile
voice_type Light_1
soldier roman_velite, 40, 0, 0.8
mount_effect elephant +6, chariot +6
attributes sea_faring, hide_improved_forest, hide_long_grass, can_sap
formation 1.6, 2, 3.2, 4, 3, square
stat_health 1, 0
stat_pri 7, 2, javelin, 50, 6, thrown, archery, piercing, spear, 25 ,1
stat_pri_attr thrown
stat_sec 5, 2, no, 0, 0, melee, simple, piercing, sword, 25 ,1
stat_sec_attr no
stat_pri_armour 2, 3, 2, flesh
stat_sec_armour 0, 0, flesh
stat_heat 1
stat_ground 2, 0, 3, 0
stat_mental 4, normal, untrained
stat_charge_dist 30
stat_fire_delay 0
stat_food 60, 300
stat_cost 1, 270, 170, 30, 40, 270
ownership macedon


Le podemos cambiar las stats de ataque y defensa, los atributos, la moral, etc.
Un ejemplo: será más poderoso en ataque que el romano, con más munición (8 venablos), pero menor alcance (40 metros).
En defensa lo haremos más fuerte en habilidad, dejando iguales armadura y escudo. Tendrá más moral y estará entrenado.
Su coste aumentará a 420 denarios, consecuencia de su mayor eficacia.
La entrada quedará así:
type hostigador macedonio
dictionary hostigador_macedonio ; Velites
category infantry
class missile
voice_type Light_1
soldier roman_velite, 40, 0, 0.8
mount_effect elephant +6, chariot +6
attributes sea_faring, hide_improved_forest, hide_long_grass, can_sap
formation 1.6, 2, 3.2, 4, 3, square
stat_health 1, 0
stat_pri 9, 2, javelin, 40, 8, thrown, archery, piercing, spear, 25 ,1
stat_pri_attr thrown
stat_sec 6, 2, no, 0, 0, melee, simple, piercing, sword, 25 ,1
stat_sec_attr no
stat_pri_armour 2, 5, 2, flesh
stat_sec_armour 0, 0, flesh
stat_heat 1
stat_ground 2, 0, 3, 0
stat_mental 8, normal, trained
stat_charge_dist 30
stat_fire_delay 0
stat_food 60, 300
stat_cost 1, 420, 170, 30, 40, 420
ownership macedon


Esta unidad usa el modelo de los vélites romanos, codificado en la línea "soldier".
Esto deberá cambiarse según tengamos nuevas texturas y/o modelos.

Paso 2: descr_model_battle.txt (modelos y texturas)

Esta es la entrada del modelo roman_velite en dicho fichero:
type roman_velite
skeleton fs_semi_fast_javelinman, fs_semi_fast_dagger ; throwing spear/javelin & short sword
indiv_range 40
texture romans_julii, data/models_unit/textures/unit_roman_peasant_julii.tga
texture romans_brutii, data/models_unit/textures/unit_roman_peasant_brutii.tga
texture romans_scipii, data/models_unit/textures/unit_roman_peasant_scipii.tga
texture romans_senate, data/models_unit/textures/unit_roman_peasant_senate.tga
texture slave, data/models_unit/textures/unit_roman_peasant_slave.tga
model_flexi data/models_unit/unit_roman_velite_high.cas, 8
model_flexi data/models_unit/unit_roman_velite_med.cas, 15
model_flexi data/models_unit/unit_roman_velite_low.cas, 30
model_flexi data/models_unit/unit_roman_velite_lowest.cas, max
model_sprite slave, 60.0, data/sprites/slave_roman_velite_sprite.spr
model_sprite romans_senate, 60.0, data/sprites/romans_senate_roman_velite_sprite.spr
model_sprite romans_scipii, 60.0, data/sprites/romans_scipii_roman_velite_sprite.spr
model_sprite romans_brutii, 60.0, data/sprites/romans_brutii_roman_velite_sprite.spr
model_sprite romans_julii, 60.0, data/sprites/romans_julii_roman_velite_sprite.spr
model_tri 400, 0.5f, 0.5f, 0.5f


Si no tenemos nuevos modelos ni texturas, lo más sencillo es duplicar una textura ya existente, por ejemplo la de los rebeldes:
type roman_velite
skeleton fs_semi_fast_javelinman, fs_semi_fast_dagger ; throwing spear/javelin & short sword
indiv_range 40
texture romans_julii, data/models_unit/textures/unit_roman_peasant_julii.tga
texture romans_brutii, data/models_unit/textures/unit_roman_peasant_brutii.tga
texture romans_scipii, data/models_unit/textures/unit_roman_peasant_scipii.tga
texture romans_senate, data/models_unit/textures/unit_roman_peasant_senate.tga
texture macedon, data/models_unit/textures/unit_roman_peasant_slave.tga
texture slave, data/models_unit/textures/unit_roman_peasant_slave.tga
model_flexi data/models_unit/unit_roman_velite_high.cas, 8
model_flexi data/models_unit/unit_roman_velite_med.cas, 15
model_flexi data/models_unit/unit_roman_velite_low.cas, 30
model_flexi data/models_unit/unit_roman_velite_lowest.cas, max
model_sprite slave, 60.0, data/sprites/slave_roman_velite_sprite.spr
model_sprite macedon, 60.0, data/sprites/slave_roman_velite_sprite.spr
model_sprite romans_senate, 60.0, data/sprites/romans_senate_roman_velite_sprite.spr
model_sprite romans_scipii, 60.0, data/sprites/romans_scipii_roman_velite_sprite.spr
model_sprite romans_brutii, 60.0, data/sprites/romans_brutii_roman_velite_sprite.spr
model_sprite romans_julii, 60.0, data/sprites/romans_julii_roman_velite_sprite.spr
model_tri 400, 0.5f, 0.5f, 0.5f


Se ha copiado íntegramente la línea de la textura "slave" y se ha asignado a la facción "macedon". Lo mismo para el sprite.

Imaginemos que hemos hecho u obtenido (por medios legales espero) un modelo llamado macedon_skirmisher.cas y una textura llamada macedon_skirmisher.tga.dds.
Habrá que colocar el modelo (.cas) en la carpeta Data\models_unit y la textura (tga.dds) en una carpeta Data\models_unit\textures que deberemos crear si no existe en nuestra instalación.
Entonces tenemos que duplicar la entrada del modelo de velite, por ejemplo así:
type macedon_skirmisher
skeleton fs_semi_fast_javelinman, fs_semi_fast_dagger ; throwing spear/javelin & short sword
indiv_range 40
texture macedon, data/models_unit/textures/macedon_skirmisher.tga
model_flexi data/models_unit/macedon_skirmisher.cas, 8
model_flexi data/models_unit/macedon_skirmisher.cas, 15
model_flexi data/models_unit/macedon_skirmisher.cas, 30
model_flexi data/models_unit/macedon_skirmisher.cas, max
model_sprite macedon, 60.0, data/sprites/slave_roman_velite_sprite.spr
model_tri 400, 0.5f, 0.5f, 0.5f


En este caso debemos retocar otra vez nuestra nueva entrada de export_descr_unit, quedando así:
type hostigador macedonio
dictionary hostigador_macedonio ; Velites
category infantry
class missile
voice_type Light_1
soldier macedon_skirmisher, 40, 0, 0.8
mount_effect elephant +6, chariot +6
attributes sea_faring, hide_improved_forest, hide_long_grass, can_sap
formation 1.6, 2, 3.2, 4, 3, square
stat_health 1, 0
stat_pri 9, 2, javelin, 40, 8, thrown, archery, piercing, spear, 25 ,1
stat_pri_attr thrown
stat_sec 6, 2, no, 0, 0, melee, simple, piercing, sword, 25 ,1
stat_sec_attr no
stat_pri_armour 2, 5, 2, flesh
stat_sec_armour 0, 0, flesh
stat_heat 1
stat_ground 2, 0, 3, 0
stat_mental 8, normal, trained
stat_charge_dist 30
stat_fire_delay 0
stat_food 60, 300
stat_cost 1, 420, 170, 30, 40, 420
ownership macedon


Paso 3: export_units.txt (en la carpeta Data\text)

Ahora nuestra nueva unidad ya tiene aspecto (modelo y textura) y stats, pero no tiene nombre ni descripción.
Eso es lo que haremos ahora. Tomamos la entrada completa (triple) del vélite:
{roman_velite} Vélites

{roman_velite_descr}
Expertos en ocultarse en los bosques\nPueden esconderse entre la maleza\nZapadores\n\nLos vélites son hostigadores ligeros que vigilan la línea principal de combate de una legión mientras avanza.\n\nEstán armados con jabalinas, una espada corta y sin más protección que un pequeño escudo redondo. Su tarea es atosigar al enemigo antes de que comience el combate principal.\n\nSe les recluta de entre los ciudadanos más jóvenes, que carecen de experiencia (o de dinero para el equipo) para ser astero u otro tipo de infantería pesada.\n\nLos vélites romanos quedaron obsoletos tras la reforma de Mario. Históricamente, con Mario llegó el profesionalismo al ejército, que abandonó todos los requisitos de edad y propiedad. Los ciudadanos romanos ya no irían a la guerra como y cuando fuera su deber, sino que lucharían como ciudadanos-mercenarios a tiempo completo en las legiones.

{roman_velite_descr_short}
Los vélites son hostigadores ligeros que vigilan la línea principal de combate de una legión mientras avanza.


la copiamos al final del fichero y la cambiamos a algo así:
{hostigador_macedonio} Hostigadores macedónicos

{hostigador_macedonio_descr}
Son la leche. Hay que tener narices para ponerse delante y bla, bla, bla...

{hostigador_macedonio_descr_short}
Son la leche.


Nótese que hemos puesto el nombre que viene en la línea "dictionary" de export_descr_unit.
La unidad ya sería jugable en batallas personalizadas.


Paso 4: ficha e imagen informativa.

Para ello tenemos que hacer dos ficheros .tga:
#hostigador_macedonio.tga, que irá en la carpeta Data\ui\units\macedon
hostigador_macedonio_info.tga que irá en la carpeta Data\ui\unit_info\macedon

Si no existen estas carpetas en nuestra instalación debemos crearlas.
Hay varias maneras de hacer estos ficheros:

- Tomar unos ya existentes de una unidad parecida (velites, u otro hostigador) y modificarlas con un programa adecuado.
Para poder hacerlo hay que desempaquetar los packs ui_0.pak y ui_1.pak.

- Jugar una batalla con esa unidad, guardar la batalla y repetirla, tomando imágenes. Luego esas imágenes se recortan y re-escalan al tamaño apropiado.

- Usar 3ds max y hacer una renderización de la unidad, tomando una animación adecuada. Esto es más complicado y requiere tener el programa y algunos conocimientos básicos que se salen de los límites de este tutorial.

Paso 5: export_descr_buildings.txt

Esto sirve para hacer esta unidad reclutable en campaña.

Si lo tomamos como unidad de hostigadores pesados, podemos incluirla en este nivel:
archery_range requires factions { spain, scythia, germans, gauls, dacia, carthaginian, eastern, parthia, egyptian, greek, roman, }
{
capability
{
recruit "carthaginian slinger" 0 requires factions { spain, }
recruit "carthaginian peltast" 0 requires factions { spain, }
recruit "barb peltast gaul" 0 requires factions { gauls, }
recruit "barb peltast german" 0 requires factions { germans, }
recruit "barb slinger briton" 0 requires factions { britons, }
recruit "barb archer dacian" 0 requires factions { dacia, }
recruit "barb archer scythian" 0 requires factions { scythia, }
recruit "warband archer german" 0 requires factions { germans, }
recruit "warband archer dacian" 0 requires factions { dacia, }
recruit "warband archer scythian" 0 requires factions { scythia, }
recruit "warband huntsman gaul" 0 requires factions { gauls, }
recruit "barb ballista dacian" 0 requires factions { dacia, }
recruit "barb onager dacian" 0 requires factions { dacia, }
recruit "barb onager scythian" 0 requires factions { scythia, }
recruit "carthaginian peltast" 0 requires factions { carthage, }
recruit "carthaginian archer" 0 requires factions { numidia, }
recruit "carthaginian slinger" 0 requires factions { carthaginian, }
recruit "east peltast" 0 requires factions { armenia, pontus, }
recruit "east slinger" 0 requires factions { parthia, }
recruit "east archer" 0 requires factions { eastern, }
recruit "egyptian peltast" 0 requires factions { egyptian, }
recruit "egyptian slingers" 0 requires factions { egyptian, }
recruit "egyptian archer" 0 requires factions { egyptian, }
recruit "greek peltast" 0 requires factions { greek, }
recruit "greek archer" 0 requires factions { greek, }
recruit "greek ballista" 0 requires factions { macedon, greek_cities, }
recruit "roman velite" 0 requires factions { roman, } and not marian_reforms
recruit "roman light infantry auxillia" 0 requires factions { roman, } and marian_reforms
recruit "roman archer" 0 requires factions { roman, } and not marian_reforms
recruit "roman archer auxillia" 0 requires factions { roman, } and marian_reforms
recruit "roman ballista" 0 requires factions { roman, }
}


Simplemente tomamos la línea de greek peltast, la duplicamos y cambiamos el nombre de la unidad y la facción:
archery_range requires factions { spain, scythia, germans, gauls, dacia, carthaginian, eastern, parthia, egyptian, greek, roman, }
{
capability
{
recruit "carthaginian slinger" 0 requires factions { spain, }
recruit "carthaginian peltast" 0 requires factions { spain, }
recruit "barb peltast gaul" 0 requires factions { gauls, }
recruit "barb peltast german" 0 requires factions { germans, }
recruit "barb slinger briton" 0 requires factions { britons, }
recruit "barb archer dacian" 0 requires factions { dacia, }
recruit "barb archer scythian" 0 requires factions { scythia, }
recruit "warband archer german" 0 requires factions { germans, }
recruit "warband archer dacian" 0 requires factions { dacia, }
recruit "warband archer scythian" 0 requires factions { scythia, }
recruit "warband huntsman gaul" 0 requires factions { gauls, }
recruit "barb ballista dacian" 0 requires factions { dacia, }
recruit "barb onager dacian" 0 requires factions { dacia, }
recruit "barb onager scythian" 0 requires factions { scythia, }
recruit "carthaginian peltast" 0 requires factions { carthage, }
recruit "carthaginian archer" 0 requires factions { numidia, }
recruit "carthaginian slinger" 0 requires factions { carthaginian, }
recruit "east peltast" 0 requires factions { armenia, pontus, }
recruit "east slinger" 0 requires factions { parthia, }
recruit "east archer" 0 requires factions { eastern, }
recruit "egyptian peltast" 0 requires factions { egyptian, }
recruit "egyptian slingers" 0 requires factions { egyptian, }
recruit "egyptian archer" 0 requires factions { egyptian, }
recruit "hostigador macedonio" 0 requires factions { macedon, }
recruit "greek peltast" 0 requires factions { greek, }
recruit "greek archer" 0 requires factions { greek, }
recruit "greek ballista" 0 requires factions { macedon, greek_cities, }
recruit "roman velite" 0 requires factions { roman, } and not marian_reforms
recruit "roman light infantry auxillia" 0 requires factions { roman, } and marian_reforms
recruit "roman archer" 0 requires factions { roman, } and not marian_reforms
recruit "roman archer auxillia" 0 requires factions { roman, } and marian_reforms
recruit "roman ballista" 0 requires factions { roman, }
}


Esta operación habrá que repetirla con los niveles de edificio superiores, copiando esta nueva línea. Si no lo hacemos, al construir el siguiente la unidad ya no será reclutable.
Tutoriales: modding ...
Categoría: Tierra de Mods
emo
CAPÍTULO 7. UNIDADES DE BATALLA

b) Unidades a partir de M2TW Vanilla


Animado por el éxito de los turdulos, empecé a vislumbrar la facción turdetana entera. El paso fácil siguiente eran los lanceati (lanceros ligeros), que serían parecidos a los turdulos. Se construirían de modo similar, con la túnica más corta de los aztecas, piernas desnudas pero calzados con “albarcas” (textura), mangas cortas, cabeza descubierta con capacete de tiras de cuero, lanza larga, y con caetra en lugar de escudo grande.
Así pues he tenido que “mezclar” gracias a la librería de elementos el cuerpo, piernas, pies y brazos del arquero azteca, la cabeza descubierta del almogávar, la lanza de los sargentos, el escudo de los huscarles (sí, aunque parezca mentira creo que es el que mejor se ajusta al tamaño de la caetra), y el capacete de los arqueros armenios (toma ya).
Los retoques en la textura del turdulo se ven aquí:

Le hice una albarcas, con mayor o menor fortuna, le puse las dos caras sin capacete del almogávar, y le preparé dos capacetes de tiras de cuero con diferentes tonos, para intentar darle algo de variedad. Luego hubo que hacer ligeras modificaciones en el modelo: ajuste del mapeado de los capacetes (fue lo más largo de todo) y el del cinturón (donde estaba en el turdulo me parecía demasiado bajo).
En los ficheros de texto, simplemente hay que copiar las entradas del turdulo y renombrar el modelo, las texturas y la unidad. El resultado final es:


Pero me atraía la posibilidad de preparar a partir de este modelo uno mejorado (ug1 = upgrade 1), que hay que preparar con más armadura. Lo que se me ocurrió es prepararle una placa pectoral redonda, pero no en la textura (parecía demasiado fácil) sino como modelo 3d. Para ello he cogido..., el correaje de los arcabuceros!!!!, al que le eliminé los cartuchos colgando. Luego en Milkshape (me parece que manipula más fácilmente los elementos con skin que 3ds max, que es más completo pero también más complicado) dupliqué la correa, hice una transformación especular y con el mini-escudo de los jabalineros preparé la placa pectoral, ajustando los correajes más al cuerpo más delgado del modelo nuevo. De ahí el correaje y los escudos que aparecen en la textura. Luego el incluir la placa en el modelo fue una agonía, porque ni la librería me deja trabajar sobre un modelo ya hecho, ni la opción “merge” de la herramienta mesh_to_m3ds me funcionaba con este elemento. Así que tuve que introducir todos los elementos del lancero ligero en la librería, así como la placa pectoral, y crear el nuevo modelo “ab initio”. Sin embargo fue rápido, al tener todos los elementos ya mapeados. El resultado final fue este, al lado de los ya conocidos turdulos:

Todavía no estoy satisfecho 100% del resultado. Los capacetes no son totalmente transparentes en las zonas descubiertas, y creo que es culpa de la textura normal, ya que el canal alfa en esas zonas no es totalmente negro. También me gustaría incluir una grebas de piel como segundo complemento protector de armadura, aunque igual lo dejo para una segunda mejora (ug2).

El siguiente reto era más difícil: los caetrati. ¿En qué sentido? Pues porque había que incluir piezas que no correspondían a modelos del M2TW, sino que lo interesante, para no duplicar trabajo, sería importar esas piezas del modelo RTW (cas). Esas piezas deberían ser: la falcata como arma activa y el casco de nervios. No se pueden exportar elementos directamente desde el cas cargado en 3ds max porque la configuración del esqueleto es diferente.

Por eso acudí a otra herramienta, que hasta ahora sólo me había dado disgustos: RTWcas_to_M2TWmesh. Lo que hace es traducir los huesos de un cas en los de un mesh, reasignando vértices. No es muy fiable y yo no he conseguido hacer funcionar a un modelo reconvertido, pero para este tipo de trabajo parecía ser interesante, sobre todo porque son elementos asignados a un solo hueso y se trasladan con facilidad al nuevo esqueleto. Además la cabeza del caetrati es un elemento aparte, con lo que se facilita el trabajo. Sólo eliminando los vértices de la cara (dejando el hueco) se consigue un modelo del casco de nervios, y la falcata se exporta directamente. También he tomado una vaina de un modelo cualquiera.

Al construir el modelo completo a partir de la librería se observan varios fallos que hay que corregir: el casco resulta demasiado pequeño y hay que agrandarlo un 10% aproximadamente; la vaina es demasiado grande y hay que reducirla al tamaño de la falcata; la espada y su vaina van unidas según los modelos originales; le he puesto un correaje simple para darle variabilidad (será opcional) y hay que ajustarlo más al cuerpo; la falcata y el casco no llevan comentarios, y hay que ponerselos. En la textura he incluido el casco de nervios original del ITW y he dejado el correaje liso y oscuro:

Con todo esto queda un modelo así:


Luego hay que preparar los ficheros de texto. Realmente no sé cómo lo hice, pero al principio el juego no se cargaba. “Undefined error” y directamente al escritorio en dos segundos de carga. El problema estaba en algún fichero corrupto. Lo que hice fue borrar las nuevas entradas y hacerlas de nuevo a partir de la del jabalinero español, que tiene las animaciones correctas. Gracias a ello el modelo se cargó finalmente pero.... ¡arghhh! Tenía múltiples fallos: algunos soldados sin pies, la falcata y su vaina no se veían. Así que vuelta al modelo. El tema de los pies fue fácil de solucionar. El problema está en los comentarios al modelo, porque el grupo era el mismo que el del correaje y al ser este opcional, ponía los pies también como opcionales. Cambiando los nombres....solucionado. Retoqué también el del arma secundaria (falcata) pero este modelo modificado daba error en eso todavía.

Finalmente he encontrado la solución, y es llamar al grupo secondaryactive0. Yo lo llamaba secondaryactive1, como en los jabalineros afganos, pero parece ser que el número indica la mejora de arma. Aprovechando el éxito, he visto algo que no me gustaba. Al ir la vaina agrupada con la falcata, no aparece hasta que el arma secundaria no es visible. ¡Vaya manera tienen los de CA de desperdiciar un uso inteligente del modelo! ¿Qué he hecho entonces? Aplicar la lógica. La vaina será siempre visible, así que la despego del modelo y la pongo fija. ¿Qué será visible cuando se use la jabalina? Pues el mango de la falcata envainada. Solución: copiar la falcata, borrar la hoja y colocar la empuñadura en la vaina, agruparla con la jabalina pero asignada al hueso pelvis. Resultado: cuando la jabalina primaria esté en uso, el modelo tendrá la falcata envainada; cuando se use la falcata, el arma primaria desaparece, con lo que la empuñadura ya no será visible. Le he puesto también dos jabalinas extra en la mano izquierda. Este es el modelo:


Y este es el resultado en batalla. Me gusta además el efecto de “ensuciamiento” que tiene el juego por defecto. Al final de la batalla acaban los soldados con distinto nivel de limpieza.


Siguiente reto: los scutati.
Continuará...
Blog del Friki-Modde ...
Categoría: Tierra de Mods
emo
CAPÍTULO 7. UNIDADES DE BATALLA

b) Unidades a partir de M2TW Vanilla


Ayer vimos el shock que me llevé al intentar poner en marcha una unidad de turdulos. Yo no fui capaz de encontrar el motivo objetivo para que fallase, así que me puse en contacto con el creador de la herramienta librería y además hice un test adicional. Reconstruí un modelo de almogávar desde la librería con todos sus elementos, comprobando que el resultado era el mismo: síndrome de Cristo (modelo crucificado) y elementos invisibles.

Finalmente Knight Errant encontró el fallo del sistema de librerías, que consiste en que el modelo debe ser construido como si fuera una animación con una sola “frame”. Esto se puede hacer fácilmente en Milkshape, y siguiendo sus instrucciones lo hice primero con los almogávares reconstruidos, funcionando a la perfección. Luego hice lo mismo con el modelo de turdulos y he aquí el resultado:


Ya hemos progresado, porque todo el modelo está animado correctamente y se ve completo, menos el nuevo escudo redondo grande. Revisando el modelo en Milkshape encontré el motivo: estaba asignado al hueso pelvis (extraño, ya que en 3ds max yo lo había asignado al hueso Lelbow). Una reasignación de los escudos, guardado y conversión en mesh dieron este resultado:


Ahora el modelo ya estaba bien, pero por algún motivo los soldados parecían tener un “aura” brillante. Si no era el modelo, la razón debería estar en las texturas, y por ello las investigué. Si abrimos una textura normal del juego, el canal RGB es como ya hemos visto... ¡pero se me había olvidado el canal alfa. Aquí hay una vista de ambos canales, y mientras el alfa aquí es negro con tonos de grises, el de mis ficheros era totalmente blanco.


Así que la solución fue copiar el contenido del canal RGB en el alfa, y modificar el brillo y el contraste hasta conseguir algo así.


Una vez usadas las nuevas texturas normales del modelo y los attachments, finalmente se consigue esto:


Continuará...
Blog del Friki-Modde ...
Categoría: Tierra de Mods
emo
CAPÍTULO 7. UNIDADES DE BATALLA

b) Unidades a partir de M2TW Vanilla


Mi primera idea fue intentar trasladar el ingente trabajo de unidades de ITW, desde RTW a M2TW. Sin embargo las diferencias de ambos motores gráficos y un par de ensayos con las herramientas disponibles me demostraron que a corto plazo parecía más factible modificar unidades de M2TW para hacerlas similares a las de ITW.

Este es mi trabajo para conseguir poner en juego la primera unidad de ITW en M2TW: los turdulos. ¿Qué “piezas” nos hacen falta para ello?
- Cabeza de tipo occidental, con capacete.
- Túnica por encima de las rodillas
- Mangas cortas con brazos desnudos
- Piernas desnudas y descalzas
- Lanza larga
- Escudo redondo grande
- Accesorios que le den al modelo algo de “alegría” y variedad.

Lo primero que hice fue estudiar un número razonablemente elevado de modelos de M2TW. Para ello fue preciso convertirlos a ms3d y luego abrirlos, sea con Milkshape o con 3ds max, para verlos con detalle. Algunos puntos del turdulo son difíciles de encontrar en M2TW, ya que casi ninguna unidad va descalza y la mayoría usan trajes de manga larga. Por ello me decidí a usar el cuerpo, piernas y brazos del modelo de arquero azteca, en combinación con la cabeza del almogávar. El arma será una lanza larga de infantería, como la que usan los sargentos, y el escudo tendrá que ser una ampliación de otro más pequeño, porque en M2TW no he encontrado ningún escudo redondo grande (son todos ovalados).

Gracias a Knight Errant, estoy usando una herramienta, todavía en desarrollo, que permite crear librerías de elementos de modelos 3d. A partir de los modelos que ya he mencionado, he creado una librería de elementos. De esta forma se puede crear de la nada un modelo completo.


Con la idea plasmada anteriormente, este es el modelo “Frankenstein” creado a partir de trozos de M2TW. No es muy impresionante, pero tendremos que mejorarlo con la textura.


Antes de eso, la única labor importante de modelado es aumentar el tamaño del escudo. Como llevan “skin” (todos los elementos de los modelos de M2TW lo llevan) y para evitarme problemas, he eliminado la piel de uno de ellos, he aumentado el tamaño del “mesh”, he vuelto a crear otra skin y le he dado peso 1 a todos los vértices respecto al hueso bone_Lelbow. Una vez centrado con los escudos originales, los he borrado y he clonado el escudo 9 veces como copia. Este es el resultado.


Como la mayoría del modelo proviene de los arqueros aztecas, empiezo la textura a partir de ella. Si se asignan todos los elementos, excepto arma y escudos, a esta textura, el resultado inicial es asi:


Desplegando el mapa uvw de los elementos que provienen del modelo azteca (cuerpo, brazos, piernas y pies), se ve que las zonas de la textura que hay que respetar son las siguientes:


Lo primero es dejar lo que existe más acorde con lo que se busca. Aquí se ve el primer paso, eliminando las líneas grises de la túnica y también las sandalias.


El resultado en el modelo es este:


Ahora lo que hago, para no matarme la cabeza, es copiar las partes de las texturas correspondientes al resto de elementos: las cabezas de los almogávares, y las bolsas y vainas de los billmen. Las he cambiado un poco para que no quede tan “limpio”, y he incluido las franjas rojas en la túnica y un cinturón. En algunos casos ha habido que modificar un poco los mapas uvw para que cuadren más o menos bien.


Y así es como queda ahora:


Antes de terminar con la textura hay que hacer otra cosilla. Para dar más realismo a los modelos y ahorrar polígonos, M2TW usa una textura adicional que se llama “normal”. Simula el relieve de tejidos y elementos, y para generarla hay que bajarse el plugin de nvidia.


Al usarlo queda esto, que es la textura en modo normal:


Para las armas es preferible hacer un solo fichero de textura para toda la facción. Por razones que no vienen al caso, empecé a trabajar para los turdetanos sobre la textura bizantina. De momento lo único que he hecho ha sido cambiar los escudos redondos.


Corrigiendo el mapeado, el resultado final es este. La verdad es que he reducido el número de escudos a sólo 6, porque no se me ocurría otra textura diferente.


Ya tenemos las texturas dds y el modelo max, pero hay que transformar todo al formato necesario para M2TW. El modelo se puede exportar como ms3d y luego a mesh. Las cuatro texturas (soldado, armamento y las dos normales) hay que transformarlas de dds a texture.

Finalmente se debe incluir en el fichero battle_models.modeldb. Este fichero es un quebradero de cabeza. Suerte que hay accesible una versión formateada ( http://forums.totalwar.org/vb/showthread.php?t=79455 ), con saltos de línea donde deben estar, de modo que es más comprensible y más fácil de manejar. Además, con ese fichero venía un programita para comprobar la sintaxis del fichero modificado, comprobando así que no hay errores tontos al contar el número de caracteres del path completo de un fichero. Lo que he hecho ha sido copiar la entrada completa de un lancero bizantino (sin arma secundaria) y modificar el nombre de la unidad y los paths de los ficheros.
 7 turdulo 
1 4 
39 unit_models/_Units/turdulo_v2_lod0.mesh 121 
39 unit_models/_Units/turdulo_v2_lod0.mesh 900 
39 unit_models/_Units/turdulo_v2_lod0.mesh 2500 
39 unit_models/_Units/turdulo_v2_lod0.mesh 6400 
2 
6 sicily 
50 unit_models/_Units/textures/turdulo_nuevo2.texture 
57 unit_models/_Units/textures/turdulo_nuevo2_normal.texture 
51 unit_sprites/byzantium_Southern_Peasants_sprite.spr 
5 slave 
50 unit_models/_Units/textures/turdulo_nuevo2.texture 
57 unit_models/_Units/textures/turdulo_nuevo2_normal.texture 
47 unit_sprites/slave_Southern_Peasants_sprite.spr 
2 
6 sicily 
58 unit_models/_Units/textures/attachments_turdetania.texture 
65 unit_models/_Units/textures/attachments_turdetania_normal.texture 0  
5 slave 
58 unit_models/_Units/textures/attachments_turdetania.texture 
65 unit_models/_Units/textures/attachments_turdetania_normal.texture 0  
1 
4 None 
10 MTW2_Spear 0  
2 
18 MTW2_Spear_primary 
14 fs_test_shield 0 
16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002 
11 turdulo_ug1 
1 4 
67 unit_models/_Units/ES_Peasant_Padded/se_spear_militia_ug1_lod0.mesh 121 
67 unit_models/_Units/ES_Peasant_Padded/se_spear_militia_ug1_lod1.mesh 900 
67 unit_models/_Units/ES_Peasant_Padded/se_spear_militia_ug1_lod2.mesh 2500 
67 unit_models/_Units/ES_Peasant_Padded/se_spear_militia_ug1_lod3.mesh 6400 
2 
6 sicily 
44 unit_models/_Units/textures/turdulo1.texture 
71 unit_models/_Units/ES_Peasant_Padded/textures/ES_Peasant_normal.texture 
55 unit_sprites/byzantium_Southern_Peasants_ug1_sprite.spr 
5 slave 
71 unit_models/_Units/ES_Peasant_Padded/textures/ES_Peasant_rebels.texture 
71 unit_models/_Units/ES_Peasant_Padded/textures/ES_Peasant_normal.texture 
51 unit_sprites/slave_Southern_Peasants_ug1_sprite.spr 
2 
6 sicily 
61 unit_models/AttachmentSets/Final Greek_byzantium_diff.texture 
61 unit_models/AttachmentSets/Final Greek_byzantium_norm.texture 0  
5 slave 
57 unit_models/AttachmentSets/Final Greek_slave_diff.texture 
57 unit_models/AttachmentSets/Final Greek_slave_norm.texture 0  
1 
4 None 
10 MTW2_Spear 0  
2 
18 MTW2_Spear_primary 
14 fs_test_shield 0 
16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002 


Una vez hecho todo esto, hay que incluir también la nueva unidad en export_descr_unit. Ahora de momento los stats no nos preocupan, sólo que funcione. Así pues se copia una unidad de lanceros sin arma secundaria, se cambia el nombre del modelo a turdulo y hay que asegurarse de que la facción capaz de reclutarla sea Sicilia.
 type             turdulo
dictionary       turdulo      ; Spear Militia
category         infantry
class            spearmen
voice_type       Light
banner faction   main_spear
banner holy      crusade
soldier          turdulo, 60, 0, 1
attributes       sea_faring, hide_forest, can_withdraw, free_upkeep_unit
formation        1.2, 1.2, 2.4, 2.4, 5, square
stat_health      1, 0
stat_pri         5, 2, no, 0, 0, melee, melee_blade, piercing, spear, 25, 0.6
;stat_pri_ex      0, 0, 0
stat_pri_attr    spear, spear_bonus_8
stat_sec         0, 0, no, 0, 0, no, melee_simple, blunt, none, 25, 1
;stat_sec_ex      0, 0, 0
stat_sec_attr    no
stat_pri_armour  0, 1, 6, flesh
;stat_armour_ex   0, 4, 0, 0, 1, 6, 6, flesh
stat_sec_armour  0, 0, flesh
stat_heat        2
stat_ground      1, -2, 3, 2
stat_mental      3, normal, trained
stat_charge_dist 30
stat_fire_delay  0
stat_food        60, 300
stat_cost        1, 310, 125, 75, 60, 310, 4, 70
armour_ug_levels 0, 1
armour_ug_models turdulo, turdulo_ug1
ownership        sicily, slave
;unit_info        5, 0, 7 


Por último hay que poner la traducción de la unidad para que salga en el juego. De momento saldrá con ficha de campesino, pero todo a su tiempo.
 {turdulo}Turdulos
{turdulo_descr}Turdulos
{turdulo_descr_short}Turdulos 


Desgraciadamente las cosas no son tan fáciles, y cuando se intenta jugar con la unidad nos ocurre esto:


Mañana, la solución al enigma..Continuará...
Blog del Friki-Modde ...
Categoría: Tierra de Mods
emo
CAPÍTULO 7. UNIDADES DE BATALLA

a) Herramientas


Los modelos 3d de batalla de M2TW son diferentes a los de RTW. Tienen extensión .mesh y son imposibles de modificar si no los transformamos a otro formato. Para eso necesitamos la herramienta Mesh_2_ms3d, que se puede descargar en: http://www.twcenter.net/forums/download ... le&id=1276

Vamos a ver cómo funciona. En los ficheros desempaquetados tenemos la carpeta unit_models y dentro varias carpetas. Ahora nos interesa abrir una unidad y las tenemos en _units, donde están agrupadas por culturas y tipos de unidades (fundamentalmente tipo de armadura). Voy a probar una unidad de la carpeta en_highlander, los kerns irlandeses. Abrimos la herramienta Mesh_2_ms3d y seleccionamos File>Convert>.MESH to .MS3D:
Una vez seleccionado el mesh deseado (en este caso el lod0, que es el modelo más detallado) obtenemos una imagen como esta:
Clickamos en el botón “Proceed” y tenemos que darle un nombre al nuevo modelo. Finalmente nos sale un mensaje de transformación completada. He visto que hay modelos que corresponden a versiones viejas de modelos y que los programadores del juego no se han molestado en borrar, así que habrá mensajes de errores por ese motivo.
Ya hemos obtenido entonces el fichero irish_kerns_lod0.ms3d, que ocupa 270 kb en lugar de los 118 kb que ocupaba el .mesh original. Esto nos da una idea del motivo por el que se usa este último formato.

El formato .ms3d se abre con un programa llamado Milkshape 3D. Es un programa que se puede descargar en versión trial para 30 días. El obtener la clave de registro cuesta 25 euros, mandándolos en un sobre al desarrollador. Yo lo hice y no tuve ningún problema. Abrimos entonces el nuevo fichero con Milkshape. El aspecto del programa es similar a 3ds max, pero más simple.


Ahora hay que explorar un poco el modelo para ver sus características. En la pestaña Groups vemos un listado de elementos.


Lo primero que llama la atención es que hay elementos con el mismo nombre numerados. Esa es la fuente de variabilidad de los soldados en juego. En este caso tenemos dos tipos de cabeza: head_long_hair y head_short_hair. En principio se podría pensar que podría haber soldados con dos cabezas superpuestas, pero la respuesta a esto está en el botón “Comment”.


Tenemos tres datos. El primero es el tipo de elemento. Todas las cabezas son del mismo tipo “Head”, así que considera los dos modelos como representantes del mismo elemento, aunque tengan nombres distintos. Las armas deben ser de los tipos primaryactive1 y secondaryactive1 para que el juego las reconozca (según creo).
El último puede ser 0 y 1. El 0 obliga al juego a elegir un elemento de ese tipo, lo que quiere decir que no habrá soldados sin cabeza (afortunadamente). El 1 se puede usar con accesorios (morrales, puñales al cinto, cascos) si queremos que unos soldados lleven y otros no, aleatoriamente.

En la pestaña Joints tenemos información muy interesante e importante.


Lo primero es que el número y nombre de los huesos no es el mismo que en RTW. Faltan los tres huesos de la capa y el cuerpo tiene algunos huesos más para hacer el movimiento más fluido. Eso hace que los modelos de RTW no sean directamente trasladables a M2TW.
Otra diferencia más sutil, y que también ayuda a mejorar los movimientos, es que un vértice puede estar asignado a más de un hueso.

Nos falta asignar la textura. En Groups se ve cómo cada elemento tiene asignado un tipo de material: <Mat.: Figure> o <Mat.: Attachment>
Eso se explica en la pestaña Materials. Pero primero hay que convertir la textura deseada en .dds con el convertidor. Se obtiene un fichero así:

En principio el modelo no tiene materiales asignados. Si seleccionamos la figura, luego al clickar en el botón marcado en rojo podemos seleccionar la textura correspondiente y ya nos aparece el modelo texturizado.


Para ver el mapeado hay que seleccionar los elementos que queremos ver. Me interesan los dos “cuerpos” que tiene el modelo. Se seleccionan en la pestaña Groups y luego vamos al menú Window>Texture Coordinate Editor. Una vez abierto hay que seleccionar el elemento y según el tamaño de la pantalla hay que reducir la escala de la textura. Aquí vemos dónde están mapeados los dos cuerpos. Esto es lo que hace diferentes a los soldados, ya que cada uno lleva el traje de un color diferente.


¿Y para qué son los otros? Se usan para los modelos mejorados. Algunas unidades tienen modelos mejorados cuando se mejoran en arma y/o armadura. Esos modelos utilizan la misma textura, pero con otro mapeado.

Hasta hace poco esta era la única alternativa. Pero Knight Errant ha desarrollado una nueva herramienta (con la pobre ayuda del que escribe) para importar modelos ms3d en 3ds max.
Se puede descargar aquí: http://forums.totalwar.org/vb/showthread.php?t=96043
Con ese script podemos abrir el mismo modelo de kern en 3ds max:


Y luego podemos asignar dos texturas, una a los elementos de la figura y otra a los “attachments”, como deber ser:


Existe por tanto la opción de hacer con 3ds max las modificaciones, ya que es un programa más potente, y luego exportar el fichero ms3d para convertirlo luego en .mesh.

Continuará...
Blog del Friki-Modde ...
Categoría: Tierra de Mods
emo
CAPÍTULO 3. MAPA DE CAMPAÑA
Nos falta escalar el mapa radar para conseguir que se vea entero en el recuadro del minimapa.
Los ficheros originales de M2TW tienen 250x125 pixels y 500x250 pixels. Los de ITW tienen 246x156 y 492x312. Si los transformo a las medidas de M2TW se verán deformados y si no lo hago, sólo podré ajustar una de las dimensiones.
Veamos qué pasa si ajusto el ancho:

Sigue dando problemas, así que ajusto la altura.

También he aprovechado para modificar descr_sm_factions y dar a cada facción los colores de ITW.

CAPÍTULO 4. MODELOS DE CAMPAÑA

a) Personajes

Ahora hay que dar a los personajes del mapa de campaña el aspecto antiguo de ITW. Afortunadamente M2TW usa el mismo tipo de modelo 3d para el mapa de campaña y en teoría se deberían poder trasplantar directamente de un juego a otro.
Inspeccionando los ficheros de M2TW en data encontramos los que nos interesan: descr_character.txt y descr_model_strat.txt. El primero nos codifica el tipo de modelo para cada facción y cada personaje (general, capitán, espía, asesino, diplomático, mercader, princesa, sacerdote, obispo, bruja, hereje, inquisidor y no sé si me dejo alguno). El segundo asigna el modelo .cas y la textura para cada uno.

Así que lo único que hago es copiar la línea necesaria en descr_character y las entradas completas para general y oficial en descr_model_strat.

Luego, evidentemente, hay que copiar los .cas y las texturas en la instalación de M2TW. Tras un par de intentos fallidos, y leyendo los foros, resulta que este tipo de ficheros no pueden ir en la instalación del mod, sino en el data original de M2TW. Suerte que no interfieren (o eso creo) con el juego original.

b) Edificios
Esto puede ser algo más peliagudo, pero de momento lo que pretendo es que aparezca el símbolo de la facción en los estandartes de campaña. Esto está codificado en los ficheros symbols1.tga.dds a symbols8.tga.dds en la carpeta banners. Igual que antes, estos cambios sólo surten efecto si están en el data original de M2TW.
Lo que hago es copiar los ficheros de ITW y luego hay que asignar a cada facción el simbolito de uno de los cuadrantes (cada fichero symbols tiene cuatro símbolos). Están numerados de 0 a 19 en los 5 primeros. En RTW los otros 12 eran para rebeldes, pero como en M2TW no hay límite de unidades a 21, no sé si funciona de otra forma.
En cualquier caso los que me interesan están numerados de 0 a 19 y tengo que cambiar el dato standard_index (en descr_sm_faction) para que cuadre.

El resultado para los ilergetes es este:

Ahí tenemos al general y oficial ilergetes con los estandartes del color adecuado y con el símbolo que les corresponde. Veamos lo que ocurre con los cartagineses:

También están correctos. Únicamente el mapa radar sigue sin adecuarse. Quizá habrá que retocar la interfaz, pero eso será otro día.

Continuará...
Blog del Friki-Modde ...
Categoría: Tierra de Mods
emo
TUTORIAL DE ANIMACIONES

PARTE 3. MODIFICACIONES AVANZADAS DE ANIMACIONES


El método de la parte 2 sirve muy bien para elementos del modelo que se mantienen estáticos respecto al centro absoluto del mismo.
Vamos a ver un ejemplo. Si tomamos la animación SG 02 stand ready, el músico se coloca en esta posición y se mantiene prácticamente igual en todas las "fotos fijas".
Veamos el efecto de girar el codo 90º. Esta es la posición inicial:


Y esto es como queda después del giro en la posición fija 1.


Si ahora vamos a la posición 12 (marcada en azul), vemos que la posición del brazo se mantiene. Es decir, el giro que hemos hecho se considera válido para todas las "fotos fijas" de la animación.


Pero ahora vamos a hacer lo mismo con otra animación más "animada", SG 17 High Swing overhead Attack.cas.
Hacemos el mismo giro del brazo en la foto1.


Y al ir a la foto fija 10 esto es lo que ocurre:


Si moviéramos el hueso en cualquier otra foto en lugar de la primera, el movimiento se reproducirá en todas las demás.

Pero habrá ocasiones en las que no querremos eso, sino cambiar las posiciones en cada foto de modo diferente, para que el efecto final sea completamente distinto.
¿Cómo se hace eso? Pues buscando buscando, he encontrado la solución en el foro totalwar.org.
Tenemos que clickar en el menú inferior la opción "Autokey", que se pone en color rojo, así como la escala por donde se mueve el selector de imágenes fijas.


Vamos a hacer el mismo cambio en la primera imagen, giro de 90º del codo izquierdo.


Pero ahora ese movimiento se refleja sólo en esa foto fija, quedando las demás como estaban. Vease la imagen 10, diferente de la anterior.


Usando este sistema y con paciencia (muuuuucha paciencia), se pueden hacer verdaderas virguerías.
Así es como queda.

No es perfecta, porque el movimiento de la trompa es "a saltos" pero es lo mejor que he podido hacer modificando a mano una a una cada frame. Con la animación original, la trompa se clavaba en el suelo y atravesaba varias veces el cuerpo del músico.

Hasta aquí todo lo que sé sobre esto. :oops:
Tutoriales: modelos ...
Categoría: Tierra de Mods
emo
TUTORIAL DE ANIMACIONES

PARTE 2. MODIFICACIÓN DE ANIMACIONES


Según hemos visto, ya tenemos preparados los ficheros para modificar las animaciones. ¡Pero ahora tenemos que modificarlas!
Para eso necesitamos 3ds max y el script para importar-exportar ficheros .cas. De esto ya se habló en el tutorial sobre modelos.

Abrimos 3ds max, "Run script", y cargamos el modelo del músico galo.


Ahora tenemos que cargarle la animación que queramos modificar. Vamos a cambiar la animación "SG 03 MARCH.cas".


Al importarla, el modelo ya no está en la posición "crucificada", sino que adopta la posición adecuada para la marcha.


Si movemos el cursor debajo de la escena podemos ver cómo se mueve el modelo, ya que la animación está dividida en 21 "fotos fijas", que al pasar de una a otra nos dan la sensación de movimiento.


¿Cómo modificamos la animación?
Pues tomamos la primera "foto fija" y cambiamos la posición de los huesos del modelo. Lo lógico es hacer rotaciones, como se ve en la figura, ya que los humanos no solemos alargar o acortar nuestros huesos.
Trabajando con la herramienta rotación sobre los tres huesos del brazo (hombro = Lupperarm, codo = Lelbow y muñeca = Lhand), conseguimos que el modelo se lleve la boquilla de la trompa a la boca para que sea creible que va tocando al marchar al combate.


Podemos mover el cursor para ver cómo queda la nueva disposición en cada una de las fotos fijas.


Luego hacemos lo mismo con el brazo derecho, para que sujete semejante trompa con las dos manos. El músico es un guerrero fuerte, pero no es un superheroe.


Cuando la animación nos gusta definitivamente, debemos exportarla en forma de fichero cas. Para eso tenemos la herramienta marcada y la guardamos con el mismo nombre que la animación original.

Con esta nueva animación en la carpeta fs_musico_galo, podemos comprimir los esqueletos y animaciones, y colocamos los ficheros nuevos en Data\animations del directorio de nuestra instalación de RTW.
Si todo ha ido bien, cuando juguemos con una unidad que lleve el músico veremos esto:


Espero que haya servido.
Tutoriales: modelos ...
Categoría: Tierra de Mods
emo
TUTORIAL DE ANIMACIONES

PARTE 1. PREPARACIÓN DE FICHEROS


Para poder hacer unas animaciones que luego nos sirvan en RTW tenemos primero que preparar el sistema de ficheros.

1) Herramientas y preparación

Lo primero es descargarse una herramienta indispensable: xidx de Vercingétorix.
http://www.twcenter.net/forums/download ... file&id=32

Luego nos preparamos una carpeta donde descomprimimos la herramienta, y nos aparece una carpeta src, un ejecutable xidx.exe y 5 ficheros bat, extract_animations, extract_skeletons, pack_animations, pack_skeletons y xidxShell (marcados en azul en la figura). También aparece otros para sonidos, pero como no los vamos a usar, los he eliminado.


En esta misma carpeta tenemos que copiar estos cuatro ficheros: pack.dat, pack.idx, skeletons.dat y skeletons.idx (marcados en rojo en la figura). Todos se encuentran en la carpeta Data\animations del directorio Rome - Total War.

Para poder trabajar tenemos que descomprimir estos ficheros. Clicamos en extract_animations.bat, nos sale una ventana DOS, y obtenemos una carpeta data\animations, donde están todas las animaciones que usa el juego, y un fichero anim_list.txt, donde tenemos la lista completa de animaciones que se han descomprimido.



Luego clicamos en extract_skeletons.bat, de nuevo se abre una ventana en DOS, y obtenemos un montón de ficheros, la mayoría que empiezan por fs_, y un fichero list.txt, con la lista de todos los esqueletos del juego.


Si miramos descr_model_battle veremos que cada soldado tiene uno o dos esqueletos asignados y que precisamente son estos fs_loquesea.
Ya podemos borrar los cuatro ficheros originales pack y skeletons, ya que el paso final será crear unos nuevos.

2) Creación de un nuevo esqueleto y asignación de animaciones


Cada soldado del juego utiliza un "esqueleto" (skeleton), que está animado con una serie de movimientos (animaciones) para cada circunstancia de la batalla (parado, en guardia, andando, corriendo, atacando, recibiendo impactos, etc, etc).
Si nosotros cambiamos una de estas animaciones, cambiarán los movimientos de todos los esqueletos que la utilicen.
Por ello, mi recomendación es que creemos un esqueleto nuevo si lo que queremos es introducir modificaciones particulares para algunos tipos de unidades.

En primer lugar hay que escoger el esqueleto más parecido al que nosotros queramos crear. Voy a hacer como ejemplo un nuevo músico a partir del esqueleto del estandarte.
Buscamos el fs_standard_bearer, lo duplicamos y le cambiamos el nombre a fs_musico_galo. Ya tenemos nuestro esqueleto que es idéntico al original en cuanto que usa las mismas animaciones.


Pero ahora lo que queremos es que utilice otras animaciones diferentes a las que usa el esqueleto original. Para ello duplicamos primero todas las animaciones que usa el original en una carpeta nueva. Como hacer eso a mano es difícil, el gran mago Vercingétorix preparó el xidxShell.bat que nos ayuda en esta tarea.
Clicamos en xidxShell.bat y nos vuelve a salir la ventana en DOS. Ahora tenemos que hacer tres operaciones consecutivas:
a) escribimos: chpath[espacio]fs_musico_galo[espacio]copy[espacio]all[espacio]data/animations[espacio]data/animations/fs_musico_galo[enter]
Con ello hacemos que se cree una nueva carpeta fs_musico_galo, donde se van a copiar todas las animaciones utilizadas por dicho esqueleto, que son las mismas que usa fs_standard_bearer.
b) Cuando vuelve a salir <xidx> escribimos: chpath[espacio]fs_musico_galo[espacio]all[espacio]data/animations[espacio]data/animations/fs_musico_galo[enter]
Es decir, lo mismo que antes sin copy. La manera más sencilla es dar a la flecha hacia arriba, se nos copia la orden anterior y con las flechas y la tecla retroceso borramos copy.
Esto lo que hace es reasignar el path de las animaciones del esqueleto fs_musico_galo a su correspondiente carpeta. Así podremos modificar esas animaciones y sólo este esqueleto se verá afectado.


c) Escribimos: fork[espacio]echo[espacio]chpath[espacio]fs_musico_galo[espacio]list[espacio]all[espacio]data/animations/[espacio]|[espacio]xidx[espacio]--shell[espacio]>>[espacio]anim_list.txt
De esta forma se añaden al final de anim_list.txt los path de todas las animaciones duplicadas. Esto es importantísimo para luego poder reempaquetarlas.


Manualmente tenemos también que abrir list.txt y añadir una línea al final que ponga fs_musico_galo.

3) Re-empaquetamiento de los ficheros.

Este paso habrá que hacerlo al final de todo el proceso de transformación de las animaciones, pero al ser similar a los anteriores mejor lo explico aquí.
Una vez que tenemos creado el nuevo esqueleto, la carpeta con sus animaciones, su asignación, y las nuevas anim_list y list, podemos generar los nuevos ficheros empaquetados simplemente clicando pack_skeletons.bat y pack_animations.bat. En ambos casos volverá a abrirse una ventana en DOS que nos dirá que se han creado satisfactoriamente o nos dará mensajes de error, dependiendo del problema encontrado.

En el próximo capítulo entraremos "al turrón" de como modificar animaciones.
Tutoriales: modelos ...
Categoría: Tierra de Mods
emo
Se ha creado un nuevo foro en Tierra de Mods para tutoriales sobre modding.
<!-- l <a class="postlink-local" href="www.celtiberos.net/viewforum.php?f=77&qu...ewforum.php?f=77<!-- l

Se han trasladado allí los hilos correspondientes y será donde ser irán actualizando los tutoriales.
¿Como hacer un MOD?
Categoría: Medieval 2 Total War
emo
TUTORIAL RAMIRIANO: CAPAS FÁCILES (más vale tarde que nunca)

Pues eso, que seguro que a más de uno le hubiera sido muy útil, pero fue ayer, lidiando con un modelo que tenía mal asignada una capa, cuando he encontrado la manera de incluir fácilmente capas en otros modelos. Así que, tutorialcillo al canto.

La primera premisa es disponer de un modelo max bueno, que tenga la capa como elemento separado, no formando parte del resto del cuerpo. Este es un ejemplo. Aquí el elemento capa se llama manto. Si alguien necesita un modelo así, que me lo pida y se lo envío.


Ahora importamos el modelo al que queremos añadir la capa. En File (menú) usamos la opción Merge y en el explorador seleccionamos el modelo que lleva la capa.


Al seleccionar ese modelo nos salen todos sus elementos, y seleccionamos "manto" y OK. Luego nos salen varios menús de opciones, como ya dijimos en otro tutorial anterior. Seleccionar "Use Scene Material", y decir que sí a la unión de la capa con el hueso correspondiente.


Lo primero a resolver es la duplicidad de huesos. Con la capa se han añadido cuatro huesos que hay que borrar. Seleccionamos los cuatro nuevos y los borramos (tecla Supr).


Ahora seleccionamos la capa, y vemos que no tiene asociado ningún hueso.


Lo primero es añadirselos (botón Add). Una capa está unida a los tres huesos de capa (cloak) y la parte superior tiene que estar unida al torso. Así que seleccionamos los cuatro y "Select".


Ahora teniendo el hueso torso seleccionado en la lista de la derecha seleccionamos en el modelo todos los vértices de la capa. En "Weight Properties" tenemos que tener la opción "Normalize" seleccionada y ponemos un valor 1, como se ve en el dibujo.


El paso siguiente es desligar la parte "colgante" de la capa del hueso torso, y unirla a los otros tres. Seleccionamos las tres filas de vértices inferiores de la capa y abrimos la tabla de pesos. Evidentemente todos tienen peso 1 para el torso.


Manualmente asignamos valores de 1 para el hueso capa-superior, capa-media y capa-inferior para cada una de las tres filas de vértices. Este es el resultado. Como el hueso torso sigue seleccionado vemos ahora que sólo la parte superior de la capa está en rojo, indicando que sólo esa parte está asociada al torso.


Salimos del mesh, guardamos y este es el resultado al importar una animación. La capa se mueve, pero no rígidamente, siguiendo la animación de los huesos de la capa.


Esto se puede hacer con cualquier elemento que tenga que estar asociado a más de un hueso. Para armas, escudos, cascos, etc es mucho más fácil como ya se vio en los primeros tutoriales.
Espero que os sea útil.
Tutoriales: modelos ...
Categoría: Tierra de Mods
emo
NUEVO TUTORIAL RAMIRIANO: VISUALIZANDO TRANSPARENCIAS EN LOS MODELOS

Me refiero a los modelos, porque visualizar las transparencias en LAS modelos sólo lo podemos hacer en la pasarela Cibeles y sitios así.

Esto es un paso importante para darnos cuenta de si el canal alfa de la textura (.dds) está correcto o no.

Lo primero es cargar la textura, os recuerdo que es pulsando la M. Una vez abierto el menú, pulsamos en Bitmap y nos sale el explorador, donde seleccionamos la textura correcta.


El modelo tiene partes no deseadas que deben convertirse en transparentes, como se ve en el escudo que se señala con la flecha roja. Para ver si efectivamente se hacen transparentes tenemos que seleccionar "Alpha" e "Image Alpha" abajo en el menú (recuadros en rojo), y una vez hecho esto pulsar el botoncico que salen dos pelotillas (arriba, marcado también en rojo).


Al hacer esto veremos que se abre otro menú con varias opciones. Tendremos nuestra textura indicada en "Difuse Color". Hay que pulsar y arrastrar la textura hasta la opción "Opacity". Se lanzará otro menú pequeño donde tenemos que escoger "Copy" y darle al OK.


Una vez hecho esto tendremos activado el segundo botoncillo (la pelotilla sobre el plano) que es para que apliquemos las nuevas condiciones del material al modelo. Hecho eso tenemos que darle a la especie de cubo de Rubik para verlo realmente. Ahora desaparecen las partes transparentes pero hay zonas blancas. Esto se debe a la iluminación. Salimos del editor de materiales.


Para cambiar la iluminación tenemos que pulsar 8 y nos aparece el siguiente menú. En "Ambient" hay un recuadro en negro. Si pulsamos aparece el menú de colores y podemos reducir la iluminación en la barra "Value" moviendo el cursor blanco. Yo lo suelo poner hacia el centro y se obtiene una buena visión del modelo.


Ahora ya estamos en condiciones de corregir posibles errores en el canal alfa, usando el photoshop sobre el fichero .tga.dds. Si consideráis necesario, escribiré otro tutorialcillo sobre ese tema.
Tutoriales: modelos ...
Categoría: Tierra de Mods
emo
NUEVO TUTORIAL RAMIRIANO: LOS VÉRTICES Y LA MADRE QUE LOS P****

Pues sí amigos, siguiente entrega de tutoriales sobre modelado con 3ds max, y hoy vamos a hablar de los vértices, fundamentalmente de su peso. Como regla inicial decir que un modelo cas sólo puede funcionar si todos los vértices están asociados a un solo hueso ("peso" = 1).
Esto no crea problemas en los "accesorios" (armas, escudos) porque en la jerarquía están asociados a un solo hueso, y automáticamente su peso es 1. El problema viene con la parte o partes no asociadas a ningún hueso, lo que se conoce como "body". Para que siga el movimiento del esqueleto, hay que asignar cada uno de los vértices al hueso correcto y con peso 1.

1. Planteamiento del problema

Veamos un problema práctico. Este es un modelo aparentemente correcto. Todo en su sitio, el programa nos deja exportar el cas sin mensajes de error. Todos tan contentos.


Sin embargo debemos ser desconfiados, y como último test antes de meter el modelo en el juego es conveniente importar también una animación para ver como queda. Esta es una unidad a caballo y si cargamos una animación este es el resultado:


Este problema surge cuando manipulamos cualquier elemento no unido directamente a un hueso, como el "body" del modelo. Algunos casos que me han ocurrido:
a) Al intentar incluir en el modelo (merge, ver tutoriales anteriores) partes del "body" de otro modelo. Por ejemplo capas. Al importarlas se incluyen también todos los huesos del modelo de partida. Al borrarlos, se borran todos los enlaces de los vértices de esa parte importada a los correspondientes huesos. En este caso el modelo no se puede exportar como cas (mensaje de error).
b) Cuando se intenta fundir esa pieza sin enlaces, 3ds max asigna vértices a huesos según proximidad (esto es suposición mía), pero sin respetar la regla de peso =1. Entonces tampoco se puede exportar el cas.
c) Si dejamos que el programa haga automáticamente la valoración de peso = 1, entonces nos puede dar resultados como el de arriba.

2- Detección del problema

Para visualizarlo debemos reimportar el modelo y es mucho más cómodo trabajar sin textura. Para ello se pulsa M y luego en el icono que parece el cubo de rubik para que no muestre la textura.
Tenemos que convertir entonces el "body" en una malla editable, pulsando sobre "Editable Mesh" y decimos que sí cuando nos pregunte:


Volvemos a hacer click en "Editable Mesh" (ahora ya es editable, porque aparecen los puntitos) y vamos a abrir el modificador "Skin", pulsando el signo + que tiene al lado. Nos sale la opción "Envelopes", y clickeando encima nos sale el editor. Lo primero marcamos vértices y desmarcamos el resto de opciones. Nos sale una imagen del modelo en azul con zonas rojas.


La zona roja indica la influencia del hueso que tengamos seleccionado a la derecha. El primero es el hueso pelvis, y en la figura se ve su zona de influencia.
Pero si giramos el modelo veremos "cosas extrañas":

Hay zonas de la capa asignadas a la pelvis, lo que no tiene mucho sentido. Así pues tenemos que solucionar el problema.

3- Solución del problema

Para ello tenemos que abrir la "tabla de pesos" (weight table) de los vértices, más abajo en el menú de la derecha. De primeras nos salen todos los vértices, pero en el menú de la parte inferior podemos seleccionar que salgan sólo los vértices asociados al hueso seleccionado.


Ahora tenemos la tabla reducida a la pelvis, y cuando clickeamos sobre un vértice, éste sale en el modelo rodeado en un tono rosa. Hemos encontrado un foco de problemas, porque hay vértices en un hombro asociados a la pelvis. Para cambiar la asignación ponemos el cursor en la casilla correspondiente al hueso torso y escribimos 1 (luego enter). Automáticamente coloca un valor de 0 al "peso" de la pelvis.


Si hacemos eso con los tres vértices mostrados en la imagen, la zona que estaba roja en el hombro ya está azul, indicando que no hay vértices mal asignados allí. Esto no es absoluto, porque a veces puede haber un vértice algo oculto o que si está aislado no dé color rojo de manera significativa. Esos son los más difíciles de cazar.


(Nota: para la caza de vértices recalcitrantes, también se puede usar la opción de ver sólo vértices seleccionados e ir seleccionando los posibles vértices problemáticos, viendo a qué hueso están asignados)

El resto del trabajo es repetir estos pasos con todos los huesos, reasignando el peso 1 al hueso correcto. Para saber qué hueso es el correcto lo mejor es revisar un modelo del RTW original, donde se pueden ver los límites de las articulaciones.
La reasignación de todos los puntos da como resultado, después de importar la misma animación, lo que se ve en la imagen. Han desaparecido todos los efectos extraños que tenía el modelo original.



Bien, amigos, esto es todo de momento. Espero que sirva de ayuda.
Tutoriales: modelos ...
Categoría: Tierra de Mods
emo
CAPÍTULO 4: ELIMINAR/AÑADIR/SUSTITUIR ACCESORIOS

Uno de los aspectos más fáciles, pero también más versátiles, es la posibilidad de añadir accesorios al modelo, a partir de todos los disponibles en el juego original o en los mods.

Parte 1: Guardar elementos

Por ello, y si se va a hacer de forma sistemática, lo mejor es disponer de una "librería" de accesorios, guardándolos en forma de ficheros .max aislados.
Para hacerlo, tenemos que seleccionar el elemento que queramos guardar con alguna de las herramientas de selección. En el ejemplo vamos a guardar el arco (arma primaria). Una vez seleccionado usamos "Save selected".


Vamos a abrir el fichero arco.max para ver su apariencia. Vemos que realmente hemos guardado no sólo el arco, sino todo el sistema de huesos que va desde la "raíz de la escena" hasta el arma. Esto es interesante porque no sólo guardamos la figura 3D, sino también información importante para el uso de ese elemento.


Parte 2: Eliminar elementos

También es posible, cómo no, eliminar elementos que no necesitemos. Por ejemplo, vamos a borrar a la doncella el espadón que lleva. Seleccionamos el arma secundaria y vamos a Edit -> Delete.


El modelo queda entonces así (se recomienda ir guardando modelos levemente modificados):


Parte 3: Añadir elementos

Sobre un modelo, podemos incluir ahora elementos que pertenecían a otros modelos. En este caso, una vez eliminada la espada, vamos a incluir a la doncella otra arma secundaria. Para eso se utiliza la opción File -> Merge


Voy a usar la hoz de los druidas galos, que se guardó de la manera explicada arriba. Al seleccionar la hoz, aparece la jerarquía del fichero. Seleccionamos únicamente el arma. Esto es muy importante, ya que si duplicamos algún hueso, luego el fichero .cas que exportemos tendrá errores fatales.


El primer problema que nos encontramos es que la hoz tiene el mismo nombre (arma primaria) que otro elemento ya existente (arco). Usamos la opción renombrar automáticamente y luego le cambiaremos el nombre manualmente.


Lo siguiente que pregunta (siempre) es que hay un material duplicado con el mismo nombre. Usamos la opción "Usar material de la escena":


Finalmente una opción muy importatante. El programa detecta que la hoz estaba unida a un cierto hueso, que también existe en el modelo, y nos pregunta si la unimos a él. Le decimos que sí.


Una vez hecho todo esto, aquí tenemos el resultado, nuestra doncella "la segadora"


¿Ya hemos terminado? Veamoslo poniendole el pellejo (recordad, M para el editor de materiales en un tutorial anterior):


La hoz no presenta los colores adecuados y vamos ver el motivo. Para ello incuimos el modificador Unwrap UVW y lo editamos (ver tutorial 2):

(Observad que el elemento se llama primary weapon01. Se me ha olvidado renombrarlo, pero se puede hacer manualmente en ese recuadro sin más que clickear y escribir. Si el elemento no se llama secondary weapon, el juego no lo reconocerá como arma y no podremos darle valores de ataque y demás)

Es evidente que no puede quedar bien, ya que la textura original no tiene la hoz. Una opción es simularla usando los materiales presentes en la textura. Aquí he simulado el mango con la textura de los pantaloncillos, y la hoja de la hoz con la parte metálica del casco.


En cualquier caso, sería preferible modificar totalmente la textura, eliminando lo que no se use (si hay algo), si no lo hay reduciendo cosas de tamaño para hacer hueco y finalmente copiando la textura de la hoz desde el fichero correspondiente.
Al final habrá que introducir retoques en el mapeado UVW del modelo para que todo quede en su sitio.

Es evidente, que si cambiamos armas que se usen de modo diferente (por ejemplo espada y lanza), habrá que asignar animaciones diferentes al modelo. Eso se hace en descr_model_battle.txt, donde se tiene que cambiar el "skeleton" asignado. Para ello hay que buscar un modelo original que tenga esa arma y copiar lo que pone allí (por ejemplo fs_spearman para lancero).
Tutoriales: modelos ...
Categoría: Tierra de Mods
emo
CAPITULO 3: POSICIONES RELATIVAS

Vamos a ver cómo se organizan los objetos en los modelos .cas, lo que llamaremos "jerarquía".

En un tutorial anterior vimos cómo un modelo está compuesto por una serie de huesos (bones), pero que no están dispuestos al azar.
Para verlo, podemos clickear en el botón de la derecha, como se ve en la figura. Nos aparece una nueva pantalla, con letras muy pequeñas, que podemos ampliar usando la herramienta lupa señalada abajo (zoom arrastrando el ratón).


En todos los modelos se sigue un esquema básico: raíz de la escena, pelvis y de ella las dos piernas (R y L), y otro árbol que incluye abdomen, torso y a partir de éste los dos brazos (R y L), la cabeza y la capa (cloak).
El arma primaria (arco) está asociada a la mano izquierda, y la secundaria (espada) a la derecha.
Se me olvidaba decir que hay una excepción a esta jerarquía, que me dio muchos problemas la otra noche. Son los honderos. En ese caso existe un hueso adicional, del arma, ya que esta tiene un movimiento adicional independiente de la mano, el giro.
Vemos cómo el carcaj, que movimos en otro tutorial, está unido al hueso "pelvis".

¿Cómo podemos comprobar si la posición es adecuada? ¿Es preciso importar el modelo al juego y probarlo?
La respuesta es NO. Si tomamos las animaciones y las desempaquetamos con el programa xidx (buscar en totalwar.org o en twcenter.net), podremos importar una posición "real" y ver cómo queda.
Para ello tenemos, en el menú de herramientas (martillo) la opción importar animación.


Hay que buscar una animación que corresponda a un arquero, y he escogido la primera que he encontrado, que es una posición alerta.
Al importarla, vemos cómo el carcaj no acompaña al cuerpo, ya que la posición relativa respecto a la pelvis se mantiene.


Para solucionarlo tenemos que cambiar la jerarquía del modelo. Hacemos un reset de la escena y volvemos a cargar el modelo y la textura.
Si abrimos la jerarquía existe una herramienta de enlazar elementos (señalada en rojo) y si clickeamos en el carcaj y arrastramos hasta unirlo al torso...


...conseguimos cambiar la jerarquía según queríamos.


Si ahora volvemos a importar la misma animación, vemos cómo ha cambiado la posición relativa del carcaj respecto del cuerpo, ya que ahora sigue los movimientos del torso, al que está enlazado.


Próxima entrega: nuevos accesorios para tu modelo (como si fuera la barbie)
Tutoriales: modelos ...
Categoría: Tierra de Mods
emo
CAPÍTULO 2. LOS PELLEJOS (skins)

Vamos a repasar los aspectos más básicos de la asociación de una textura al modelo y cómo modificarla ligeramente.

Parte 1. Aplicar la textura

Para ello tenemos que abrir el editor de materiales, que se hace pulsando la letra M (no sé si hay otra manera escondida en los menús).
Nos aparece el editor de las pelotas (vease la parte superior), y lo que nosotros queremos hacer es aplicar un Map, así que pulsamos ese botón.


Aparece un menú desplegable, con una textura asignada por defecto. Si pulsamos ahí...


...pasamos un menú de parámetros del map y si pulsamos en ese path...


...nos aparece un explorador, donde incluso se previsualiza la textura. Como no soy supersticioso (porque da mala suerte), vamos a abrir la textura del uniforme amarillo.
La textura aparece en la primera pelota y además se instala sobre nuestro modelo.


Parte 2. Retoques del mapeado

Si pensamos en el modelo como un conjunto de polígonos, la textura se aplica correctamente si asociamos esos polígonos en las zonas requeridas.
Para ver esto, tenemos que "desplegar" la textura. Vamos a ver primero el de la chica guerrera. Al seleccionar el cuerpo, vemos que el "mesh" (ni idea de cómo se traduce) tiene encima un modificador "skin".
Para desplegar la textura vamos al menú Modifiers, UV Coordinates y pinchamos en la opción Unwrap UVW.


Entonces sobre "skin" a la derecha, aparece un nuevo modificador "Unwrap UVW", cuyos parámetros se pueden modificar más abajo.
Si pulsamos Edit, se nos abre la textura con los polígonos superpuestos, indicándonos cómo está distribuida.


Como experimento, vamos a ver qué pasa si movemos una porción aislada de la textura, por ejemplo la pluma del casco.
Pulsando el botón de las flechitas, arriba a la izquierda, podemos seleccionar puntos y moverlos por la textura.
Seleccionamos el rectángulo que hay encima de la pluma, y lo movemos a la zona del carcaj. Inmediatamente en el modelo la pluma desaparece y aparece un rectángulo gris.
Pero como era sólo un experimento, cerramos el editor de UVW, clickeamos con el botón derecho en Unwrap UVW y decimos Delete.
Eso borra el modificador y la textura mapeada vuelve a su posición original.


Si os habéis dado cuenta, en el mapeado no aparecía nada sobre el dibujo del carcaj. Esto es debido a que es un objeto independiente del cuerpo.
Para retocarlo, seleccionaremos el carcaj, con el cursor de la flecha (o por su nombre), y aunque no tiene modificador "skin", hacemos lo mismo que antes:
modifiers -> UVW Coordinates -> Unwrap UVW, y luego Edit. Ahora sí que vemos el mapeado del carcaj.


Como experimento adicional, podemos cambiarle el aspecto al carcaj. Me apetecía darle un toque como de cuero. Si tenemos ese tipo de textura en el dibujo, podemos mover el mapeado hacia allí.
Con la herramienta circular (arriba a la izquierda) podemos girar selecciones del mapa. Si tomamos el rectángulo del carcaj, lo podemos girar 90º y luego con el botón de las flechas, como antes, moverlo a la zona de la túnica, donde parece de cuero.
Instantáneamente el carcaj en el modelo cambia de color.


Si nos gusta como queda, podemos guardar esta modificación, haciendo click derecho en "Unwrap UVW" y seleccionar Colapse All. La modificación pasa a ser permanente.


Para comprobarlo guardamos el modelo como .max y luego lo exportamos como .cas (ahora es el modelo doncella2).
Al abrirlo y asociar la textura comprobamos que ha tenido efecto.
Este sistema no sirve para el modificador del cuerpo, pero eso lo dejamos para otro capítulo.
Tutoriales: modelos ...
Categoría: Tierra de Mods
emo
CAPÍTULO 1. LO BÁSICO

Empezamos, por el principio: cómo abrir, conocer, modificar ligeramente y guardar ficheros .cas

Edit: como resulta difícil de encontrar, os dejo aquí el enlace de descarga del script para importar/exportar ficheros cas, por Vercingetorix, versión 0.69 (la que yo uso sin problemas):
[attachment=0:16994jxb]<!-- ia0 CAS_IE_b69.rar<!-- ia0 [/attachment:16994jxb]Una vez descomprimido hay que colocar el fichero CAS_IE_b69.mr en la carpeta 3dsmax\scripts

Punto 1: Script para importar-exportar ficheros .cas

A la derecha se abre el menú de herramientas, con la pestaña del martillo.
Aparece un botón con la opción Run Script (abajo). Al pulsar se abre el explorador en la carpeta scripts del directorio de 3dsmax, y seleccionamos el que queremos.


Una vez hecho eso, en Utilities aparece una nueva opción: RTW Import/Export.
Al pulsar aparecen tres nuevos botones, abrimos RTW Import y pulsamos Import CAS.
De nuevo se abre un explorador para abrir el modelo que queramos. Yo siempre me copio previamente los modelos para modificar en la carpeta Scenes (así los encuentro más rápidamente).


Punto 2: Partes del modelo y selección

El botón con la flecha únicamente nos permite clickear con el puntero en la pieza que queramos.
Hay que tener mucho cuidado porque a veces se pueden seleccionar objetos "sensibles" del modelo.
Al principio yo recomiendo usar la opción de selección por nombre.
Al pulsar nos aparece una lista con todos los objetos del modelo.
Fundamentalmente hay montones de huesos (bones), una "raiz de escena" y en este caso tenemos cuatro objetos adicionales: el cuerpo (greek_guardess), las dos armas (primaria y secundaria), y lo que andábamos buscando, el carcaj (quiver).
Pulsamos en él y le damos a Select. Nos aparece el objeto recuadrado.


Punto 3: Movimientos

Para mover objetos (sólo los accesorios, no tocar huesos ni el cuerpo), se pueden usar dos botones.
El primero es el de movimiento recto. Al pulsarlo nos aparecen ejes de movimiento.
Aquí se ve cómo se puede pasar el carcaj del lado derecho al izquierdo del modelo.
Recomiendo (sobre todo al principio) hacer movimientos sólo a lo largo de los ejes marcados, para evitar "desapariciones misteriosas".


En esta imagen se ve cómo se puede poner el carcaj a la espalda, pero sólo con movimientos rectos, la posición no queda natural.


Para eso tenemos la opción de movimiento giratorio. Al dar a ese botón nos aparecen circulos en las proyecciones y una esfera en la perspectiva.
Con un poco de práctica, y combinando giros con movmientos, se puede colocar el carcaj en una posición más natural.


Punto 4: Guardado

Si ya estamos satisfechos con el cambio, lo mejor es guardar el nuevo modelo.
En File usando Save As (como en todo programa) se puede guardar el modelo tipo .max. Yo prefiero hacer siempre un guardado de este tipo.


Una vez hecho esto, podemos ir de nuevo al menú de herramientas (martillo), acudir a Export CAS y se nos abre el explorador.
Guardamos con el nombre que queramos y ya está.


Una comprobación del directorio nos permite ver que el fichero original y el nuevo ocupan prácticamente lo mismo.


Próximo capítulo: las texturas o "pieles".
Tutoriales: modelos ...
Categoría: Tierra de Mods
emo
CeltiberoKarmipoka escribió:
Gracias por la info, Ramiro, pero ese día, jueves, trabajo -tu sabes-. :furia:

Ya, ya :cry: , lo único que este tipo de "curso" más parece una serie de conferencias, por lo que si me entero de las demás, y si tenemos suerte y no las ponen todas los jueves por la tarde, podrías encontrar alguna interesante.

Ya te contaré. ;)
Curso sobre el agua ...
Categoría: Historia
emo
Se me olvidaba el problemilla que ha dado origen al hilo.

El oficial no es propio de los akontistai, sino que deberá estar presente en la mayoría de las unidades griegas, al menos en las de élite. Por favor, prueba a usar otra unidad, no vaya a ser específico de esta unidad (cosas más raras he visto :roll: ) y me vuelva loco antes de tiempo buscando un error en el modelo del oficial.

Saludos.
Errorcillo observado ...
Categoría: Iberia Total War
emo
Por si a alguien le interesa (Karmi?), me acabo de enterar de esto:

Coincidiendo con el año Expo, la Delegación de Aragón de la Sociedad Española de Estudios Clásicos, en colaboración con la Facultad de Filosofía y Letras y el Departamento de Ciencias de la Antigüedad, ha organizado el IV Curso de Actualización Científica sobre el Mundo Clásico bajo el lema Aqva Antiqva: fuentes, ríos y mares en la Antigüedad Clásica. El curso tendrá lugar en la Biblioteca de Humanidades "María Moliner" (Campus de San Francisco) los jueves por la tarde entre el 6 de marzo y el 24 de abril.

El próximo jueves 6 de marzo a las 17'30 h. tendrá lugar la inauguración del ciclo, corriendo dicha sesión inaugural a cargo de D. Manuel Martín Bueno, Catedrático de Arqueología en la Universidad de Zaragoza, quien hablará sobre

[b]El agua en las ciudades o cómo nos cambia la vida el agua,
[/b]
o sobre los problemas de gestión hídrica en el Valle Medio del Ebro en la Antigüedad ilustrándolo con el modelo de abastecimiento de agua del Mvnicipivm Avgvsta Bilbilis (Calatayud).


Conferenciante: D. Manuel Martín Bueno, Catedrático de Arqueología (UZ).
Conferencia: El agua en las ciudades o cómo nos cambia la vida el agua
Curso: Aqva Antiqva: fuentes, ríos y mares en la Antigüedad Clásica
Lugar: Salón de Actos de la Biblioteca de Humanidades "María Moliner"
Fecha: jueves, 6 de marzo de 2008
Hora: 17'30 h


Coordina: José A. Beltrán Cebollada (Filología Latina-Dpto. de Ciencias de la Antigüedad)
Ana C. Vicente Sánchez (Filología Griega-Dpto. de Ciencias de la Antigüedad)

Supuestamente el mensaje me debería haber llegado con un programa adjunto, que se perdió en el camino. Cosas de esta nuestra universidad. :roll:
Curso sobre el agua ...
Categoría: Historia
emo
Pues yo me estoy releyendo La Promesa del Almogávar. Por cierto, a ver si alguien crea un hilo sobre el libro, o rescata el antiguo, que el libro lo merece. Además coincidió que la semana pasada tuve que viajar a Montpellier, pasando (sólo vistas desde la autopista, que iba con la prisa pegada al c***) por Narbona y Beziers. Y se siente algo especial tras haber leido La Promesa.

Antes de este me lei El Caballero del Templo, de José Luis Corral. No me acabó de convencer. Una trama demasiado lineal y con poca profundidad. Muy predecible.

Antes de ese, el otro libro de la primera entrega de novela histórica: "Imprimatur". Trata de finales del siglo XVII, en la época del asedio de Viena por los turcos, en una posada romana, donde se dan cita intrigas a favor y en contra del Papa (Inocencio III era?) y de su majestad cristianísima, Luis XIV de Francia. Expone una hipótesis interesante sobre el papel de Inocencio en el ascenso de la casa de Orange, tanto en Holanda como finalmente en el trono inglés. No sé si tiene buena base histórica, pero al menos es entretenido de leer. Mi única pega es que el meollo de la intriga casi detectivesca es un poco fantasioso desde el punto de vista científico.
Encuesta lectora
Categoría: Biblioteca
emo
@Konstantinos
Estoy volviendo a cargar el blog del friki-modder y en breve iré subiendo los antiguos tutoriales rescatados de las profunidades del Averno informático.
Ve mirando las actualizaciones de esta sección y puedes ir preguntando sobre los aspectos concretos que quieras ir modificando.
Saludos. :D
¿Como hacer un MOD?
Categoría: Medieval 2 Total War
emo
CAPÍTULO 3. MAPA DE CAMPAÑA

A la hora de transferir una campaña de RTW a M2TW es imprescindible explorar los archivos.
Veamos la carpeta data\world\maps\base de los dos juegos. Dejando aparte los ficheros map.rwm (que genera el juego) y map_heights.hgt (que no hace falta), la diferencia es que tenemos dos ficheros nuevos: descr_sounds_music_types.txt y map_fog.tga.
Luego en la carpeta data\world\maps\campaign\imperial_campaign las diferencias no son muy notables, sólo que no hay imágenes de los líderes de facción en M2TW y existen dos mapas para las condiciones de victoria de cada facción, supongo que uno para gran campaña y otro para la campaña corta. En cualquier caso esto indica que la estructura de ficheros para ambos juegos es muy parecida.

a) Los ficheros gráficos
Como parece ser que funcionan de la misma forma, he copiado los mismos ficheros de ITW a las carpetas correspondientes de Mod_Spain1, incluyendo un fichero map_fog.tga totalmente blanco de 493 x 313 pixels, el tamaño de map_ground_types.tga.
Los ficheros map_armenia y demás, se han renombrado como map_venice, etc.

b) Los ficheros de texto
Aquí la labor es más complicada, ya que no sirven los de ITW ni los originales, y hay que combinarlos para hacer una campaña que funcione.
En la carpeta base sirven los ficheros de ITW y he copiado descr_sounds_music_types.txt, borrando todas las referencias a las regiones. No sé si sirve de algo pero...
En el fichero descr_regions del ITW ha habido que cambiar algunos parámetros: la facción por defecto (cambiar las sugeridas como transposición), los rebeldes (dejando los rebeldes propios de la cultura de M2TW) y los recursos (dejando sólo slaves como recurso general). Además ha habido que añadir una línea con las religiones, que de momento son todas iguales.


Los cambios en descr_regions exigen la modificación del fichero imperial_campaign_regions_and_settlement_names.txt de la carpeta text. Se puede usar el original de ITW, pero por si acaso he eliminado los espacios entre al nombre interno (entre {}) y el externo, como aparecen en M2TW. Como he dicho antes, hay que eliminar el mismo fichero .txt.strings.bin para que el juego genere el nuevo.

Respecto a la carpeta imperial_campaign:
descr_events.txt: se han eliminado todos los eventos que indican posición en el mapa (por si interfieren con el nuevo mapa)
descr_mercenaries.txt: se ha dejado vacío
descr_regions_and_settlement_name_lookup.txt: se ha trasladado el de ITW (aunque se dice que no se necesita)
descr_win_conditions.txt: se ha reducido al máximo, dejando la región capital como decisiva en los dos tipos de campaña y con un cierto número de regiones necesarias para la victoria.

El fichero descr_strat es muy complejo y necesita una atención especial.
Me parece más eficaz partir del fichero de ITW y adaptarlo a las condiciones de M2TW. Lo primero es sustituir las facciones: romans_julii por russia, carthage por turks, etc.

Luego he eliminado todos los recursos (ya se incluirán después). En cada facción hay datos nuevos o propiedades que hay que reseñar, como ai_label (he mantenido las originales), dead_until_resurrected (ya existía en RTW, lo que implica cambiar otro fichero, descr_sm_factions) para las facciones que no están de inicio en el mapa, y denari_kings_purse (ni idea de para qué sirve). Esto hay que ajustarlo para cada facción, aunque de momento se deja lo original para no liar. Luego cada enclave, del nivel mostrado en ITW, debe llevar edificios que correspondan con la facción/cultura/religión de la facción gobernante. Lo he hecho a base de buscar en el fichero original de M2TW y copiar.

Al final de cada facción vienen los personajes del árbol genealógico y los ejércitos. Estos se han configurado con ejércitos de la misma facción de M2TW. Respecto al árbol había que elegir si mantener el de ITW o el de M2TW (más fácil). He decidido pasar al de ITW, con lo que habrá que modificar otros ficheros también. Los rasgos y séquito son los de M2TW, por si acaso no son los mismos, exactamente, que los de RTW. Hay peculiaridades de formato (indicación de “male”, comas y espacios, etc) y para eso hay que comparar con el fichero de M2TW. Se han incluido princesas cuando era preciso, usando nombres de mujer del fichero de ITW. Otro aspecto a tener en cuenta es si la facción en M2TW usa o no apellidos. Es mejor mantener la tendencia original para evitar problemas innecesarios.

Por último esos cambios hay que mantenerlos en los rebeldes.


He tomado dos decisiones que afectan a otros ficheros:
- Nombres: para usar los de ITW hay que usar el fichero descr_names.txt de la carpeta data y modificarlo con el nombre de las facciones de M2TW. Además hay que incluir el fichero names.txt en la carpeta text. He reproducido el formato de M2TW (sin espacios entre } y la traducción) para evitar problemas.
- El carácter de facción aparente o no al comienzo de la campaña. En RTW esto viene codificado en el fichero descr_sm_faction.txt y es preciso indicar en la facción si aparece por un evento (spawned_on_event). Aquí no lo he incluido y la campaña funciona, luego parece no ser necesario, aunque imagino que si realmente luego la facción aparece, entonces sí que habrá que indicarlo.

Pues veamos si funciona:
[attachment=1:2md6aq9a]<!-- ia1 mapa_ITW_en_M2TWb.JPG<!-- ia1 [/attachment:2md6aq9a]
¡La campaña se carga! El mapa es el de ITW y los enclaves también. Esta es la zona celtíbera, que está codificada por el hre (holy roman empire). Desgraciadamente el tamaño del radar_map no parece el indicado y habrá que cambiarlo. Veamos qué pasa al dar al botón de final de turno:
[attachment=0:2md6aq9a]<!-- ia0 mapa_ITW_en_M2TWc.JPG<!-- ia0 [/attachment:2md6aq9a]
¡También funcionan las misiones! Los nobles me solicitar tomar Erkauika. Parece que la campaña funciona.

Continuará...
Blog del Friki-Modde ...
Categoría: Tierra de Mods
emo
CAPÍTULO 1. PLANTEAMIENTO GENERAL

Antes de ponerse a cambiar nada del juego en sí, es preciso hacer un planteamiento general de la transformación. Me refiero a qué facciones de M2TW representarán a las facciones de RTW que a su vez representan facciones de ITW. Para evitar en lo posible cambios drásticos totales, es preferible agruparlas por culturas y/o religiones. Como en ITW las más abundantes son las facciones de tipo céltico-galo e ibéricas, mi intención es asignarlas a facciones cristianas, los romanos serían las facciones ortodoxas y el resto se asignará según conveniencia.

Mi planteamiento es entonces este (representando ITW – RTW – M2TW):
Galos transalpinos – gauls – france
Galos padanos – dacia – scotland
Lusitanos – spain – portugal
Celtíberos – germans – hre
Cántabros – britons – poland
Galaicos – macedon – england
Astures – scythia – hungary
Vacceos – seleucid – mongols
Carpetanos – romans_brutii – timurids (estos dos eran la última opción)
Ilergetes – thrace – spain
Turdetanos – armenia – sicily
Edetanos – parthia – venice
Oretanos – egypt – denmark
Bastetanos – pontus – milan
Cartagineses – carthage – turks
Númidas – numidia – egypt
Itálicos – romans_scipii – byzantium
Romanos – romans_julii – russia
Senado – romans_senate – papal_states (aunque no sé si al final se usará)
Colonias griegas – greek_cities – moors

También habría que asignar culturas. En M2TW tenemos disponibles 6 culturas, que podemos asignar a las de ITW:
Gala – northern_european
Céltica – mesoamerican (no queda otra)
Ibérica – southern_european
Africana – middle_eastern
Griega – greek
Romana – eastern_european

Tambien tenemos 5 religiones:
Céltica – catholic
Ibérica – orthodox
Africana – islam
Greco-romana – pagan
Dejando la heretic para otros.

Cada vez que se vaya a hacer un cambio en cualquier fichero habrá que tener en cuenta estas correspondencias, para que todo el juego sea autoconsistente.

CAPITULO 0. EMPEZANDO

Volviendo a los orígenes, es importante ir haciendo una colección de herramientas informáticas que permitan modificar los archivos del juego.

Todos los ficheros de la carpeta data\text tienen la extensión .txt.strings.bin y no se pueden editar directamente. Para transformarlos en un .text normal existe una herramienta que se puede bajar de: http://forums.totalwar.org/vb/showthread.php?t=75229
Lo que he hecho ha sido copiar todos los ficheros de data\text convertido a .txt en la carpeta Mod_Spain1\data\text. Me he dado cuenta de que al lanzar el juego, éste los convierte automáticamente en .txt.strings.bin, y entonces cada cambio que hagamos en un .txt exige borrar el correspondiente .txt.strings.bin para que el juego genere el nuevo. Como siempre puede haber errores, lo mejor es guardarse en lugar seguro una copia del último modificado que funcione hasta comprobar que los cambios son buenos.

En M2TW las texturas han dejado de ser ficheros .tga.dds para ser ficheros .texture. También se pueden convertir usando otra herramienta que se puede bajar de: http://forums.totalwar.org/vb/showthread.php?t=75726
Con ella se convierten los ficheros a .tga.dds y se puede trabajar con ellos como se hacía en RTW.

Conforme vaya avanzando y necesitando más herramientas, lo iré indicando también.
Continuará...
Blog del Friki-Modde ...
Categoría: Tierra de Mods
emo
CAPITULO 2. ASPECTOS GRÁFICOS
a) Menús y pantallas de carga


La mayoría de los ficheros para esto son tga, y yo uso photoshop para manejarlos.
Una buena parte de los ficheros de M2TW son análogos a los de RTW y se ubican en las mismas carpetas, data\menu y data\loading_screen. Por tanto, para el mod hay que crear esas dos carpetas dentro de Mod_Spain1\data.

En la carpeta loading_screen he copiado todas las pantallas de carga de ITW, ya que llevan el mismo nombre. Los ficheros loading_logo y loading_bar los he copiado de la versión desempaquetada de M2TW y los he modificado con los contenidos de ITW, con especial cuidado en el canal alfa, así:


En la carpeta menu he copiado los fichero splash.tga y backdrop.tga de ITW. Este último no existe en M2TW, sino que hay que renombrarlo a _m2_border.tga. La correspondencia entonces de ficheros entre ITW y M2TW sería esta:


Por último (de momento) he copiado en la carpeta data\menu\textures los ficheros tga fe_texture1 y fe_texture2 del M2TW y he modificado su contenido con los de ITW (logo y falcatas cruzadas) así:


Es hora de ver el resultado en juego (estoy moddeando la versión en inglés, para que se noten más los cambios).



El logo de ITW aparece tanto en la pantalla del menú principal como en las de carga. Falta por retocar el fondo de los botones de las opciones.
En la pantalla de carga, también aparece la barra de ITW, junto a las frases del M2TW (por cambiar).

Continuará...
Blog del Friki-Modde ...
Categoría: Tierra de Mods
1349 Mensajes

Quién está conectado

En total hay 72 usuarios Conectado  ::  0 Miembros y 72 Invitados 
Leyenda ::   Administrador del Sitio Moderador Global Moderador Usuario Invitado
  • Total de Mensajes: 74454 | Total de Mensajes: 5629
  • Total de Secciones: 8 | Total de Categorías: 192
  • Abiertos hoy: 0 | Abiertos ayer: 0
  • Total de Respuestas de Hoy: 0 | Total de Respuestas de Ayer: 0
Página generada en: 1.96 segundos