Como ya he dicho cuantos menos archivos .MEB tengamos que utilizar, menos probabilidades de equivocarnos tendremos, y menos tiempo perderemos intentando subsanar fallos. Así que lo mejor es buscar un .VHF que utilicepocas matrices, y usarlo para nuestro mod. Pero en ese caso ¿cómo metemos varios objetos en un solo archivo .MEB desde el programa 3DSimEd? Eso es fácil. Primero importamos una parte de nuestro mod, y luego le añadimos las demás entrando en el menú Primitives y pulsando el botón Add Object. En la pestaña de la parte inferior derecha seleccionamos el tipo de archivo que vamos a añadir. Una vez añadidos todos los objetos que vamos a meter en el .MEB, pinchamos en el menú Edit y en el botón ExplodeAll Objects. Confirmamos que queremos unir todas las piezas en una sola y listo, ya podemos exportar a formato .MEB. Es muy importante no olvidarse del botón Explode All Objects, pues si no solo se exportará el primer objeto, todos los demás que añadimos después no aparecerán en el juego. También tenemos, cómo no, la opción de unir las partes que necesitamos en el propio ZModeler, exportar el formato MTS, reimportarlo en el 3DSimEd, y finalmente exportar en formato .MEB. Seguramente te habrás preguntado qué pasa con los .MEB que no usamos, en este caso los correspondientes al portón del maletero (boot), a la defensa trasera (rear bumper) y al cuerpo de las ópticas (chassis lights), entre otros. No podemos borrar esos .MEB, porque el juego se saldría a Windows al no encontrar unos archivos que necesita. Entonces ¿qué hacemos? Pues es simple: con el ZM creamos un objeto con un único y minúsculo polígono, colocándolo además lo más alejado posible del coche. Le asignamos el material generic_windows. Exportamos en formato .mts, reimportamos en el 3DSE, y exportamos en .MEB, sobrescribiendo los archivos que en teoría no deberían tener ninguna geometría. Cuando iniciemos el juego ese polígono no se verá, y mantendremos esos .MEB que no podemos borrar. Problema solucionado. Llantas y ruedasUna vez terminado el apartado de la carrocería, pasamos a las llantas y las ruedas. Al igual que con el NFS Most Wanted, para crear las ruedas solo necesitamos una llanta y su neumáticocentradas en el punto 0.00 de los ejes X, Y y Z, con la cara externa orientada hacia el lado izquierdo. El juego luego se encargará de “recolocar” este objeto en las coordenadas que más tarde le indicaremos. Aunque no es tan simple como en el NFS MW, en éste tendremos que hacer más cosas.•Objetos 3D, materiales y texturasLos discos de freno, las llantas y los neumáticos están separados en objetos distintos. En este caso me valen los discos que ya trae, así que solo tocaré estos dos últimos. No tienen daños y son para todos los kits.Los archivos .MEB con el nombre tire loda y lodb son para los neumáticos. La geometría de los del lado izquierdo (lfy lr) tienen la misma orientación que las llantas (la cara externa de la llanta hacia la izquierda). Los del lado derecho (rf yrr) están en orientación y posición contrarias. Los archivos .MEB con el nombre wheel loda y lodb son para las llantas. Son todos iguales.Los archivos .MEB con el nombre wheel lodc tienen la geometría de los neumáticos y las llantas (ambos objetosunidos en uno solo). Son todas iguales y tienen la misma orientación que los loda y lodb (con la cara externa a la izquierda). Así pues se trata de repetir el proceso que ya hemos hecho con la carrocería: preparar estos objetos en el ZModeler 1.07, exportarlos a mts, reimportarlos en el 3DSimEd, y exportar en .MEB, sobreescribiendo los archivos que correspondan. Luego iniciamos nuestro NFS Shift y comprobamos que todo esté correcto. Una vez cargados los neumáticos y las llantas definitivas podemos comprobar si la altura de la carrocería es la correcta, o si tenemos que volver a modificarla en el ZModeler y repetir el proceso hasta dejarlo correcto. También podemos comprobar si las texturas de las llantas están bien así o hay que hacer más modificaciones. •Coordenadas de posiciónTerminado el apartado gráfico de las ruedas, pasamos a posicionarlas de manera correcta. Estas coordenadas seencuentran en dos archivos: vehicles\porsche_944_turbo\porsche_944_turbo.VHF(para los menús del juego), yvehicles\physics\vehicles\porsche_944_turbo.VDF(para las carreras). Ambos archivos se editan con el bloc denotas o el Wordpad, y en ambos deberemos poner los mismos valores. En el .VHF tendremos que buscar las siguientes matrices:7 => Pinza de freno derecha trasera 8 => Pinza de freno derecha delantera 11 => Disco de freno derecho delantero 12 => Disco de freno derecho trasero 13 => Llanta izquierda trasera 14 => Llanta izquierda delantera 15 => Disco de freno izquierdo trasero 16 => Disco de freno izquierdo delantero 17 => Pinza de freno izquierda trasera 18 => Pinza de freno izquierda delantera 20 => Neumático izquierdo delantero 21 => Neumático izquierdo trasero 22 => Neumático derecho delantero 23 => Neumático derecho trasero 26 => Llanta derecha delantera 27 => Llanta derecha trasera Hay que recordar que estas matrices son las del Renault 21 Turbo modificadas, y éstas a su vez eran las del Ford Escort RS Cosworth. Si hacemos la conversión usando como base otro modelo, los números de las matrices no van a coincidir. Como ves son muchas matrices a modificar. Pero hay un truco: colocar correctamente primero los neumáticos dellado izquierdo. Las llantas, las pinzas y los discos de freno de ese mismo lado tendrán los mismos valores exactos. Los del lado derecho tendrán también los mismos valores, pero con el valor del eje X en negativo. La primera línea de cada matriz es la que tendremos que modificar. La estructura de esa línea es la siguiente: <MATRIX id="número de matriz" Offset="valor de eje Xvalor de eje Yvalor de eje Z" Orientation="0.0000000.000000 0.000000 1.000000" parent="0" /> El valor del eje X desplaza el objeto desde el centro del coche hacia el lateral. El valor del eje Y desplaza el objeto enaltura. Y el valor del eje Z desplaza el objeto desde el centro del coche hacia las ópticas delanteras o las traseras.Por ejemplo, la matriz del neumático izquierdo delantero es la siguiente: <MATRIX id="20" Offset="0.7200000.300000-1.400000" Orientation="0.000000 0.000000 0.000000 1.000000"parent="0" />¿Y qué valores le ponemos? Pues esto es como siempre: método del “prueba-fallo”. Es decir, modificas el valor añadiendo o restando un poco al número que tiene, ejecutas el juego, y miras si está mejor orientada o peor. Vas probando valores y afinando hasta dejar el objeto en la posición correcta. En este caso tal y como se puede ver en la imagen anterior la casualidad ha hecho que los valores X e Y estén bastante correctos, por lo que solo modificaré el valor de Z. Tras varias pruebas la matriz queda así: <MATRIX id="20" Offset="0.7200000.300000-1.280000" Orientation="0.000000 0.000000 0.000000 1.000000"parent="0" />Terminados de modificar el resto de matrices, el coche queda así: Hemos terminado con el archivo .VHF. Ahora toca repetir con el archivo .VDF, con la diferencia de que usaremos los mismos valores exactos.Lo abrimos con el bloc de notas o con el Wordpad y buscamos las siguientes líneas: <prop name="Wheel FL Offset" data="0.7200;0.27;-1.4000" /> <prop name="Wheel FL Dimensions" data="0.300;0.50" /> <prop name="Wheel FR Offset" data="-0.7200;0.27;-1.4000" /> <prop name="Wheel FR Dimensions" data="1.300;0.50" /> <prop name="Wheel RL Offset" data="0.7200;0.27;1.2000" /> <prop name="Wheel RL Dimensions" data="0.300;0.50" /> <prop name="Wheel RR Offset" data="-0.7200;0.27;1.2000" /> <prop name="Wheel RR Dimensions" data="0.300;0.50" />Es exactamente igual que con el archivo .VHF, solo que los valores están separados por un punto y coma. El valor Y da igual si lo alteramos o no pues no habrá variación en el juego. Tras modificarlos quedan así: <prop name="Wheel FL Offset" data="0.7200;0.27;-1.2800" /> <prop name="Wheel FL Dimensions" data="0.300;0.50" /> <prop name="Wheel FR Offset" data="-0.7200;0.27;-1.2800" /> <prop name="Wheel FR Dimensions" data="1.300;0.50" /> <prop name="Wheel RL Offset" data="0.7200;0.27;1.1500" /> <prop name="Wheel RL Dimensions" data="0.300;0.50" /> <prop name="Wheel RR Offset" data="-0.7200;0.27;1.1500" /> <prop name="Wheel RR Dimensions" data="0.300;0.50" />También sustituiremos la leyenda renault_21_turbo por porsche_944_turbo allá donde la veamos. Salvamos los cambios y listo, en carrera las ruedas deberían aparecer correctamente. Las ruedas ya están en la posición correcta. Sin embargo parece que en el menú la carrocería está a la altura correcta, y en partida está un poco más alta de lo que debiera. Podemos corregirlo también modificando con el bloc de notas o el Wordpad el archivo vehicles\physics\chassis\porsche_944_turbo.CDF.En él buscamos la siguiente línea: GraphicalOffset=(0.0, -0.00, 0.0) // does not affect physics!Al igual que con las matrices de las ruedas, se trata de los ejes X, Y y Z, separados por comas. Y una vez más, método de “prueba y fallo”, hasta dar con el valor más adecuado. Modifico el segundo valor para bajarla en altura, quedando así: GraphicalOffset=(0.0, -0.10, 0.0) // does not affect physics!Resultado final: Finalizada la carrocería, las llantas y las ruedas, pasamos a editar otros parámetros importantes. Piloto•Posición del pilotoLa posición del piloto se encuentra en el archivo vehicles\porsche_944_turbo\porsche_944_turbo.CDV queeditaremos con el bloc de notas o el Wordpad. Como siempre cambiaremos renault_21_turbo por porsche_944_turbo allá donde lo encontremos. Y también modificaremos los valores de X, Y y Z en las líneas Vehicle Driver Position y Cockpit Driver Position. El resto del documento lo dejaremos intacto. Tras probar varias veces, finalmente las líneas que me interesan se quedan así: <prop name="Name" data="porsche_944_turbo" /> <prop name="Right hand drive" data="false" /> <prop name="Vehicle driver position" data="-0.00;-0.03;0.10" /> <prop name="Cockpit driver position" data="-0.00;-0.03;0.10" />•Cámara del pilotoLa cámara del piloto conviene dejarla por defecto cuando hablamos de interiores de gran detalle. Pero cuando se trata de interiores pobres es mejor cambiarla de posición. Lo haremos editando el archivo vehicles\porsche_944_turbo\porsche_944_turbo.CDP con el bloc de notas o el Wordpad.La línea que tenemos que retocar es: <prop name="Eye point offset" data="-0.35;1.03;2.10" /> Como siempre hay que sustituir renault_21_turbo por porsche_944_turbo allá donde aparezca. El resto de líneas las dejamos tal y como están.CockpitEl NFS Shift tiene un archivo específico para el interior de la cabina (cockpit), el vehicles\porsche_944_turbo\porsche_944_turbo.CPT. Este archivo funciona como el CRD pero solo en lo relativo alcockpit. Como siempre lo editamos con bloc de notas o Wordpad y cambiamos renault_21_turbo por porsche_944_turbo. La parte que más nos interesa en principio es la línea donde pone Cockpit Render Model. En esa línea le decimos qué archivo .VHF va a utilizar para los objetos 3D del cockpit. Cuando tenemos un cockpit de alta definición en objetos 3D separados del resto de la carrocería lo normal es repetir el proceso que ya hemos hecho: editar el .VHF que corresponde (que en este caso sería el archivo vehicles\porsche_944_turbo\porsche_944_turbo_cockpit.VHF) y exportar y sobreescribir los archivos .MEB(aquellos que aparezcan listados en el .VHF). Como este Porsche no tiene un interior en alta definición no necesitamos hacer nada de esto. Así que le doy como valor el archivo .VHF de la carrocería y ruedas. La línea queda finalmente así: <prop name="Cockpit Render Model" data="porsche_944_turbo.vhf" />Guardamos cambios y listo.Con esto nos ahorramos un montón de trabajo y logramos que el juego cargue los mismos objetos para las cámaras interiores y exteriores. Llamaradas de escapeEl número y posición de las llamaradas que salen por el escape en carrera se determinan en el archivo vehicles\porsche_944_turbo\porsche_944_turbo.CRD. En concreto en las líneas: <prop name="Number of Exhausts" data="1" /> <prop name="Exhaust Position 1" data="0.35;0.25;1.90" /> <prop name="Exhaust Position 2" data="0.45;0.25;1.90" /> <prop name="Exhaust Target Position 1" data="0.35;0.25;2.00" /> <prop name="Exhaust Target Position 2" data="0.45;0.25;2.00" />En la primera línea ponemos el número de llamaradas. Para este coche solo necesitaré una. En la segunda y tercera línea indicamos la posición de dichas llamaradas (”X;Y;Z”) Y en la cuarta y quinta línea indicamos la posición del humo del tubo de escape, que será casi la misma que la de las llamaradas. Colores de carrocería y vinilosSe listan en el archivo vehicles\porsche_944_turbo\porsche_944_turbo.RCF. Podemos añadir o eliminar elementos de la lista (deberá haber mínimo 4). En este coche he decidido poner 6, copiando las líneas de los colores de otros coches y editándolas, de tal manera que el documento queda así: <REPLACEMENT_SYSTEM> <NAMES INPUT ="LIVERY"><NAME LIVERY="1" NAME="Paint 1" /><NAME LIVERY="2" NAME="Paint 2" /><NAME LIVERY="3" NAME="Paint 3" /><NAME LIVERY="4" NAME="Paint 4" /><NAME LIVERY="5" NAME="Paint 5" /><NAME LIVERY="6" NAME="Paint 6" /></NAMES><CONDITION LIVERY="1"><REPLACE MATERIAL="porsche_944_turbo_paint" NEWMATERIAL="Vehicles\_Paint_Colors\paint_audi_ibis_white.mtx" /><REPLACE TEXTURE="COMMON_PAINT.dds" NEWTEXTURE="paint_audi_ibis_white.dds" /></CONDITION><CONDITION LIVERY="2"><REPLACE MATERIAL="porsche_944_turbo_paint" NEWMATERIAL="Vehicles\_Paint_Colors\paint_ford_screaming_yellow.mtx" /><REPLACE TEXTURE="common_paint.dds" NEWTEXTURE="paint_ford_screaming_yellow_gt.dds" /></CONDITION><CONDITION LIVERY="3"><REPLACE MATERIAL="porsche_944_turbo_paint" NEWMATERIAL="Vehicles\_Paint_Colors\paint_toyota_red.mtx" /><REPLACE TEXTURE="common_paint.dds" NEWTEXTURE="paint_toyota_red.dds" /></CONDITION><CONDITION LIVERY="4"><REPLACE MATERIAL="porsche_944_turbo_paint" NEWMATERIAL="Vehicles\_Paint_Colors\paint_vw_golf_mk2_gti_blue_metallic.mtx" /><REPLACE TEXTURE="common_paint.dds" NEWTEXTURE="paint_vw_golf_mk2_gti_blue_metallic.dds" /></CONDITION><CONDITION LIVERY="5"><REPLACE MATERIAL="porsche_944_turbo_paint" NEWMATERIAL="Vehicles\_Paint_Colors\paint_subaru_steel_gray_metallic.mtx" /><REPLACE TEXTURE="COMMON_PAINT.dds" NEWTEXTURE="paint_subaru_steel_gray_metallic.dds" /></CONDITION><CONDITION LIVERY="6"><REPLACE MATERIAL="porsche_944_turbo_paint" NEWMATERIAL="vehicles\_paint_colors\paint_vw_black_magic.mtx" /><REPLACE TEXTURE="COMMON_PAINT.dds" NEWTEXTURE="paint_vw_black_magic.dds" /></CONDITION></REPLACEMENT_SYSTEM>También podemos crear nuestros propios colores y vinilos. Para ello crearemos el material .MTX correspondiente y lo colocaremos en el directorio vehicles\_paint_colors. La textura de ese material la colocaremos donde van casi todas las texturas, en vehicles\textures. MejorasLas mejoras o “upgrades” que podemos montar en nuestro coche están repartidas en diversos archivos que podremos editar con el bloc de notas o el Wordpad, a saber: •vehicles\porsche_944_turbo\porsche_944_turbo_body.VUDEstablece qué archivos debe cargar para el coche de serie y para las mejoras de carrocería. En el caso de este Porsche no hay mejoras, por lo que todos los KITS deben ser el 00. Para la posición de los escapes en las mejoras pondremos los mismos valores que en .CRD y para los desplazamientos de ruedas (para carrocerías ancheadas) les pondremos valores cero. También sustituiremos las referencias renault_21_turbo por porsche_944_turbo. •vehicles\porsche_944_turbo\porsche_944_turbo_brakes.VUDEstablece qué frenos debe cargar para el coche de serie y para las distintas mejoras. Si lo vas a modificar debes cargar siempre uno que exista o el juego se saldrá cuando intente cargarlo. Si no sabes qué debes modiicar, mejor déjalo como está o cópialo de otro coche.Mi archivo finalmente queda así: <brake_upgrades> <stage level="0" disc="FORD_ESCORT_RS" caliper="FORD_ESCORT_RS" /> <stage level="1" disc="BREMBO_STAGE4" caliper="BREMBO_STAGE4" /> <stage level="2" disc="BREMBO_STAGE4" caliper="BREMBO_STAGE4" /> <stage level="3" disc="BREMBO_STAGE4" caliper="BREMBO_STAGE4" /> <stage level="4" disc="BREMBO_STAGE4" caliper="BREMBO_STAGE4" /></brake_upgrades>•vehicles\porsche_944_turbo\porsche_944_turbo_tire.VUDExactamente lo mismo que con el anterior, pero con las ruedas. Establece qué neumáticos y llantas tendrán cada mejora y de qué medidas.•upgrade\vehicleupgradecatalogue\porsche_944_turbo.XMLEn este archivo indicaremos qué mejoras estarán disponibles para comprar, y cuáles no. La inteligencia artificial del juego podrá usar todas las mejoras, pero nosotros solo aquellas que especifiquemos en este archivo. Aquellos que no queramos simplemente los dejamos en blanco y listo.También podemos establecer cuánto nos va a costar cada mejora. La lista de mejoras para este coche queda así: <!-- Engine stages --><!-- Drivetrain stages --><!-- Turbo stages --><!-- Suspension stages --><!-- Brake stages --><stage name="brake_1" path="brake" stage="1" price="1500" label="brake_1" description="brake_1" /><!-- Tyre stages --><stage name="tyre_1" path="tyre" stage="1" price="1000" label="tyre_1" description="tyre_1" /><!-- Nitro stages --><!-- Body stages --><!-- Cockpit stages --><!-- Weight reduction stages -->Como ves este coche solo dispondrá mejoras de frenos y ruedas, nada más. Otros archivosTodavía podemos cambiar un montón de parámetros, como el precio del coche, el rango de llantas que podremos comprar, el sonido del coche y su volumen, etc. Es cuestión de ir abrienndo archivos, leer las líneas e ir cambiando los valores. Pero aunque ya no queramos modificar ningún valor más, deberemos siempre cambiar las referenciasrenaul_21_turbo por porsche_944_turbo en los siguientes archivos: •vehicles\porsche_944_turbo\porsche_944_turbo.CDP•vehicles\porsche_944_turbo\porsche_944_turbo.CDV•vehicles\porsche_944_turbo\porsche_944_turbo.CGP•vehicles\porsche_944_turbo\porsche_944_turbo.CPA•vehicles\porsche_944_turbo\porsche_944_turbo.CPT•vehicles\porsche_944_turbo\porsche_944_turbo.CRD•vehicles\porsche_944_turbo\porsche_944_turbo.CSD•vehicles\porsche_944_turbo\porsche_944_turbo.RCF•vehicles\porsche_944_turbo\porsche_944_turbo.CDV•vehicles\porsche_944_turbo\porsche_944_turbo.VHF•vehicles\porsche_944_turbo\porsche_944_turbo_body.VUD•vehicles\physics\chassis\porsche_944_turbo.CDF•vehicles\physics\collision\porsche_944_turbo.joi.XML•vehicles\physics\collision\porsche_944_turbo.sys.XML•vehicles\physics\collision\porsche_944_turbo.XML•vehicles\physics\engines\porsche_944_turbo.EDF•vehicles\physics\statistics\porsche_944_turbo.XML•vehicles\physics\vehicles\porsche_944_turbo.VDFYa lo he remarcado a lo largo del tutorial, debemos cambiar esas referencias siempre que nos las encontremos. Es sumamente importante ya que si las referencias no son al coche correcto nuestros cambios pueden no tener efecto o directamente hacer que el juego falle. Podemos modificar más archivos y cambiar más valores, pero a mí me vale con éstos. No necesito que mis mods rocen la prefección, solo que me diviertan al jugarlos.