Add-on Levels

« Older   Newer »
 
  Share  
.
  1. Mastrø
     
    .
    Avatar

    Dios

    Group
    Administrator
    Posts
    6,893
    Location
    Beaver City

    Status
    Offline
    Para que el proceso de conversión del Maim Street sea menos tedioso decidí postear algunas de los elementos más interesantes del mismo. También me vá a servir como ayuda memoria o documento por si otra persona decide editar el TDR.

    MAIM STREET - SKYBOX

    Para no perderse entre tanto archivo lo primordial es ir al origen que en este caso es e MAIMSTREET.txt ubicado en la carpeta de nombre homónimo. Este archivo es el Level descriptor y si miramos un poco las primeras lineas nos vamos a topar con:

    SKY_SPHERE "MAIMSTREET.hie"
    SKY_SPHERE_RENDER_NODE 0


    Este archivo .hie contiene toda la info del modelo, textura, atributos y demás. Entonces lo que vamos a hacer es crear uno nuevo o editar uno preexistente. Yo en mi caso quiero crear un skybox que contenga la textura del cielo del primer mapa del Carmageddon 1 y a eso agregarle la luna del mapa HiRise, osea quiero un .hie con dos modelos. Crearlo no es dificil en 3dsMax 3.1, tan solo exportamos un .pak que contenga dos modelos con dos texturas diferentes. Una vez que tenemos el .hie vamos a incorporar el primer modelo que en este caso va a ser la pseudo esfera del skybox, el tema es que para adicionar diferentes modelos en el .hie es necesario que los mismos están en formato .msh sin importar en cual de las variantes. Yo hice un skybox en 3dsMax y como el mismo contiene un solo modelo con cambiar .mshs en .msh es suficiente. Ahora vamos al .hie a cambiar los datos:

    // Number of textures

    2

    // Texture name list

    "MAIMSTREETSKY"
    <---------- textura del cielo.
    "" <------------textura del segundo modelo, por ahora lo dejamos en blanco.

    Es muy importante respetar el orden, ya establecimos que el modelo de skybox vá a estar en primer lugar. Ahora vamos más abajo a ver los materiales:

    // Number of materials

    2

    // Material name list

    0.500000 0.500000 0.500000 1.000000 0
    <-----------material del cielo.
    ????????? ???????? ??????? ??????? ? <-----------material de la luna, en este momento es una incógnita.

    Ahora pasamos a las matrices:

    // Number of matrices

    2

    // Matrix name list

    1.000000 0.000000 0.000000 0.000000;
    <-----------matriz del cielo
    0.000000 1.000000 0.000000 0.000000;
    0.000000 0.000000 1.000000 0.000000;
    0.000000 0.000000 0.000000 1.000000;
    "none"

    1.000000 0.000000 0.000000 0.000000;
    <-----------este es un placeholder
    0.000000 1.000000 0.000000 0.000000;
    0.000000 0.000000 1.000000 0.000000;
    0.000000 0.000000 0.000000 1.000000;
    "none"


    Y por último las meshes:

    // Number of meshes

    2

    // Mesh name list

    "MAIMSTREET.msh"
    ""


    Muy bien, ahora vamos a ver la luna del HIRISE que está en Assets\Tracks\HiRise\Sky Sphere, del HiRiseSkySphereHiRiseSkySphere_1.pak vamos a extraer el .mshs y el .hie, con este úlitmo archivo nos enteramos que el cielo del HIRISE tiene 2 modelos:

    // Number of meshes

    2

    // Mesh name list

    "HiRiseSkySphereHiRiseSkySphere_1.mshs"


    Y con las texturas deducimos que la luna es el segundo modelo:

    // Number of textures

    2

    // Texture name list

    "HiRiseSky"
    "Moon"


    Ahora vamos a abrir el HiRiseSkySphereHiRiseSkySphere_1.mshs con algún editor de hex, como la luna es obviamente un modelo simple nos vamos a ir al fondo del archivo:

    untitled

    Lo que seleccioné es el modelo de la luna, el primer valor es el número de caras (1 cara), el segundo es el número de vertices (en total 4) por ende deducimos que es un quad, lo que sigue es el grosor, anchura y altura del vértice central que es el que sigue a continuación.

    00 00 80 b6 <---------límites en x
    00 00 00 37 <---------límites en y
    0c ef 27 b6 <---------límites en z
    de 6b 8d 42 <---------vértice central

    Esos valores son muy importantes porque delimitan el área de visibilidad del modelo, si el modelo está afuera de esos límites empieza a desaparecer a cierta distancia o en ciertos ángulos de visión. El resto de la info del .msh/.mshs está en la primera página de este topic. Lo que vamos a hacer es eliminar lo que no está seleccionado en la imagen y vamos a salvar como MOON.msh para sumar este modelo al del MAIM STREET.

    Volvamos a MAIMSTREETSKY.hie para completar lo que falta:

    // Number of textures

    2

    // Texture name list

    "MAIMSTREETSKY"
    "Moon"


    Esta info la fui sacando del HiRiseSkySphereHiRiseSkySphere_1.hie

    // Number of materials

    2

    // Material name list

    0.500000 0.500000 0.500000 1.000000 1
    0.500000 0.500000 0.500000 1.000000 1


    Vean que la matriz de la luna tiene un atributo para que siempre este observando a la cámara:

    // Number of matrices

    2

    // Matrix name list

    1.000000 0.000000 0.000000 0.000000;
    0.000000 1.000000 0.000000 0.000000;
    0.000000 0.000000 1.000000 0.000000;
    0.000000 0.000000 0.000000 1.000000;
    "none"

    1.000000 0.000000 0.000000 0.000000;
    0.000000 1.000000 0.000000 0.000000;
    0.000000 0.000000 1.000000 0.000000;
    -223.500000 175.291595 -805.125000 1.000000;
    "10-Corona.txt"


    Y por último los .msh

    // Number of meshes

    2

    // Mesh name list

    "MAIMSTREETSKY.msh"
    "MOON.msh"


    Ahora a testear y el resultado:

    SH0000

    Los edificios me quedaron muy arriba y la luna muy abajo, cambiando los valores de las coordenadas de la matriz:

    // Matrix name list

    1.000000 0.000000 0.000000 0.000000;
    0.000000 1.000000 0.000000 0.000000;
    0.000000 0.000000 1.000000 0.000000;
    0.000000 -300.000000 0.000000 1.000000;
    "none"

    1.000000 0.000000 0.000000 0.000000;
    0.000000 1.000000 0.000000 0.000000;
    0.000000 0.000000 1.000000 0.000000;
    -223.500000 730.291595 -805.125000 1.000000;
    "10-Corona.txt"


    Nos vá a quedar de esta manera:

    SH0001
     
    Top
    .
134 replies since 1/5/2023, 19:29   3042 views
  Share  
.