But since that time nothing had changed - there's still no solution to preserve internal diagonals orientation while exporting. I still triangulate model before exporting. Also you could try to use some alternative file formats like Xnormal's SBM - there's a plugin for both maya and max.
Hmm- the pipeline I am working with is maya-> a custom baking tool. Maya FBX export has an option called "triangulate"- is there no way to at least force that to match how the viewport is set (left, right, best shape...)? I would manually triangulate but for other workflow reasons that isn't really an option. Also, maya's triangulation tool (under mesh>triangulate) seems to do something totally different than any of the 3 triangle stripping options.
So guess what I am saying is that my actual export can be fully triangulated- it just needs to match any of the 3 automatic triangulation modes in maya.
Hmm- the pipeline I am working with is maya-> a custom baking tool. Maya FBX export has an option called "triangulate"- is there no way to at least force that to match how the viewport is set (left, right, best shape...)?
That's the whole thing! The FBX exporter "recieves" the model in its internal representation. It looks like dynamic diagonals reorientation is performed by maya in realtime without affecting actual model representation in memory. The worst thing is that I found no way to match visible triangulation in viewport and what you get after manual triangulation or exporting.
I would manually triangulate but for other workflow reasons that isn't really an option.
I really wonder how this problem is being solved in maya-based studios. The exported geometry almost never matches the model in viewport unless it is explicitly triangulated and/or manually edited. The most interesting is that maya viewport's HQ render somehow "compensates" the tangent space of the model which leads to correct display of normal maps even while diagonals rotation.
Also, maya's triangulation tool (under mesh>triangulate) seems to do something totally different than any of the 3 triangle stripping options.
So guess what I am saying is that my actual export can be fully triangulated- it just needs to match any of the 3 automatic triangulation modes in maya.
I wish I knew the solution too The only real way is to work with triangulated model - this helps to aviod all these export/bake/display mismatches.
I am bumping this for more people to read. This is still a huge pain in the ass for me. Is there anyone here who knows melscript who could say if it was possible to match maya's internal triangulation to what is going on in the viewport? Or if there is any way to write a custom triangulation script that can force triangulate exactly the same as what is going on in the viewport?
I always get the same edge orientation as viewport when triangulating, perhaps you mean the vertex normals?. If so this can be solved by locking the normals before triangulating.
As far as I know here, the mesh gets manually triangulated by our export script before exporting. Since it's done by script it's reversible/non destructive: create a copy of the mesh, triangulate, export, delete the copy.
Complete triangulation is always a cure! BUT! It makes rigger's work muuuch harder. Although I don't mind triangulation it's really harder to see edgeloops while skinning process.
Another issue in this case is that studio's pipeline may include both max and maya users. Sometimes in maya modeler may create a model which shape looks slightly different in max because if lost dialoganls orientation. Example below.
Here we may clearly see the differences in silhouettoes between sample model in maya and exported one in Marmoset.
@funshark
The model you get after export IS AN ACTUAL geometry. Thw model you see in viewport is a "dynamically tweaked" geometry.
@JacqueChoi
Sometimes the model made in Maya is being rigged in Max (oh sh*t!) - and rigger often wanna add some extra edgeloops in deformation areas. When the model submitted for animation was previously triangulated - you may imagine how inconvenient it is.
Anyway it's not a great problem, but sometimes makes work a bit uncomfortable.
Maya get's the shortest edge possible automatically on these cases, which is cheaper to have smaller triangles, obviously. I just can't understand how Marmoset/Max can't think of getting the shortest too!? I know, I know, the fbx exporter should have given you the same triangulation, but unfortunately autodesk didn't fix that yet.
As for locking the normals you can also instead of using the triangulated mesh, you can duplicate, triangulate and TRANSFER ATTRIBUTES the locked triangles normals to the quad one. You will still have to triangulate before exporting.
Try not touching with modeling after in max, just in Maya. I wouldn't change the mesh after it's rigged. Always before.
I did some more testing with the mesh>triangulate last night and figured out the problem was related to the object's history. I thought this was default behavior since it was happening with all my assets but it turns out that a freshly imported fbx from max needs history deleted before doing a triangulation- else it triangulates in a arbitrary direction regardless of what is in the view-port.
Manual triangulation like this will work- it just isn't as ideal as having FBX do it automatically.
AlecMoody > yep, never seen this thing not working afaik; history always brings some nerves when not checked properly
pasha_sevez > huh? What you're showing right now is just something we already know. Maya has his own triangulation algo ( but you can change it to force it clockwise or counter ) and if you do not triangulate your mesh before importing it in another soft, you can be sure that some edges were flipped.
Maya has his own triangulation algo ( but you can change it to force it clockwise or counter ) and if you do not triangulate your mesh before importing it in another soft, you can be sure that some edges were flipped.
I wonder, is there any way to prevent Maya from dynamic diagonals turning? I mean Max-style processing of internal polygons triangulation - on demand or manually (I know there's a way to swap diagonals manually since Maya 2010 if I'm not mistaking).
ummn no I have a friend who wrote a quad/polys inner tri twist tool ( like max )
I do not know if there is now supposedly another import option you guys are talking about? But when I export to to UDK without triangulating it always keeps the invisible tri edge direction. Unless there is an issue with maya fbx to max that Unreal doesn't mess up?
I can ask him if I am allowed to share the tool if anyone is interested??
I would be interested to see if triangles are now broken with the tool into other packages and engines?
Hey so couple of the artists been modeling stuff in max and importing to maya but maya seems to have a different triangulation than max. Is there anyway to switch max triangulation without manually turning edges?
Max will always use an automatic mode unless you manually turn an edge. I don't think there is a way to set left or right direction like in maya. I have dealt with triangulation direction in both max->maya and maya->max, what workflow problems are you guys having with max->maya?
Are your FBX plug-ins up to date ? (2013.3)
There's a preserve edge orientation there.
Yeah FBX plug-ins are up to date but was trying to keep all quads for rigging purposes. Looks like the normals were baked with triangulation the one way making small normal artifacts show up as Maya is triangulating some faces the other way. BTW edge orientation triangulates the mesh since FBX just looks at what is visible.
Max will always use an automatic mode unless you manually turn an edge. I don't think there is a way to set left or right direction like in maya. I have dealt with triangulation direction in both max->maya and maya->max, what workflow problems are you guys having with max->maya?
Ah thats shitty. Just normal map artifacts with different triangulation. Solved it by triangulating the mesh before export but was just trying to keep it quads for easier use in rigging/further changes etc.
Does your engine compute normals or import them from the object file? If it is importing them, force triangulating before sending the model out of max is probably for the best, since maya has different normal handling for a quad then it does for a triangle.
Does your engine compute normals or import them from the object file? If it is importing them, force triangulating before sending the model out of max is probably for the best, since maya has different normal handling for a quad then it does for a triangle.
Hey Alec, thanks for the quick response. Yeah it imports them from the exported object and I just told the artists to triangulate before export. Just more work on my end :P Shame there isn't more options to handle this. Ah well thanks anyways!
Replies
http://www.polycount.com/forum/showthread.php?t=76767
But since that time nothing had changed - there's still no solution to preserve internal diagonals orientation while exporting. I still triangulate model before exporting. Also you could try to use some alternative file formats like Xnormal's SBM - there's a plugin for both maya and max.
So guess what I am saying is that my actual export can be fully triangulated- it just needs to match any of the 3 automatic triangulation modes in maya.
That's the whole thing! The FBX exporter "recieves" the model in its internal representation. It looks like dynamic diagonals reorientation is performed by maya in realtime without affecting actual model representation in memory. The worst thing is that I found no way to match visible triangulation in viewport and what you get after manual triangulation or exporting.
I really wonder how this problem is being solved in maya-based studios. The exported geometry almost never matches the model in viewport unless it is explicitly triangulated and/or manually edited. The most interesting is that maya viewport's HQ render somehow "compensates" the tangent space of the model which leads to correct display of normal maps even while diagonals rotation.
I wish I knew the solution too The only real way is to work with triangulated model - this helps to aviod all these export/bake/display mismatches.
Do you have an example? screen?
Not really sure if you plan on doing 'additional' work to it after export.
Another issue in this case is that studio's pipeline may include both max and maya users. Sometimes in maya modeler may create a model which shape looks slightly different in max because if lost dialoganls orientation. Example below.
Here we may clearly see the differences in silhouettoes between sample model in maya and exported one in Marmoset.
@funshark
The model you get after export IS AN ACTUAL geometry. Thw model you see in viewport is a "dynamically tweaked" geometry.
@JacqueChoi
Sometimes the model made in Maya is being rigged in Max (oh sh*t!) - and rigger often wanna add some extra edgeloops in deformation areas. When the model submitted for animation was previously triangulated - you may imagine how inconvenient it is.
Anyway it's not a great problem, but sometimes makes work a bit uncomfortable.
As for locking the normals you can also instead of using the triangulated mesh, you can duplicate, triangulate and TRANSFER ATTRIBUTES the locked triangles normals to the quad one. You will still have to triangulate before exporting.
Try not touching with modeling after in max, just in Maya. I wouldn't change the mesh after it's rigged. Always before.
Manual triangulation like this will work- it just isn't as ideal as having FBX do it automatically.
pasha_sevez > huh? What you're showing right now is just something we already know. Maya has his own triangulation algo ( but you can change it to force it clockwise or counter ) and if you do not triangulate your mesh before importing it in another soft, you can be sure that some edges were flipped.
I wonder, is there any way to prevent Maya from dynamic diagonals turning? I mean Max-style processing of internal polygons triangulation - on demand or manually (I know there's a way to swap diagonals manually since Maya 2010 if I'm not mistaking).
the edge turn thing works only when the edge is visible.
I do not know if there is now supposedly another import option you guys are talking about? But when I export to to UDK without triangulating it always keeps the invisible tri edge direction. Unless there is an issue with maya fbx to max that Unreal doesn't mess up?
I can ask him if I am allowed to share the tool if anyone is interested??
I would be interested to see if triangles are now broken with the tool into other packages and engines?
There's a preserve edge orientation there.
Yeah FBX plug-ins are up to date but was trying to keep all quads for rigging purposes. Looks like the normals were baked with triangulation the one way making small normal artifacts show up as Maya is triangulating some faces the other way. BTW edge orientation triangulates the mesh since FBX just looks at what is visible.
Ah thats shitty. Just normal map artifacts with different triangulation. Solved it by triangulating the mesh before export but was just trying to keep it quads for easier use in rigging/further changes etc.
Hey Alec, thanks for the quick response. Yeah it imports them from the exported object and I just told the artists to triangulate before export. Just more work on my end :P Shame there isn't more options to handle this. Ah well thanks anyways!