Información básica sobre los archivos BMP, CMX y SKN

Primero tenemos que saber como está realmente construido un Sim. Como ya he dicho en mi otra guiía un dibujo se proyecta sobre la mesh. Básicamente esto es verdad pero no es tan simple como puede parecer. Son necesarios tres componentes para construir un sim:

  1. Los archivos BMP
    Son Imagenes en Mapa de Bits, a menudo llamados "skins". Puedes crear skins usando casi todos los editores de gráficos. "Paint Shop Pro", o "Adobe Photo Shop" son algunos de ellos. Hay muchos tutoriales en Internet para hacer tus propios skins. Sólo debes tener en mente una cosa importante: tienen que ser siempre de 256 colores. Y los tamaños de los archivos BMP deben ser de 256x256, 128x128 o 64x64 pixeles.
  2. Los archivos SKN
    Estos archivos son las meshes. Las meshes son archivos que dan al Sim su forma. Las meshes se pueden crear con programas 3D. Mi primera guía describe al detalle como puedes crear tus propias meshes.
  3. Los archivos CMX
    Estos archivos son, probablemente, unos de los más importantes en el juego. Con los archivos CMX  el juego decide como se van a ver tus Sims, como interactuarán con otros y qué animación se usará cuando el Sim haga sus movimientos. El campo de acción de esta guía es dar direcciones en la manipulación de los archivos CMX (y los SKN) para cambiar la apariencia de tus Sims.

Se ha escrito mucho sobre los nombres de los archivos. Pero en este punto es mejor mirar más atentamente los estos nombres. En general los archivos de cuerpos llevan por nombre algo parecido a esto: B001FAFitdrk_NombreDelSkin.bmp

El código de antes del subraydo "_" significa que el Sim tiene un Body (Cuerpo) número 001 de una Female (Mujer) Adult (Adulta) con el tipo de cuerpo Fit y un color de piel dark (oscuro). Las variaciones de los nombres están a continuación (001 es cualquier número de 001 hasta 999):

Tipos de skin Color piel Fit (ni gordo ni flaco) Fat
(gordo)
Skinny
(flaco)
Niños Cabezas
Female Adults Dark
Light
Medium
B001FAFitdrk
B001FAFitlgt
B001FAFitmed
B001FAFatdrk
B001FAFatlgt
B001FAFatmed
B001FASkndrk
B001FASknlgt
B001FASknmed
  C001FAdrk
C001FAlgt
C001FAmed
Male Adults Dark
Light
Medium
B001MAFitdrk
B001MAFitlgt
B001MAFitmed
B001MFAFatdrk
B001MAFatlgt
B001MAFatmed
B001MASkndrk
B001MASknlgt
B001MASknmed
  C001MAdrk
C001MAlgt
C001MAmed
Female Child Dark
Light
Medium
      B001FCChddrk
B001FCChdlgt
B001FCChdmed
C001FCdrk
C001FClgt
C001FCmed
Male Child Dark
Light
Medium
      B001FCChddrk
B001FCChdlgt
B001FCChdmed
C001MCdrk
C001MClgt
C001MCmed

Podemos ver de estos archivos que:

  1. Hay cuatro Sims diferentes: mujeres adultas, hombres adultos, chicas y chicos.
  2. Hay tres tipos colores de piel: oscuro, claro y medio.
  3. Hay tres tipos de cuerpo: normal (ni gordo ni flaco), gordo y flaco.
  4. Sólo hay un tipo de cuerpo para niños.
  5. Las cabezas no están relacionadas con los cuerpos, estan separados y el nombre de su archivo empieza con C de Cranial (Cranio).

El código de después el subrayado "_" da al skin su nombre. Puedes decidir el nombre tú mismo, en este caso el skin del Sim se llama "NombreDelSkin". Cambiando el nombre del skin puedes crear otros Sims con los mismos códigos del cuerpo. Por ejemplo: B001FAFitdrk_ AnotherSkin.bmp es un Sim con un Body número 001 de una Female Adult con un tipo de cuerpo Fit y el color de piel dark también. Esto significa que usarán el mismo cuerpo sólo con otro skin.

Esto es posible gracias a los archivos CMX. Estos archivos CMX informan al juego que meshes deben ser usadas por cada skin. En otras palabras: el skin está conectado con la mesh usando el archivo CMX. Los nombres de los necesarios archivos CMX son:

Sim
Types
Fit
Bodytype
Fat
Bodytype
Skinny
Bodytype
Children
Bodytype
Heads
Female Adults B001FAFit_01.cmx B001FAFat_01.cmx B001FASkn_01.cmx   C001FA_01.cmx
Male Adults B001MAFit_01.cmx B001MAFat_01.cmx B001MASkn_01.cmx   C001MA_01.cmx
Female Child       B001FCChd_01.cmx C001FC_01.cmx
Male Child       B001FCChd_01.cmx C001MC_01.cmx

De estos archivos podemos decir que

  1. Los mismos códigos son aplicados por los archivos CMX que con los skins. Esto no es sorprendente porqué sólo se pueden cargar los skins que hacen juego con los archivos CMX.
  2. Los colores de piel NO forman parte de los nombres de los archivos CMX. Esto ocurre porqué el color de la piel es más bien un parámetro del color que de la forma del Sim. La razón porqué éste es usado antes del subrayado del archivo BMP es para asegurar que los tonos de los skins no se mezclan unos con otros.
  3. El código de después del subrayado "_" es un identificador y default 01.cmx, otra vez, puede ser cualquier otro nombre.

Si tenemos B001FAFitdrk_SkinName.bmp, B001FAFitdrk_OtherSkin.bmp y por ejemplo la versión con el color de la piel claro (light) B001FAFitlgt_OtherSkin.bmp en nuestro directorio Maxis\The Sims\GameData\Skins sólo tenemos un archivo CMX llamado B001FAFit_01.cmx para exponerlos todos en el juego.

Para saber como el archivo CMX trabaja para conectar la correcta bodymesh con el skin tenemos que observar dentro el archivo CMX. Una pregunta freqüente es cómo lo hacemos para abrir o editar los archivos CMX y si el programa adecuado para hacerlo está disponible para descargar.

No necesitas ningún programa sofisticado  para abrir los archivos CMX, es sólo un archivo basado en ASCII por lo tanto cualquier editor de texto vale. El más simple está instalado en tú ordenador, prueba con C:\WINDOWS\NOTEPAD.EXE. Podemos abrir el archivo CMX escogiendo Abrir... des de el menú Archivo, hojea el directorio donde se encuentran los archivos CMX. Escoge "Todos los archivos (*.*)" en la caja de Tipo de archivos y clica sobre el archivo que quieres y pulsa al botón "Abrir".

Por ejemplo si abres el archivo CMX B001FAFit_01.cmx verás algo parecido a esto:

B001FAFit_01.CMX
// Character File. Copyright 1997, Maxis Inc. Información del archivo
version 300 Información de la versión
0 Pausa
1 Número de Sims
B001FAFit_01 Nombre del archivo CMX
0 Pausa
0 Pausa
1 Número de meshes
PELVIS Base de la parte del cuerpo de la mesh
xskin-B001fafit_01-PELVIS-BODY Nombre de la mesh (archivo SKN)
0 Pausa
0 Pausa
0 Fin

En este archivo solo las linias que nos dan el "Nombre del archivo CMX", el "Número de meshes", la "Base de la parte del cuerpo de la mesh" y el "Nombre de la mesh (archivo SKN)" nos interesan.

Nombre del archivo CMX: Esta linea contiene el nombre exacto del archivo CMX sin la extensión .CMX. Si esta linea es incorrecta el juego se bloqueará o skins equivocados se proyectaran sobre la mesh.
Número de meshes: Esta linia contiene el número de meshes que se necesitan por el Sim. Muchas veces son sólo una. Sólo a veces meshes adicionales son usadas para poner gafas, capas, o cualquier objeto (son famosas las alas).
Base de la parte del cuerpo de la mesh: Esta linia contiene contiene la parte del cuerpo sobre la cual la mesh se debe basar. Por todos los cuerpos ésta siempre es PELVIS. En las animaciones aquí es donde las posiciones de la mesh se orienterán. Por ejemplo: las gafas se colocaran en la HEAD (CABEZA) por lo tanto seguirá los movimientos de la cabeza durante las animaciones.
Nombre de la mesh: Esta linia contiene el nombre de la mesh (archivo SKN) que se tiene que cargar para el Sim. Aquí el skin será conectado con la mesh.

Aquí podemos ver como el skin (archivo BMP) se conecta con la mesh (archivo SKN). El skin B001FAFitdrk_SkinName.bmp sólo puede ser cargado cuando el archivo CMX B001FAFit_01.cmx está presente. El archivo CMX dice al juego que debe usar la mesh xskin-B001fafit_01-PELVIS-BODY.skn. La mesh da al Sim su forma mientras el skin la colorea.

El archivo SKN también es un archivo ASCIIl intenta de abrir este archivo en Notepad.exe tambiénl. Si abres xskin-B001fafit_01-PELVIS-BODY.skn podrás ver algo parecido a esto:

Xskin-B001fafit_01-PELVIS-BODY.skn
Xskin-B001fafit_01-PELVIS-BODY Nombre de la mesh
x Nombre del skin por defecto
19 Numero de partes del cuerpo
R_LEG

Partes del cuerpo

R_LEG1
R_FOOT
R_TOE0
PELVIS
L_LEG
L_LEG1
L_FOOT
L_TOE0
SPINE
SPINE1
SPINE2
NECK
R_ARM
L_ARM
L_ARM1
R_ARM1
R_ARM2
L_ARM2
524

3D data

19 2 1
2 16 1
17 3 4
22 3 17
40 38 5
Etcétera

Vamos a centrarnos en las dos primeras linias del archivo. La primera nos dice el nombre del SKN, asegúrate de que es correcto para prevener cuelgues del juego o skins equivocados se proyectarán. La segunda linia se usa para un nombre de un skin. Ahora esto es extraño, porqué tal y como hemos visto los skins están conectados con la mesh por los códigos dados en el archivo CMX. ¡CIERTO! Esta linia es añadida por Maxis para ayudar al juego cargando los skins por defecto en el juego. En el caso de B001FAFit la mesh no es usada por ningún traje por defecto. En estos casos es mejor dejar sólo una x en la segunda linia para prevenir que el juego las busque. Como trabajar con las meshes por defecto y sus skins se explica en otra guía.