This is a read only copy without any forum functionality of the old Modcraft forum.
If there is anything that you would like to have removed, message me on Discord via Kaev#5208.
Big thanks to Alastor for making this copy!

Menu

Author Topic: [TUTORIAL] Custom WMO's Survival Kit  (Read 18999 times)

Met@

  • Contributors
  • Wiki Incarnate
  • *****
  • Posts: 120
    • View Profile
[TUTORIAL] Custom WMO's Survival Kit
« on: December 29, 2014, 06:51:56 am »
Hi Modcraft !

I'm happy to share with you my knowledges about custom wmo's. After months of research and work, I've decided to make a tutorial for those who want to make their own wmo's.

Special thanks to stan84, Supora, Waveworms and other peoples who helped me.

Tools Used



Summary


  • 1] Build the model before conversion
  • 2] Conversion of *.obj to *.wmo
  • 3] Add some doodads with WMOeditor
  • 4] Add a doodadset
  • 5] Additional informations
    • 1) Use textures with transparency
    • 2) Collisions
    • 3) Adding lights
    • 4) Coming soon and WIP...


1]Build the model before conversion



To begin, you should know what you want to do. Do some research to find references that will help you give more "credibility" to your building. If you work in a particular architectural style, do not hesitate to find your inspiration from photography, if you are not in a specific style look anyway how Blizzard constructed houses, castles, and other buildings, so your model fits well and is coherent with its environment. The style of Blizzard is particular with its distortions and its side a little "used".

I will not teach you how to make 3D models (I'm not a professional) but I will give you some tips to make it a little bit "optimized" for WoW.

Here I am working on new models of houses for Kul Tiras. The island is in a Mediterranean / Tuscany theme, I did some research to see how the houses are built in these regions.



To be sure that your home is at the right scale, you can use (and it is even advisable) the human model humanmalescale.m2 (because it is the "basic" scale in WoW), but open it large enough for passing a Tauren because it must be accessible to all races (a Tauren can enter in a human house without much problem because of its wide input) . The goal is that the player's camera could pass without taking the door jamb in the head.



Don't forget to delete useless faces.



For your model is well composed, it takes several geosets, the number varies depending on the number of "large parts" (as the capitals for example, who have a lot, by districts, house interiors, etc ...). For mine, I based on basic models of human houses, so it will be two geosets: inside and outside.



For the instance of Gnomeregan the model has 73 geosets, because it's a big model. Each rooms and tunnels are geosets, sometimes divided into several parts.



This palace (from Phantomx) has 63727 polygons and 58997 faces, it's a really huge model ingame, but it has only 24 geosets.





In fact, the number of geosets really depends on how you organize your model, you can't have a wmo with only one geoset if it's a big piece because MirrorMachine can't convert it, you must divide it.

To have a better render with light and shadows, remember to apply the smooth shading on the concerned parts (mainly for use on curved surfaces, straight walls don't necessarily need it).




2]Conversion of *.obj to *.wmo



We will go to the conversion of the model. First, save it in .obj with the correct options as below.



Once done, you have two files: your model in .obj and a .mtl file with informations about materials and textures. Open the .mtl file with your notepad, you will see the names of materials and patchs of the textures used. Simply change for that of .blp's in the mpq patch. Do it for each texture. (Insert the extension .blp instead of .jpg or .png it's not really important because the converter will add it automatically)



When finished, save and close the .mtl and open MirrorMachine to convert your .obj in .wmo . Select "OBJ File " instead of "WMO v14 ", "Open File " to select and open your model, "Settings " to check that your options are much like on this screenshot. Click "Start Convertion", if your model is well built, it should work without problems.



After conversion, you must have your wmo + his group files (the 00 .wmo) corresponding to geosets, so I have two in my case.
To verify that the paths of the textures are good, open your wmo main file in 010 editor with wmo template. Here you can see that's good.



Once everything is checked, you just have to put it in a patch and test it.



Here is the result with a basic human house next for comparison.



3]Add some doodads with WMOeditor



A house that's fine, but without furniture it's a little empty.
We are going to fill it with WMOeditor and 010 editor.

This time, open the group file in which you want to add doodads. Do CTRL+F to open the search window. In Type you must have "ASCII String (a)" and write "NBOM" in Value, then click on Find All.



You will have a line including what you want that appears in the lower part of the window. Now do CTRL + I to open an insert window and look for the file containing the chunk for upgrading your sub -parts of wmo.



If you compare with your original line and it has changed, then it is good. Save it.



Repeat for each subpart involved in your wmo.

Time to get serious and open WMO editor . At first it can be a little confusing to use because it displays models with a mirror effect.



So once your wmo is opened, go to Root File to find the geosets that compose it. Click Edit to see their options, check "Has Doodads". Close the window and repeat on the other remaining.



We can finally start placing those famous doodads. Now go to Doodad, in the bottom box is the doodadset that indicates how many m2 it has in total. Most houses have several doodadsets, but I have not figured out how to add a second, I'm working on it.
Click on the [...] to open a window with a list of m2 similar to WoW Model Viewer. Once your selected an object, double-click on it, the window will then leave and you can place it in your wmo. Please note that the window does not close so far, it just comes up behind the first one.



To navigate through the window of your building, the controls are the same as Noggit. Once you have decided where you want to place your object, place your cursor there and made CTRL + V to paste it.



Here are the commands that allow you to move your objects as you like.



Once you're done, save your work in File>Save. Your wmo completed will be saved in the WMO editor folder, in world.



You just have to go in game to see the result.







Congratulations, you are with a furnished house!

4]Add a doodadset



Quote from: "Supora"
So this time is about "how to add a doodadset"
When you got your model just after convertion you need to open your root_wmo and all of the group_wmo files in 010 Editor.
Root_wmo edition:

1) In MOHD chunk you need to set the nSets to "1" like this:



2) After edition of nSets you need to insert a MODS chunk. For this you need to find(ctrl+F) NDOM and insert "this". Then you need to find SDOM and change the value after it to 20(hexademical) like this:



3) Follow the steps which I've already explain to Met@
Quote from: "Met@"
3]Add some doodads with WMOeditor

A house that's fine, but without furniture it's a little empty.
We are going to fill it with WMOeditor and 010 editor.

This time, open the group file in which you want to add doodads. Do CTRL+F to open the search window. In Type you must have "ASCII String (a)" and write "NBOM" in Value, then click on Find All.

You will have a line including what you want that appears in the lower part of the window. Now do CTRL + I to open an insert window and look for the file containing the chunk for upgrading your sub -parts of wmo.

If you compare with your original line and it has changed, then it is good. Save it.

Repeat for each subpart involved in your wmo.

Time to get serious and open WMO editor . At first it can be a little confusing to use because it displays models with a mirror effect.

So once your wmo is opened, go to Root File to find the geosets that compose it. Click Edit to see their options, check "Has Doodads". Close the window and repeat on the other remaining.

We can finally start placing those famous doodads. Now go to Doodad, in the bottom box is the doodadset that indicates how many m2 it has in total. Most houses have several doodadsets, but I have not figured out how to add a second, I'm working on it.
Click on the [...] to open a window with a list of m2 similar to WoW Model Viewer. Once your selected an object, double-click on it, the window will then leave and you can place it in your wmo. Please note that the window does not close so far, it just comes up behind the first one.

To navigate through the window of your building, the controls are the same as Noggit. Once you have decided where you want to place your object, place your cursor there and made CTRL + V to paste it.

Here are the commands that allow you to move your objects as you like.

Once you're done, save your work in File>Save. Your wmo completed will be saved in the WMO editor folder, in world.

You just have to go in game to see the result.

Congratulations, you are with a furnished house!

4) When you are finished with first doodadset you can add another one. For this you need only to edit the root_wmo file. So agan load it in 010 Editor. Go to MOHD and change the nSets to "2". Then ctrl+F NDOM and insert "this" just like we did earlier. But now it's time for some differences: when we added a new row for MODS chunk we need to change the name of our second doodadset like this:



Then you need to change the index of first doodad used in this set to summ number of doodads used in previous sets(if you already have 2 doodadsets and wanted to add third you set this value to number of doodasds in first set + number of doodads in second. etc etc). In my case I've added only second set when first have only 9 doodads used. So I've change the "first doodad index(FDI)" to "9":



That's it. You can save the file. Pack to mpq and load in WMOEditor.

5]Additional Informations



1) Use textures with transparency

In your buildings, you may be asked to use textures with transparency as a grid for example. On blender, you can see the transparency with the rendered mode or other stuff like that, and the material clearly indicates that there is transparency.



In game you will have opaque texture like all other.



To set the transparency, we have to open the wmo in 010 editor and look in the MOMT chunk. In it, find your texture, at the line " UINT32 blendMode " you will see that the value is 0, it corresponds to the opaque mode, just put 1 in place in order to transparent mode. It's as simple as that. Save everything and voila.




2) Collisions

Normally Mirror Machine manages well enough collisions each surface must have. If some places are little bullshit on collisions or you want to make collisions as Blizzard putting invisible walls to avoid falling into a ditch, or just block passages, well I'll tell you how.

Here is an example of collisions that Blizzard has done in Gnomeregan, most of the time there are "boxes" goshawks some pipes or rounded elements such as barrels and also invisible walls to avoid falling in some holes.



Collisions are in fact a double of the model but with the same number or sometimes fewer polygons and fully transparent. To do the same, you just have to use an invisible texture on your geoset.



Quote from: "Skarn"
If you have collision bugs likr falling under the textures, try to increase the polycount on the buggy place and reconvert the model. If you can't pass trough the door even if the geometry allows that, decrease the collision leaves size in the conveter.

3) Adding lights
a) Manually with hex editor.

You can look at the video made by PhilipTNG, it's pretty well explained.

http://modcraft.io/viewtopic.php?f=20&t=9271

Maybe later I'll add this part in text with images.

4) Coming soon and WIP...

I wanted to wait a bit to publish my tutorial and put in more informations, but they need intensive work and research, so I'll put it later by updating this tutorial.

What I want to show you:
  • add music in the wmo
  • add footstep noises on the floor (wood, metal,...)
  • add more  lights (glowing windows,...)
  • add liquids (water, lava, ...)

And here are some WIP screens:




I hope this has been helpful. Enjoy.

(ps: sorry for my bad english if there are strange sentences)
« Last Edit: November 26, 2015, 10:18:28 pm by Admin »

phantomx

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 615
    • View Profile
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #1 on: December 29, 2014, 07:08:02 am »
Very nice tutorial, good job.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
[wimg]http://i.imgur.com/6fxUQL1.gif[/wimg]

Vlad

  • Registred Member
  • Loreweaver
  • *****
  • Posts: 83
    • View Profile
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #2 on: December 29, 2014, 07:13:36 am »
French People <3
« Last Edit: December 29, 2014, 08:55:00 am by Admin »

Skarn

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 807
    • View Profile
    • http://skarn-project.net
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #3 on: December 29, 2014, 08:27:43 am »
Very nice and useful tutorial. Great job. Everything seems to be absolutely right. I only have some additional information you haven't mentioned in your post. If you have collision bugs likr falling under the textures, try to increase the polycount on the buggy place and reconvert the model. If you can't pass trough the door even if the geometry allows that, decrease the collision leaves size in the conveter.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Met@

  • Contributors
  • Wiki Incarnate
  • *****
  • Posts: 120
    • View Profile
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #4 on: December 29, 2014, 08:36:29 am »
Thanks for your comments

Quote from: "Skarn"
Very nice and useful tutorial. Great job. Everything seems to be absolutely right. I only have some additional information you haven't mentioned in your post. If you have collision bugs likr falling under the textures, try to increase the polycount on the buggy place and reconvert the model. If you can't pass trough the door even if the geometry allows that, decrease the collision leaves size in the conveter.

Thanks, I added it in the tuto.

If someone have other additional informations, don't hesitate to share with us, I'll add it in the tutorial ;)
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Zebraka

  • Registred Member
  • Loreweaver
  • *****
  • Posts: 119
    • View Profile
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #5 on: December 29, 2014, 08:49:53 pm »
You are a god Meta , thanks for this awesome and useful tutorial !
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Pinkhair3d

  • Registred Member
  • Polygonshifter
  • *****
  • Posts: 62
    • View Profile
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #6 on: December 30, 2014, 12:55:09 am »
Wow, this is a fantastic guide. I'm tempted to try porting in some of my models.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Met@

  • Contributors
  • Wiki Incarnate
  • *****
  • Posts: 120
    • View Profile
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #7 on: December 30, 2014, 01:24:09 am »
Thank you, I am glad it was helpful :)

I look forward to seeing your work, all of you, if you make custom wmo, I'll be happy to see it :p

I will work and look for other useful things to upgrade this tutorial.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

majorcyto

  • Registred Member
  • Race Changer
  • *****
  • Posts: 33
    • View Profile
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #8 on: December 30, 2014, 05:30:47 am »
I can't seem to find Mirror Machine, does anyone have a link i may have for it? Thanks for your help!
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Soluhe

  • Registred Member
  • Race Changer
  • *****
  • Posts: 31
    • View Profile
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #9 on: December 30, 2014, 11:02:14 am »
https://bitbucket.org/Shgck/mirrormachine/downloads
here you go ;)

Realy nice tutorial and nice models. ;)
I wish I had the time to start modding again... :)
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Met@

  • Contributors
  • Wiki Incarnate
  • *****
  • Posts: 120
    • View Profile
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #10 on: December 30, 2014, 05:12:17 pm »
Thanks Soluhe :)

Quote from: "majorcyto"
I can't seem to find Mirror Machine, does anyone have a link i may have for it? Thanks for your help!

Sorry, I had thought to put the download links for the programs, but I have not had time, I'll do it for you to have easier.

Edit: Links added

Edit 2: added some informations about geosets
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Supora

  • Registred Member
  • Wiki Incarnate
  • *****
  • Posts: 143
    • View Profile
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #11 on: January 01, 2015, 02:14:28 am »
I'll give some tips about multiple doodad sets later. The only thing that I can't understand is how to set up the outdoors and indoors groups at once.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Met@

  • Contributors
  • Wiki Incarnate
  • *****
  • Posts: 120
    • View Profile
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #12 on: January 01, 2015, 03:47:08 am »
Thank you, it'll be really nice. I'm also working on the indoor and outdoor portal to avoid invisible geoset from exterior or interior. To add lights in wmo, the geoset in question needs to be indoor.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Supora

  • Registred Member
  • Wiki Incarnate
  • *****
  • Posts: 143
    • View Profile
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #13 on: January 01, 2015, 06:30:44 pm »
So this time is about "how to add a doodadset"
When you got your model just after convertion you need to open your root_wmo and all of the group_wmo files in 010 Editor.
Root_wmo edition:
1) In MOHD chunk you need to set the nSets to "1" like this:

2) After edition of nSets you need to insert a MODS chunk. For this you need to find(ctrl+F) NDOM and insert "this". Then you need to find SDOM and change the value after it to 20(hexademical) like this:

3) Follow the steps which I've already explain to Met@
Quote from: "Met@"
3]Add some doodads with WMOeditor

A house that's fine, but without furniture it's a little empty.
We are going to fill it with WMOeditor and 010 editor.

This time, open the group file in which you want to add doodads. Do CTRL+F to open the search window. In Type you must have "ASCII String (a)" and write "NBOM" in Value, then click on Find All.

You will have a line including what you want that appears in the lower part of the window. Now do CTRL + I to open an insert window and look for the file containing the chunk for upgrading your sub -parts of wmo.

If you compare with your original line and it has changed, then it is good. Save it.

Repeat for each subpart involved in your wmo.

Time to get serious and open WMO editor . At first it can be a little confusing to use because it displays models with a mirror effect.

So once your wmo is opened, go to Root File to find the geosets that compose it. Click Edit to see their options, check "Has Doodads". Close the window and repeat on the other remaining.

We can finally start placing those famous doodads. Now go to Doodad, in the bottom box is the doodadset that indicates how many m2 it has in total. Most houses have several doodadsets, but I have not figured out how to add a second, I'm working on it.
Click on the [...] to open a window with a list of m2 similar to WoW Model Viewer. Once your selected an object, double-click on it, the window will then leave and you can place it in your wmo. Please note that the window does not close so far, it just comes up behind the first one.

To navigate through the window of your building, the controls are the same as Noggit. Once you have decided where you want to place your object, place your cursor there and made CTRL + V to paste it.

Here are the commands that allow you to move your objects as you like.

Once you're done, save your work in File>Save. Your wmo completed will be saved in the WMO editor folder, in world.

You just have to go in game to see the result.

Congratulations, you are with a furnished house!
4) When you are finished with first doodadset you can add another one. For this you need only to edit the root_wmo file. So agan load it in 010 Editor. Go to MOHD and change the nSets to "2". Then ctrl+F NDOM and insert "this" just like we did earlier. But now it's time for some differences: when we added a new row for MODS chunk we need to change the name of our second doodadset like this:

Then you need to change the index of first doodad used in this set to summ number of doodads used in previous sets(if you already have 2 doodadsets and wanted to add third you set this value to number of doodasds in first set + number of doodads in second. etc etc). In my case I've added only second set when first have only 9 doodads used. So I've change the "first doodad index(FDI)" to "9":

That's it. You can save the file. Pack to mpq and load in WMOEditor.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Met@

  • Contributors
  • Wiki Incarnate
  • *****
  • Posts: 120
    • View Profile
Re: [TUTORIAL] Custom WMO's Survival Kit
« Reply #14 on: January 01, 2015, 06:53:59 pm »
Thanks again Supora, I updated the tuto with it :)
« Last Edit: January 01, 1970, 01:00:00 am by Admin »