Hello Everyone,
I've been working on a peach blossom brooch for Enchantress as part of Dota's upcoming Year of the Horse event. I've gotten the model and the texture where I want it, but I wanted to upload it into Dota2 to check the shaders. That's where I started to run into problems.
At one point, I had the model load properly and the color texture appeared as it should. However, the shaders didn't appear to be loading, and the texture needed a bit of cleaning up. On subsequent uploads, the texture was fuzzy and uneven, as if the UV's were bugged in the export. When I reimported the file to Maya, however, everything checked out. The shaders still refuse to load properly, and I decided to call it a night when subsequent exports (in .fbx)
no longer attached the hairpiece to her head. It now sits in the ground between her hooves.
I haven't attached any files yet, as I do not know what would be useful. If you would be so kind as to let me know, I will get them along to you asap. Thank you for your help, and Happy New Year.
Replies
1. The location and rotation of your object is not on 0,0,0 (x,y,z)
2. You didn't bone the object or you boned it improperly.
Also, are the masks finished? They are the ones responsible for the shading to work in-game. Also make sure that you're saving them as 32bit TGA and that you have some white pixels at the Alpha channel of both masks, even if you're not using them, because if not, the Alpha channel won't get loaded.
@belkun, I figured out to save in 32bit, but I forgot about the extra pixels. I'll double check that, thanks.
To elaborate: some parts are not in the 0-1 space. This includes things that are not symmetrically mapped.
The second problem is that the mesh does not seem to be skinned to any bone, that is why it appears at 0,0,0. When you export the skinning modifier still needs to be at the top of the stack (in max anyway).
I export to .smd so I cant say for sure, but you also need to have the appropriate bone visible when you export and choose an option like 'ignore non-renderable meshes'.
Hope that helps.
@Reyne, I think I get what you're referring to the with the UV's being outside of the 0-1 space. It is how it is because I was trying to avoid having the UV's overlap for sculpting in mudbox. If two UV shells overlap, it causes all kinds of mess in the normal map. I was producing the low poly and high poly models at the same time, so the high poly model is more properly arranged in the 0-1 space. The low poly model got arranged more in favor of the -1-0 space as a result.
As for the bones, that's very peculiar. I did smooth bind the mesh to the head joint, and everything seemed to be fine. It's quite possible I missed a checkbox in the export settings, so I will double check that tomorrow.
So I made sure to freeze transformations, delete history, etc. before binding the model, and I checked on deformed skins in the fbx export options, and it worked. Her hair is on her head again, so there's that at least.
However, the textures remain bizarre. I followed belkun's advisory and added spots to each mask channel, but it didn't seem to fix the problem. It seems to me like the UV's are getting screwed up, but a double check of the fbx file in Maya confirms that they are fine. I would double check the masks, but that's what I'm trying to do by importing into Dota. Any ideas?
Thanks for your help, guys.
Xajal, that makes a lot of sense, and that's how I originally did my shader masks. However, I found that, for whatever reason, it was actually better for me to deviate to get closer to the desired effect. Of course, now that I can't upload the new high poly, I'm not sure how things are looking.