Modelo Consulta: Importar modelos a WoW WotLK desde expansiones posteriores

Sr. Dudas

Explorador
Desde
29 Jun 2021
Mensajes
20
Reacciones
10
Honor
17
Creador del tema
Hola! Quería saber si me podían orientar sobre como extraer modelos 3D de una expansión posterior a WoW WotLK e importarlos a dicha expansión a través de un parche .MPQ

No es para mi propio servidor, estoy intentando crear un "parche HD" como los que circulan por internet pero eligiendo yo los modelos, hasta ahora solo pude abrir varios de esos parches, "tomar prestados" algunos modelos 3D que ya habían sido adaptados a WotLK y agregarlos a mi proyecto de parche.

Pero no sé como es el procedimiento para extraer los modelos directamente desde el cliente de una expansión mas nueva y hacerlos compatibles con WotLK.

¿De cuales expansiones se puede convertir modelos para que sean compatibles con WotLK? Encontré algunos parches con modelos desde legión hasta shadowlands pero cuando los parches son muy grandes no se pueden ver los nombres de los archivos ni las carpetas donde están ordenados.

Leí sobre el programa "multiconverter" pero no lo encuentro para descargar por internet y tampoco estoy seguro si sirve para lo que estoy tratando de hacer.

Tengo entendido que un NPC funcional debe tener una carpeta dentro del parche.MPQ con:
1) archivo .M2: el modelo 3D
2) archivos .BLP: las texturas (aunque algunos NPC parecen tener la textura incorporada en el .M2)
3) archivos .ANIM: animaciones.
4) archivos .SKIN: esos no sé que son.

Les comento los programas y el procedimiento que estoy usando hasta ahora:
1)My Warcraft Studio: el programa se cierra cuando quiero visualizar un archivo .M2, el modelo 3D. Aun así lo uso para abrir los parches .MPQ, visualizar los archivos de textura .BLP y así saber mas o menos a que NPC pertenece la carpeta con esos archivos.

2) Ladik's MPQ editor: lo uso para abrir los parches MPQ, extraigo los archivos de base de datos del "patch-esES-3.MPQ" (está dentro de la carpeta DATA/esES del WoW) y los archivos de modelos nuevos de los NPCs que extraigo de otros parches HD.
Para los NPC casi siempre uso las bases de datos "Creaturemodeldata.DBC" y "Creaturedisplayinfo.DBC"

3)WDBX Editor: lo uso para editar las bases de datos que extraje con el programa anterior, para sumar un modelo 3D nuevo agrego un renglón al final de Creaturemodeldata.DBC y le escribo la ruta donde tiene que ir a buscar los archivos nuevos dentro del parche .MPQ que voy a crear en el paso 4, por ejemplo "Creature\alexstrasza\alexstrasza.mdx", después en Creaturedisplayinfo.DBC voy al NPC que quiero modificar y le digo que use el numero de modelo (modelID) que acabo de agregar en "Creaturemodeldata" en vez de su modelo de siempre.

4) Ladik's MPQ editor (otra vez): lo uso para crear mi parche .MPQ que va a contener las bases de datos modificadas y los archivos de modelos nuevos, creo carpetas respetando los nombres que tenían en el parche original. Si "Creaturemodeldata" y "creaturedisplayinfo" estaban en la carpeta "DBFilesClient", creo una carpeta que se llame igual y agrego las 2 bases de datos dentro y si los archivos de modelo estaban dentro de la carpeta "Creature" también creo una carpeta Creature y agrego los nuevos modelos ahí.
Por último cierro el parche .MPQ y lo pongo dentro de la carpeta DATA del WoW con el nombre de "patch-5.MPQ".

5) WoW model viewer v0.7.0.1: lo uso para visualizar los modelos 3D y consultar los números de display de los NPCs para identificarlos en "creaturedisplayinfo" y los nombres de los archivos de modelo M2.

Gracias!
 
Creador del tema
Otra cosa que noté es que los NPC se dividen en 2 tipos:
1) Los que tienen un modelo 3D de tipo "character": suelen compartir el modelo 3D de las razas jugables y algunas otras como los taunka o los vrykul, son los NPCs que tienen piezas de armadura equipadas como si fueran jugadores y su textura es un "BAKE", una sola imagen que incluye todo el cuerpo con la armadura incluída. Esa "textura bake" la vinculan al NPC a través del ExtendedDisplayID (en "creaturedisplayinfo,DBC") que lo conecta con la base de datos "Creaturedisplayinfoextra.DBC".

2) Los que tienen un modelo 3D de tipo "creature": son los npcs que no tienen piezas de armadura equipadas como si fueran jugadores, pueden ser tanto un murloc como Kael'thas, si tienen armadura es una armadura diseñada específicamente para ellos, no piezas de equipo que se escalan según el tamaño del personaje jugable y sus texturas suelen ser de 1 a 3 imágenes .BLP, algunos tienen las texturas ya incorporadas en el modelo 3D y en otros se debe especificar los nombres de sus texturas en "creaturedisplayinfo.DBC", ningún NPC tipo "creature" tiene una textura BAKE ni está conectado a "Creaturedisplayinfoextra.DBC".
 
Tengo mucho tiempo que no toco WoW.
Pero puedes importar modelos de cualquier expansión a Wotlk.

El programa para convertir modelos lo puedes encontrar acá:

Y todo depende que quieras importar. Si solo son criaturas, enfócate en el CreatureDisplayInfo.dbc y CreatureModelData.dbc.

Eso si, tienes que tener en cuenta que el parche aumentará su peso con cada modelo que importes. Así que es decisión tuya, cuales "actualizas".

Respecto a los blp y a la edición de dbc. Lo que yo solía hacer, era convertir los dbc a csv y los editaba con notepad y para testers los modelos, simplemente creaba una carpeta en la carpeta data de tu wow, con el nombre del parche.

Espero y te sirvan mis consejos. Como te lo expliqué arriba. Tengo mucho que no toco WoW y todo lo explico a lo poco que recuerdo.
 
Creador del tema
Hola!, ya descargué el multiconverter 3.3.0 que parece ser el mas nuevo. Me faltaría conseguir un cliente de shadowlands para probar si puedo extraer algún modelo y convertirlo a WotLK.

Hasta ahora estuve practicando con cosas simples, encontré una guía que mostraba que números cambiar en creaturedisplayinfo.DBC para reemplazar modelos de monturas por otros que existen dentro de WotLK pero no son jugables, por ejemplo cambié uno de los dracoleones que se compran en Terrallende por el murciélago taxi que se usa para volar en las zonas de los renegados.

murciélago.png


Tambien hay algunos modelos de criaturas que vienen configurados como para tener un jinete aunque no son monturas jugables, si reemplazo una montura por la gárgola, el jinete aparece bien posicionado pero en otros casos el jinete no aparece o aparece mal posicionado:

gárgola.png


Después me mostraron los parches HD, que cambian modelos por otros mucho mas nuevos y me puse a hacerles ingeniería inversa con el MPQ editor a ver como funcionaban, que bases de datos usaban, como cargaban los modelos nuevos y como los vinculaban a un NPC.
El problema es que lo parches mas grandes pesan 2 gb y cuando los quiero abrir para estudiarlos, no aparecen los directorios ni los nombres de los archivos.

Este parche pesa 482mb y cuando lo abro se ven las carpetas y sus contenidos ordenados y con nombre. De este tipo de parche pude extraer algunos modelos nuevos y aplicarlos al mío.

parche ordenado.png


Y después está este parche que pesa 2gb y no tiene carpetas, todos los archivos están apilados y no tienen nombre. De este tipo de parche no pude extraer nada, no sé como leerlos pero si los pongo en el juego funcionan igual que el primer ejemplo.

parche desordenado.png


Solo agregué modelos de creature, por ejemplo reemplazé el modelo que tiene Baine en WotLK (que es un modelo "character" de tauren con una textura bake) por el modelo "creature" que tiene en el WoW oficial.
Y creo que para seguir avanzando tendría que aprender a extraer yo los modelos de creature e items que quiero en vez de depender de los que haya en otros parches.

Gracias por la ayuda!
 
Creador del tema
Hola!
Ya pude agregar varios modelos nuevos tipo creature a WotLK usando el programa CASC para extraerlos de un cliente de Shadowlands y el programa multiconverter para hacerlos compatibles con WotLK.
Quería preguntar una cosa mas. El parche .MPQ que estoy armando pesa 338mb y al querer agregarle más modelos me dice que no hay suficiente espacio, ¿hay alguna forma de crear un parche mas grande o tengo que hacer varios parches si o si?, porque vi algunos que pesan 700, 800mb, incluso mas de 1gb.
Estoy creando el parche con el programa Ladik's MPQ editor.

Saludos!
 
no soy un experto en este tema pero me gustaría aprender más, sería excelente que pudieras compartir con la comunidad más de tu conocimiento, con una guia

Saludos
 
Creador del tema
Hola! Casi todos los modelos 3D que pude importar fueron gracias a este canal de Youtube:


Muestra como es el proceso de "retro-porteado" y tiene un link a su página en Github.com con todas los programas que usa en el video y un torrent para descargar los datos de WoW Shadowlands. igual voy a escribir mi procedimiento pero va a quedar un poco largo.

Lo que hice fue:
1) Descargar el torrent de WoW Shadowlands porque de ahí se van a extraer los modelos nuevos. El torrent hay que abrirlo en el programa BitTorrent para que descargue los datos del cliente de Shadowlands 9.2.7 y tarda un rato largo porque pesa 70gb.

2) Descargar el paquete "WoW Dev Tools" que tiene todos los programas que usa en el video.

3) Abrir el programa "WoWexport", acá tenés que decirle en que lugar tenés descargado el cliente de Shadowlands, por elemplo "C/archivos de programa/WoW Shadowlands" y el programa se va a poner a cargar todos los modelos y texturas. Después tenés que buscar el modelo que te interese importar a WoW Wotlk y anotas la ruta donde está ubicado por ejemplo "Creature/Ysera/ysera.M2" si querés agregar a Ysera en el WoW 3.3.5
1699468265662.png

4) Abrir el programa CASC Viewer, acá también hay que decirle la ruta donde está ubicado el Shadowlands y este programa te va mostrar una lista con todos los archivos que hay en la carpeta data, ahí hay que buscar la carpeta "Creature", dentro de ella buscas la carpeta "Ysera",
en este caso tiene 2 modelos "Ysera.M2" e "Ysera2.M2", yo extraje el primero y las texturas que extraje fueron "Ysera1.BLP" e "Ysera2.BLP, los skins son todos los que correspondan a Ysera.M2,: Ysera00.SKIN, Ysera01.SKIN, etc, si dice Ysera200.SKIN o Ysera201.SKIN corresponden al otro modelo y los archivos Ysera.ANIM.
Seleccionas los archivos y los extraes, los archivos extraídos se mandan por defecto a la carpeta "works" donde está ubicado el CASC explorer, para que el NPC funcione tiene que haber:

A) 1 archivo .M2 (modelo 3D)
B) de 1 a 3 archivos .BLP (texturas)
C) 1 o más archivos .ANIM (animaciones, la mayoría de los NPC "creature" solo tienen las de correr, saltar, atacar, morir, pararse sin hacer nada, mientras que un modelo "character" de personaje jugable tiene muchas más para los bailes, los emotes, etc).
D) 1 o más archivos .SKIN o .LODSKIN (estos sigo sin saber para que son, parece que vinculan el .M2 con los .BLP).

El WoWexport tambien tiene una opción para exportar los modelos pero no es lo mismo que hacerlo en CASC, en vez de darte los archivos .SKIN te da un archivo .JSON que hasta ahora no pude hacer funcionar.
1699468429785.png


1699468466276.png

1699468572336.png

1699468787535.png

5) Una vez que tengas todos los archivos exportados tenés que hacerlos compatibles con WoW WotLK, sino te va a saltar el "WoW error" al estar cerca del NPC con modelo nuevo.
Para eso se usan 1 o 2 programas depende el modelo, en el video usa el Multiconverter Legión-WotLK, pero además el paquete trae otro Multiconverter que es Shadowlands-WotLK y otro programa que se llama "TXID Fix", los 3 funcionan igual, los abrís, te aparece una ventana, tenés que seleccionar todos los archivos exportados del CASC, arrastrarlos y soltarlos en esa ventana, apretar el botón "Fix" y el programa en algunos casos los hace compatibles y en otros no, no se como es su funcionamiento interno, pero los modelos que mas me dan problemas son los mas nuevos, los que tiene archivos .PHYS (físicas), .BONE (huesos) y muchos .ANIM (animaciones, al convertir el modelo algunas animaciones se rompen).
Hay modelos que solo usando el Multiconverter Shadowlands-WotLK los hace compatibles perfectamente, otros en los que funciona mejor el Multiconverter Legion-WotLK y otros en los que hay que usar primero el TXID Fix y después el Multiconverter Legion-WotLK porque sino el NPC aparece sin texturas, eso me paso con la montura "Araña de guerra Sañosa".
En este paso hago todo a prueba y error, creo 2 o 3 copias de los datos exportados y pruebo hacerlos compatibles usando diferentes combinaciones de estos 3 programas a ver si alguno lo hace funcionar.
1699469052315.png

1699469096852.png

6) Suponiendo que el modelo se compatibilizó exitosamente, ahora habría que elegir un NPC que exista dentro del juego y reemplazar el modelo que tiene por el nuevo que acabamos de conseguir. Para eso hay que editarle 2 bases de datos donde tiene guardada esa información, son "creaturemodeldata.DB" y "creaturedisplayinfo.DB".
Para extraerlas hay que usar el programa "MPQ editor", usar la opción "Open MPQ" y buscar la carpeta donde tenés instalado el cliente de WoW WotLK (NO el de Shadowlands), ir al a carpeta data/esES y abrir el archivo "patch-esES-3.MPQ", te va a aparecer una carpeta llamada "DBFilesClient" y dentro van a haber muchos archivos de base de datos, hay que extraer las 2 de "creature" que nombre antes. Los archivos extraídos se mandan por defecto a la carpeta "Works" en la ubicación donde está el programa MPQ editor.
1699469183616.png

1699469240684.png

1699469324684.png

1699469388888.png

Para abrir esos archivos .DB se usa otro programa, el WDBX editor, es parecido a una tabla de Excel, primero abrís creaturemodeldata.DB, vas al final de la tabla, agregás una fila después de la última que haya y en la columna "ModelName" hay que poner la ubicación donde estaba el modelo de Ysera, que era "Creature/Ysera/ysera.M2" solo que en vez de ponerle .M2 al final se pone .MDX, el modelo se tiene que seguir llamando ysera.M2, pero en las bases de datos se escribe "ysera.MDX".
Para llenar los demás datos de la fila lo que hago es buscar un NPC de características parecidas al que estoy agregando, selecciono toda su fila, la copió, voy hasta el final de la tabla, agrego una fila nueva y pego ahí los datos, después le modifico solo la columna ModelName por la del modelo que estoy agregando.
En este caso fui la opción "Edit" del WDBX editor, "find" y escribí "alexstrasza" para que el programa busque la fila donde está de su modelo.
Copié la fila de Alexstrasza, la pegué al final de la tabla y le reemplazé en ModelName "Creature/Alexstrasza/alexstrasza.mdx" por "Creature/Ysera/ysera.M2"
Por último hay que anotar el número de la columna "ID" (la primera columna) de la fila que agregamos, ese va a ser el "ModelID" de Ysera, que vamos a usar en la otra base de datos. Guardamos los cambios y cerramos la base de datos.
1699469520750.png

1699469580511.png

1699469601507.png

1699469632912.png

1699469676298.png

1699469726987.png

1699469753937.png

1699469782078.png
 

Archivos adjuntos

  • 1699468965175.webp
    1699468965175.webp
    126.2 KB · Visitas: 62
Última edición:
Creador del tema
1699470224853.webp

Ahora hay que abrir "creaturedisplayinfo.DB", en esta hay que buscar el NPC al que quiero reemplazarle el modelo por el de Ysera, es un poco mas difícil encontrarlo porque no tiene el nombre, hay que identificarlos por el ID de la primera columna, ese es el "DisplayID", para saber a que NPC corresponde cada DisplayID conozco 2 formas:

A) Se puede usar el programa WoW Model Viewer para buscar el NPC por su nombre en inglés, al lado del nombre salen 2 números, el primero es el "EntryID", ese no nos interesa y el segundo es el "displayID", que se usa en creaturedisplayinfo.db.
(la primera vez que abras el WoW Model Viewer te va a preguntar donde está instalado el WoW WotLK).

B) Se puede buscar el NPC en Wowhead.com - classic WotLK. Ese es el link de Alexstrasza:


El número 26917 que sale en el link es el "entryID" de Alexstrasza, para saber su displayID hay un botón gris que dice "Enlaces" al lado de un botón rojo que dice "ver en 3D", apretás "Enlaces" y sale una lista, el "identificador de visualización" es el "displayID" de Alexstrasza, es el número 28227.

Yo suelo sacar el displayID de Wowhead y después verifico que sea correcto en WoW Model Viewer.
Voy al WDBX editor, abro creaturedisplayinfo.DB, voy a edit/ go to, escribo 28227 y el programa avanza hasta la fila de Alexstrasza.
En esa fila hay que reemplazar el ModelID de Alexstrasza por el de Ysera que creamos en creaturemodeldata.DB y las texturas de Alexstrasza por las de Ysera que habíamos extraído con el CASC, hay que escribir:

En Texture_1: Ysera1
En Texture_2: Ysera2
(SIN el ".BLP" al final)

Guardo los cambios y cierro la creaturedisplayinfo.DB
En este ejemplo se cambia a Alexstrasza por Ysera pero se puede hacer con cualquier NPC, incluso los que están vinculados a un item que te transforma como el pez descarriado, yo agregué a Ysera como uno de los 4 modelos de las gafas de la fiesta de la cerveza que "te hacen ver a todos mas atractivos"
Siempre anoto en un bloc de notas todos los datos que voy a modificar antes de hacerlo para deshacer los cambios si algo no funciona.
1699470374173.webp

1699470463934.webp

1699470547455.webp

1699470613654.webp

1699470654175.webp

1699470829721.webp

1699471110100.webp

1699471173126.webp

7) Ahora tenemos los archivos de Ysera extraídos del CASC y las 2 bases de datos modificadas en WDBX editor para decirle al juego que en vez de usar el NPC Alexstrasza use el modelo de Ysera en vez de su propio modelo. Todos esos datos hay que juntarlos en un solo archivo para que el juego pueda entender esas ordenes.
Ese archivo que unifica todos los datos es el parche .MPQ, que se crea usando el programa MPQ editor, apretar la opción crear nuevo .MPQ, ponerle un nombre al parche, el WoW WotLK viene por defecto con el patch.MPQ, patch-2.MPQ y patch-3.MPQ así que hay que elegir un nombre a partir del patch-4.MPQ y hay que acomodar todos los archivos que tenemos respetando la ruta donde estaban en sus parches originales:

Las bases de datos "creaturemodeldata.db" y "creature displayinfo.db" estaban en una carpeta llamada DBFilesClient, entonces en el parche nuevo que esta vacío hay que agregar una nueva carpeta con ese nombre y dentro agregar las 2 bases de datos, esto se puede hacer arrastrando y soltando los archivos o con botón derecho/add files.

Los archivos .M2, .BLP, .ANIM y .SKIN de Ysera estaban en la carpeta "Ysera" que a su vez estaba dentro de la carpeta "Creature" asi que hay que crear una carpeta llamada Creature (cuidado de no crearla dentro de la carpeta DBFilesClient, las 2 tienen que estar en la raíz del parche) y dentro de la carpeta Creature, crear la carpeta "Ysera", dentro de la carpeta de Ysera agregar todos sus archivos.

Una vez terminado, se guarda con la opción "close .MPQ".
(Se puede seguir editándolo con la opción "open .MPQ" y seleccionando el patch-4 para agregarle mas cosas a futuro.)
1699471299083.webp

1699471548089.webp

1699471626759.webp

1699471670952.webp

1699471706849.webp

1699471741779.webp

1699471761037.webp

1699471782456.webp
 

Archivos adjuntos

  • 1699470165349.webp
    1699470165349.webp
    182.8 KB · Visitas: 50
  • 1699470734882.webp
    1699470734882.webp
    115.2 KB · Visitas: 43
  • 1699470765374.webp
    1699470765374.webp
    129.9 KB · Visitas: 49
Última edición:
Creador del tema
1699471909224.webp

1699471932170.webp

1699471951914.webp

1699471985101.webp

1699472004485.webp

1699472019423.webp

1699472076983.webp

1699472259366.webp

Si no te deja agregar los archivos con "add file", podés arrastrar y soltar la carpeta "Ysera" entera dentro de "Creature".
1699472369004.webp


8) El patch-4.MPQ terminado se copia y pega en la carpeta data del WoW WotLK, donde están el patch, patch-2 y patch-3.
Y por último se inicia el WoW para ver si se aplicaron los cambios.
1699472410098.webp

1699472489856.webp

1699472520844.webp

1699473113073.webp
 

Archivos adjuntos

  • 1699472945823.webp
    1699472945823.webp
    77.2 KB · Visitas: 69
  • Ysera.webp
    Ysera.webp
    75.9 KB · Visitas: 53
Creador del tema
¿alguien sabría decirme como podría editar las texturas de una armadura?

Conozco parches que agregan armaduras de expansiones mas nuevas o directamente agregan texturas propias al juego, pero al querer agregar una que no esté en la base de datos original, me aparece en verde o el personaje aparece desnudo como si no tuviera esa pieza equipada.

Por ejemplo probé cambiarle las texturas del pecho de paladin del tier9 por las del tier2 y funcionó, pero al querer usar una textura de otra expansión me aparece el pecho en verde o se hace invisible, dependiendo de si el nombre del archivo termina en _TU.blp o en _TU_U.blp.

También probé convertir el pecho del tier9 a .PNG, hacerle una raya color rosa, volver a convertirla a .BLP y agregarla a un parche, para ver si se veía la raya y le pasa lo mismo que a una textura de otra expansión. (siempre respetando el nombre de la textura original y su ubicación en el parche)

Incluso probé extraer la textura del pecho del tier9, cambiarle el nombre al archivo .BLP y modificando la base de datos ItemDisplayInfo.DB para que reconozca el nuevo nombre de la textura y funcionó.
Se puede cambiarle el nombre a las texturas de la base de datos original y siguen funcionando, pero si las convierto a PNG y las vuelvo a convertir a BLP dejan de funcionar aunque se llamen igual y los cambios que les hice sean mínimos.

Probé modificar el archivo .BLP de una montura y de un icono del juego y eso si funcionó, parece que el problema son los BLP de las armaduras.

Saludos!
 
Back
Top