Assets made in Maya Uved in Maya sometimes do not display texture in Unity - what’s the trick?
Surface Shaders are usually the culprit, for some reason the UVs get zeroed out. Change the Material to a Lambert or something and it should solve the problem.
Tree,
The material on my object is lambert and the shader is diffuse… I know that the object has many vertex colors (which I can’t delete for some reason (m2008)) and the building of it was messy, it has only one uv
Are you saving the texture into assets with the model? I save my psd’s directly to Unity assets in my project in a folder with the objects name. This folder contains all the 3D and 2D associated with that object.
If I import the texture separately, I have to drag the texture onto the object in scene view for it to show. I’m using Maya7 . Don’t know what the differences are between it and 2008.
I found the culprit : many vertexcolors in the scene, once I set the outliner to show me these and I deleted them all, after cleaning the history as well it’s now working.
yeah, I regularly delete history when working on a model and then go through the outliner and clean out a lot of junk.
You might also go into hypershade in the rendering editors pop up and clean out any duplicated stuff there as well. It is not uncommon to have 20-30 duplicated texture calls and pasted materials when making my tanks as I do a lot of copy and paste for wheels and such.
I had a similar problem a while back and someone on the forum told me to make sure that all the textures for the Maya file are in a folder called “textures” and then Unity will recognize them. That worked for me.
In my assets list, I have a folder for each object and in that folder are the 3D model and all textures, etc. associated with that model.
yes, that is fine. whatever folder contains the textures for your maya file just rename it to “textures” if you don’t see the textures already mapped onto your maya object when you drag and drop it into the scene view.
As well as cleaning history, if it is just geometry and UV maps, it is often helpful to export the geometry into a fresh scene before pulling it into Unity or anything else.
Maya is the buggiest program on the planet that we all love so much.
Thanks Everyone
Here is how I end up solving all Maya problems:
- save textures in the same folder as the .mb file
- delete all non deformer history (and sometime all deformer and re-skin which is easy now that copy weight works)
- use booleans only to prototype model. rebuild the final shape by hand
- avoid dual UVs and if one is needed for lightmapping, use vertex color instead.
- on complex organic models, just give up and use Unfold3D instead
http://www.polygonal-design.fr/e_unfold/index.php
@ joeyjr
It is entirely unnecessary to place your textures into a specific folder named “Textures”. While you’re texturing in Maya just reference the proper texture files that reside in your Unity Project folder. They attach just fine.
@ llavigne
Again, you don’t need to structure your assets in any specific way. In Maya simply reference the textures to the same spot you have them residing in your Unity Project folder, it’s not magic, it’s common sense and it works.
Booleans work great if you delete history. I use them all the time.
Multiple UVs work fine too, but it is necessary to have textures assigned to those UV sets so use a layered texture in Maya.
Ethan