I've been working lately on expanding my NeoDex toolset into Sc2. I started these project as NeoDex's new direction. I looked into many tutorials and I realised that, in avarage, getting a WoW model with decent quality into Sc2 can take a long time. Specialy if the model you want has a LOT of textures.
For this purpose I looked into the most time consuming and boring parts of the whole process. Here's how you convert them as of now:
You extract your model's .m2, .skin and textures from WoW. (2 mins max)
You create the diffuse, normal, specular and emissive maps. (3 mins per texture) (10 textures = 30 mins! without stopping)
You import the model using ufoz & Nintoxicated's m2 importer. (1 min)
You must rescale and reset up the model and its materials (10mins to 1 hour)
You must redeclare each of the sequences for Sc2. (5 minutes to some hours)
you must create the sc2 helper objects (10 minutes at max)
Preview and change some values with live update (20 mins to many hours of refining).
Problems with the current workflow:
Imported models are buggy and hard to edit.
The importer does not translate WoW materials and sequences into Sc2's.
There's no automatic way to get the diffuse, normal and specular components from a texture. (There's a big bad conception that the diffuse and normal WoW texture are the same, the first only describes colors, the second one has shading).
too much time is wasted recreating things that the importer can handle.
No easy way to integrate WoW and Wc3 models for major edits.
No current way to convert ribbon/particle emitters.
Solutions:
Improve the importer, make it faster and fix the big problems.
Integrate the importer into NeoDex and Sc2ArtTools.
Create a photoshop script to take the diffuse, normal and specular out of each texture as fast as possible.
Artefacts:
M2 Importer:
Now how an scene imported correctly looks like just as the importer finishes (no extra touches):
The Photoshop actions:
Now a test on a WoW texture:
After running Make Diffuse:
(as you can see, a lot less shading)
After running Make Normal:
Quite decent.
After running Make Specular:
Now let's do a simple test on a complex model:
The model has 13 textures! Omg who could convert that? No problem there's batch operation in photoshop.
We organize our files in the next way:
Our m2 and skin are on the main folder, all the textures as .tga are in the OriginalTextures folder. Now we need to pass 3 batches to the original textures in photoshop, to create the maps.
First I pass the Diffuse Batch using MakeDiffuse2 (these one generates .dds unlike MakeDiffuse):
I used my sourced folder, the originalTextures and my destination folder as my main main folder.
After 1 min, I have the diffuse map of each texture:
Now I'll repeat the batch for normal map and specular map:
Done, this should have taken me about 10 minutes.
Now I'll Import the model:
After I have imported it, it looks like this:
Now, without any changes, I'm going to preview it, but I'll do it with the liveUpdater so I can tweak the material properties.
I hit LiveUpdate and then Update All now:
Now this is how it should look in-game:
Normals:
Close look:
Quite close, but it may need some tweakings. For instance, some materials may need more specularity so you must change the specular multiplier. The wood planks, need a more defined Normal map, so it must be done by hand to scale off a bit more. However, it's very close to a perfect export and it only took 15 minutes!
Now some other tests, the SpellBreaker made using WoW's BF Guard and some meshes and textures from wc3:
It took me 1 hour and half to make, but works like a charm:
on night:
from the back:
Things I did after importing: I created the emissive maps by hand, added the SPbreaker mask from wc3, added teamcolors, added Sc2 Helpers, tuned a bit the animations, added attachments, made the sword use an envio mask and added some particles.
I expect to release the tools in about 1 week. I still have a lot of work to do:
Fix some little importing issues.
Add neodex support, in order to edit the models using wc3 tools.
Add an option for the NeoDex Importer to import the model for sc2 art tools.
Interesting. Never heard of NeoDex before, and I use Mindtex for normals and such, but an update to the m2 importer was sorely needed at the least. I'm definitely going to check this out.
Do you have any advice for someone wanting to make the diffuse less cartoony?
The idea in shader theory is that color is taken from the diffuse and shading is dynamicly made by the normal map.
However, if you really want the models look more serious, you can desaturate the diffuse a bit, this will give a more serious look. You can add that option by editing the makeDiffuse action and recording a new hue/saturation action that just reduces saturation.
About NeoDex: it's a wc3 model editing toolkit for 3ds max and gmax. I'm trying to integrate NeoDex into Sc2 Art Tools by allowing the transformation of wc3/WoW scenes into Sc2 Art Tools scenes. Sadly, the Sc2 Art Tools Maxscript API is not to open, so I haven't discovered everything yet.
One thing tho, sometimes the normal map does not come out so nice, so you should re-apply the diffuse filter on top of the normal map, so it smoothens out the too rough stuff and makes it nice and clean.
Alright. I'll have to mess around with the saturation then.
It's good to see people still working with the max scripts. NeoDex seems pretty cool. I've been mostly working with importing unreal engine stuff at the moment, so I haven't really gotten into converting WoW stuff yet. Setting up the animations and stuff is definitely really time consuming, so it'll be great to have that automated.
How accurate is the conversion for particle effects, if you got around to that yet? If I import some of the more complex spell effects, like Frosty Touch impact, would they look fairly similar in max? I would imagine this would be one of the tougher things to convert.
Also, one other somewhat unrelated minor question that either of you might be able to answer. I can import some models from .nif format from Requiem: Bloodymare. But the animations are individual files, and importing them one after the other causes some pretty serious bugs. I've had some issues with m3a files in the past and I can't be assured the mesh format for the actual m3 and then the scene containing the individual animations will be the same (due to rescaling and such). Is there an easy way I can merge animations from multiple files into a single file?
@TaylorMouse: Go
@TaylorMouse
Layers, sure man, nice idea.
How about i give you the option to get them on bones or points. For me bones are very messy to work with sometimes, specially if you are doing FK.
could you elaborate on this: the ref points need to take into account the scale factor?
Scaling is not done through tricks, it's hardcoded into the model's data. So it actualy scales and "rotates" the model before building the scene.
@IskatuMesk
Particle conversion may depend a lot on Sc2 Particle system. Until now it seams everything is supported, but I still need to keep looking. I'll probably implement lights and ribbon first.
Yeah the layers are a good way to hide the unnecessary stuff while you are working on the materials and so on :)
The hardpoints, when importing them as SC2AttPoints, when I set the scale to 59, cause that is about the match it needs for SC2 models, stay all at the bottom... :/
See the image below. ( I changed your script so it imports the att pnts as bones )
Just a heads up on your MakeNormal2 action set you have the save set to the wrong type of .DDS texture. So it will save the normals as a grey color. I'm not sure if this has any affect on things but I made a new action set to save it as the one I've always used.
I think normal map generation must be improved, wow diffuse maps aren't good source of using them as height map.
Instead, their normalized grayscale could be used as inverted top-down channel for normal map. Probably. Becaause diffuse map in wow kinda include lightning from top.
I think normal map generation must be improved, wow diffuse maps aren't good source of using them as height map.
Instead, their normalized grayscale could be used as inverted top-down channel for normal map. Probably. Becaause diffuse map in wow kinda include lightning from top.
I use the max RGB value to get the height (the NVidio tools already gets the heights from a certain value). It's a good aproximation, but if you want perfect results you need to do it by hand or find a way to generate a bitmap with heights rescaled according to the vertex uv on z scale.
Added Visibility Animations (does not work on some particle emitters)
Added Parameter Animations
Added Texture Animations
Added Global Sequences.
IMPORTANT NOTE:
if you import a model and it has global sequences. Open the animation Prop and go to each Glstand Animation and delete the default trackset. Afterwards SAVE your scene and try previewing it. Art Tools may crash, but if you reload your scene they should work after that.
I've been working lately on expanding my NeoDex toolset into Sc2. I started these project as NeoDex's new direction. I looked into many tutorials and I realised that, in avarage, getting a WoW model with decent quality into Sc2 can take a long time. Specialy if the model you want has a LOT of textures.
For this purpose I looked into the most time consuming and boring parts of the whole process. Here's how you convert them as of now:
Problems with the current workflow:
Solutions:
Artefacts: M2 Importer:
Now how an scene imported correctly looks like just as the importer finishes (no extra touches):
The Photoshop actions:
Now a test on a WoW texture:
After running Make Diffuse:
(as you can see, a lot less shading)
After running Make Normal:
Quite decent.
After running Make Specular:
Now let's do a simple test on a complex model:
The model has 13 textures! Omg who could convert that? No problem there's batch operation in photoshop.
We organize our files in the next way:
Our m2 and skin are on the main folder, all the textures as .tga are in the OriginalTextures folder. Now we need to pass 3 batches to the original textures in photoshop, to create the maps.
First I pass the Diffuse Batch using MakeDiffuse2 (these one generates .dds unlike MakeDiffuse):
I used my sourced folder, the originalTextures and my destination folder as my main main folder.
After 1 min, I have the diffuse map of each texture:
Now I'll repeat the batch for normal map and specular map:
Done, this should have taken me about 10 minutes.
Now I'll Import the model:
After I have imported it, it looks like this:
Now, without any changes, I'm going to preview it, but I'll do it with the liveUpdater so I can tweak the material properties.
I hit LiveUpdate and then Update All now:
Now this is how it should look in-game:
Normals:
Close look:
Quite close, but it may need some tweakings. For instance, some materials may need more specularity so you must change the specular multiplier. The wood planks, need a more defined Normal map, so it must be done by hand to scale off a bit more. However, it's very close to a perfect export and it only took 15 minutes!
Now some other tests, the SpellBreaker made using WoW's BF Guard and some meshes and textures from wc3:
It took me 1 hour and half to make, but works like a charm:
on night:
from the back:
Things I did after importing: I created the emissive maps by hand, added the SPbreaker mask from wc3, added teamcolors, added Sc2 Helpers, tuned a bit the animations, added attachments, made the sword use an envio mask and added some particles.
I expect to release the tools in about 1 week. I still have a lot of work to do:
For info on NeoDex look at: http://www.hiveworkshop.com/forums/modeling-animation-276/neodex-2-61-wc3-modeling-kit-3dsmax-gmax-115767/
Interesting. Never heard of NeoDex before, and I use Mindtex for normals and such, but an update to the m2 importer was sorely needed at the least. I'm definitely going to check this out.
Do you have any advice for someone wanting to make the diffuse less cartoony?
@IskatuMesk: Go
Well the diffuse is by itself cartoony.
The idea in shader theory is that color is taken from the diffuse and shading is dynamicly made by the normal map.
However, if you really want the models look more serious, you can desaturate the diffuse a bit, this will give a more serious look. You can add that option by editing the makeDiffuse action and recording a new hue/saturation action that just reduces saturation.
About NeoDex: it's a wc3 model editing toolkit for 3ds max and gmax. I'm trying to integrate NeoDex into Sc2 Art Tools by allowing the transformation of wc3/WoW scenes into Sc2 Art Tools scenes. Sadly, the Sc2 Art Tools Maxscript API is not to open, so I haven't discovered everything yet.
Alright, this does everything my tutorial says :)
love it.
One thing tho, sometimes the normal map does not come out so nice, so you should re-apply the diffuse filter on top of the normal map, so it smoothens out the too rough stuff and makes it nice and clean.
T.
My Starcraft II Tutorials Youtube Channel
My Basic Moddeling Tutorials Youtube Channel
My assets here
@BlinkHawk: Go
Alright. I'll have to mess around with the saturation then.
It's good to see people still working with the max scripts. NeoDex seems pretty cool. I've been mostly working with importing unreal engine stuff at the moment, so I haven't really gotten into converting WoW stuff yet. Setting up the animations and stuff is definitely really time consuming, so it'll be great to have that automated.
How accurate is the conversion for particle effects, if you got around to that yet? If I import some of the more complex spell effects, like Frosty Touch impact, would they look fairly similar in max? I would imagine this would be one of the tougher things to convert.
Also, one other somewhat unrelated minor question that either of you might be able to answer. I can import some models from .nif format from Requiem: Bloodymare. But the animations are individual files, and importing them one after the other causes some pretty serious bugs. I've had some issues with m3a files in the past and I can't be assured the mesh format for the actual m3 and then the scene containing the individual animations will be the same (due to rescaling and such). Is there an easy way I can merge animations from multiple files into a single file?
@BlinkHawk: Go
Tested it, looks great, just a few remarks tho
T.
My Starcraft II Tutorials Youtube Channel
My Basic Moddeling Tutorials Youtube Channel
My assets here
@TaylorMouse: Go @TaylorMouse Layers, sure man, nice idea.
How about i give you the option to get them on bones or points. For me bones are very messy to work with sometimes, specially if you are doing FK.
could you elaborate on this: the ref points need to take into account the scale factor?
Scaling is not done through tricks, it's hardcoded into the model's data. So it actualy scales and "rotates" the model before building the scene.
@IskatuMesk
Particle conversion may depend a lot on Sc2 Particle system. Until now it seams everything is supported, but I still need to keep looking. I'll probably implement lights and ribbon first.
@BlinkHawk: Go
Yeah the layers are a good way to hide the unnecessary stuff while you are working on the materials and so on :)
The hardpoints, when importing them as SC2AttPoints, when I set the scale to 59, cause that is about the match it needs for SC2 models, stay all at the bottom... :/
See the image below. ( I changed your script so it imports the att pnts as bones )
T.
My Starcraft II Tutorials Youtube Channel
My Basic Moddeling Tutorials Youtube Channel
My assets here
Yeah a lil detail, I'm still fixing attachments. They don't really work too well right now.
Just a heads up on your MakeNormal2 action set you have the save set to the wrong type of .DDS texture. So it will save the normals as a grey color. I'm not sure if this has any affect on things but I made a new action set to save it as the one I've always used.
It doesn't have any effect. Normal maps just store two channels which represent the XY components.
Okey. Took your feedback and made an improved version of the importer.
Feutures:
Future Feutures:
@BlinkHawk: Go
very impressive work
Marie T. Freeman If you're too busy to give your neighbor a helping hand, then you're just too darned busy. https://www.facebook.com/wargirlmaps.maps
Spread the love join DISCORD
https://discord.gg/Jtzt8Su
New version!
Feutures:
Have in mind that the importer is still not perfect, but it's coming along pretty well to that purpose.
I'll try to get done for next week:
With that, transforming a WoW model will be a piece a cake.
Awesome work. I only just got my house/rig rolling again so I haven't gotten the chance to test it yet, but I look forward to it.
I think normal map generation must be improved, wow diffuse maps aren't good source of using them as height map.
Instead, their normalized grayscale could be used as inverted top-down channel for normal map. Probably. Becaause diffuse map in wow kinda include lightning from top.
I use the max RGB value to get the height (the NVidio tools already gets the heights from a certain value). It's a good aproximation, but if you want perfect results you need to do it by hand or find a way to generate a bitmap with heights rescaled according to the vertex uv on z scale.
Okey guys new version:
IMPORTANT NOTE: if you import a model and it has global sequences. Open the animation Prop and go to each Glstand Animation and delete the default trackset. Afterwards SAVE your scene and try previewing it. Art Tools may crash, but if you reload your scene they should work after that.
Here's a preview of an Exported Model:
i dont know :D You can too only export m3 , that will export you too textures , import textures, close editor , open, import model and its same :D
@BlinkHawk: Go
Your continued work is encouraging and much appreciated, sir.