[Blender] Modding a Medal of Honor pacific assault

modding a Medal of Honor pacific Assault
Por isgren

Comenzaremos descargando los programas necesarios. Los enlaces son para la plataforma Windows 32 bits: 1) Blender:
– instalar Python 2.5.2 [URL=http://www.Python.org/ftp/Python/2.5.2/Python-2.5.2.ms http://www.Python.org/ftp/Python/2.5.2/Python-2.5.2.msi [/url]
– instalar última versión de Blender [URL=http://download.blender.org/release/blender2.49a/blender-2.49a-avifix-Windows, ex http://download.blender.org/release/blender2.49a/blender-2.49a-avifix-Windows, exe.[/url][URL=http://download.blender.org/release/blender2.49a/blender-2.49a-avifix-Windows, ex[/url]
2) mdk v1.1. Moh pacific Assault:
[URL=http://planetmedalofhonor, gamespy.com/view.php?view=mohpafiles. Detail&id=3 http://planetmedalofhonor, gamespy.com/view.php?view=mohpafiles. Detail&id=30[/url]
[URL=http://planetmedalofhonor, gamespy.com/view.php?view=mohpafiles. Detail&id=3[/url]
Después de haber instalado los programas anteriores, como ejemplo vamos a extraer una malla del archivo de recursos del juego pak1.rez. Primero, lo copiaremos en una carpeta aparte.

Desde dónde utilizaremos la herramienta de extracción de la mdk mohpa. Lanzamos dicha aplicación para seleccionar lo que muestra la imagen siguiente:
Realizamos las siguientes acciones.

Realizamos las siguientes acciones.

Este sería el resultado en la carpeta temporal que he creado para este proceso.

Después, en la carpeta models que muestra la imagen superior buscaremos las texturas para mapear la malla. Ahora extraemos la malla con otra herramienta:

Con esta operación accedemos a una versión de prueba del Milkshape. Importamos la malla con el plugin que incorpora:

A continuación, exportamos la malla a formato DirectX (.x)

Abrimos Blender e importamos el archivo anterior.

Si no aparece la malla en pantalla mueve la rueda del ratón para hacer zoom. Este sería el resultado.

El objeto importado esta formado por un grupo de mallas (no es una malla única). Por esta razón vamos a dejarlo en esa posición.

El siguiente paso consiste en eliminar las mallas que distorsionen el modelo o se encuentren repetida. No desplazaremos por el escenario con la rueda central del ratón si es necesario.

Girar rueda – Zoom mantener pulsada rueda. Girar o inclinar cámara. Mantener pulsada rueda + mayúsculas. Mover cámara.

Deselecciona todo pulsando la tecla a, y pulsa bdr (botón derecho ratón) sobre partes que sobresalgan, por ejemplo, la zona que muestra la imagen siguiente:
Una vez seleccionadas pulsamos la tecla suprimir y pulsamos la tecla enter para confirmar. Podemos deshacer los cambios pulsando Control + z.

Otras zonas eliminadas.

La zona del rostro esta ocupada por varias mallas. Eliminamos hasta dejar una.

Este sería el resultado desde el panel de editing. De las 14 mallas anteriores han quedado 5.

El motivo de que el objeto o modelo 3d estuviera formado por tantas mallas es debido a que cada malla ocupan el anverso y reverso de un elemento de la malla.

He simplificado la labor del mapeado reduciendo el número de mallas, dejando las mallas exteriores.

Antes de continuar, supervisamos la malla desde el modo de dibujo wireframe o estructura de alambre, donde apreciamos que en el rostro se encuentran ocultas las mallas que representan los ojos del personaje y que no vamos a necesitar, ya que la malla del rostro ya se encarga de mapear las zonas de los ojos en una textura.

De esta forma es más fácil distinguir y seleccionar las diferentes mallas que forman el objeto o modelo 3d. Seleccionamos y pulsamos la tecla suprimir para eliminar. Pulsar enter para confirmar.

Ya podemos proceder a mapear. Con una malla seleccionada cambiamos a modo edición y abrimos en otra ventana de Blender el UV/Image Editor para ver la malla estirada. Para buscar la textura dentro de los directorios de recursos (los creados en el proceso inicial cuando hemos utilizado el extractor de archivos. Rez) he utilizado un visualizador gratuito llamado xnview (lo podéis descargar desde aquí http://www.xnview.com). He realizado una imagen que recoge los tipos de textura que se encuentran en cada directorio.

Este sería el aspecto de una de las mallas del objeto 3d estirada en la ventana del UV/Image Editor, y la textura que más se apróxima.

Observamos que las coordenadas del mapeado están invertidas verticalmente, por esta razón, con todos los vértices seleccionado en la ventana del UV/Image Editor (importante:pulsa a situando el puntero del ratón sobre la ventana UV/Image Editor, si el puntero del ratón se encuentra sobre la ventana 3d no efectuara la selección sobre la ventana del UV/Image Editor) efectuaré la operación del menú UVS->mirror->y axis.

Antes de continuar mostraré las operación básicas del mapeado. Comenzaremos con el modo de selección.

Existen 3 modos de selección, comenzando por la izquierda encontramos selección de vértices, a continuación, selección de caras, y por último seleccionamos grupos de vértices (o vertex groups). Durante el ejercicio sólo emplearé selección de vértices.

También he marcado el botón con forma de paquete que guardará las texturas o imágenes junto a la malla en el mismo archivo (*.blend) (el formato de archivo que utiliza Blender), para asegurarnos de que tendremos las texturas siempre disponibles.

Para saber que zona de la malla estamos manipulando desde la ventana del UV/Image Editor activamos el botón Sync UV and Mesh selection (es decir, sincronizar UV o vista del mapeado y selección de, allá).

Podemos seleccionar los vértices individualmente con el bdr (botón derecho del ratón) o hacer selecciones múltiples manteniendo pulsada mayúsculas+bdr. Lo más común, es utilizar la orden del menú select->border select (o pulsa b) que formara un rectángulo de selección donde finalizaremos la selección pulsando bir (botón izquierdo del ratón) para confirmar o bdr para cancelar.

Si pulsamos dos veces la tecla b, se formara un círculo de selección cuyo diámetro podemos variar girando la rueda del ratón. De este modo, pulsaremos bir para seleccionar o bcr (botón central del ratón) para deseleccionar. Para terminar la selección pulsamos bdr.

Una vez seleccionados los vértices que vamos a manipular podemos desde el menú UVS->transform:
Grab/move: mover (tecla acceso rápido g) rotate: rotar (tecla acceso rápido r) scale: escalar (tecla acceso rápidos)
Además, podemos restringir la forma de realizar las operación anteriores pulsando la tecla de acceso rápido + x (para restringir las modificaciones al eje horizontal x) o tecla de acceso rápido + y (para restringir las modificaciones al eje vertical y). Por ejemplo, SX estira la malla horizontalmente, o con GI movemos la malla sólo verticalmente.

La función de rotar (tecla acceso rápido r) tiene una segunda forma de rotación pulsando rr, que nos permitirá girar horizontal o verticalmente.

En todos los casos anteriores, para finalizar pulsaremos bir y para cancelar los cambios pulsaremos bdr.

Es importante que antes de realizar una selección, deselecionemos todo pulsando a (la tecla de acceso rápido sirve para seleccionar/deseleccionar todo). Con estas operación básicas, donde fundamentalmente he utilizado la función mover (pulsar g) y escalar (pulsar s), he conseguido darle el siguiente aspecto al objeto 3d.

Ahora, vamos a unir todas las mallas del objeto. Desde modo objeto y modo de dibujo estructura de alambre o wireframe, seleccionamos un par de mallas utilizando la combinación de teclas mayúsculas+bdr, y aplicaremos la orden del menú object->join objects.

Comprobamos que todas las mallas han sido unidas desde el panel editing.

Apreciamos que todas las mallas que forman el objeto van acompañadas de un símbolo en forma de círculo excepto una. Guardamos nuestro proyecto mediante la orden del menú file->save as de la ventana 1 o pulsa f2.

Al volver a iniciar el (*.blend) en otra sesión, sólo aparecerá la malla Mesh y el resto habrá desaparecido.

Una vez unidos, vamos a centrar el objeto en el escenario y darle una orientación y escala correcta.

Desde la vista cámara, por ejemplo.

Abrimos el formulario transform properties desde el menú object->transform properties o pulsa la tecla de acceso rápido n.

En este caso he aplicado una rotación x de 90, y z de 180.

Para escalar el objeto 3d, desde la vista frontal o front.

Realiza la operación del menú object->transform->scale o pulsa s. Mueve el ratón para escalar y pulsa bir para finalizar o bdr para cancelar.

Eliminaremos todos los materiales creados durante la importación del archivo en formato DirectX (.x) desde el panel de edición o editing visto anteriormente, y creamos uno desde el panel de materiales de Blender con el botón Texface activado para que cuando exportemos el modelo a otro formato para un motor de juego se apliquen las texturas del mapeado sobre la malla.

Creamos el material desde el panel de materiales o material buttons.

para finalizar, guardamos nuestro proyecto con el nombre que queramos pulsando f2.

Por isgren
Aportado en este hilo.

Ver más sobre el tema y los comentarios en el foro