Home Technical Talk

FBX triangulation direction out of maya?

AlecMoody
ngon master
Offline / Send Message
AlecMoody ngon master
Does anyone know if there is a way to preserve triangulation direction with fbx out of maya? Max has the option but maya doesn't.

oh and im running fbx 2012.2 on both.

Replies

  • pasha_sevez
    Options
    Offline / Send Message
    pasha_sevez polycounter lvl 13
    I have already faced this problem and created this thread

    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.
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    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.
  • pasha_sevez
    Options
    Offline / Send Message
    pasha_sevez polycounter lvl 13
    AlecMoody wrote: »
    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.
    AlecMoody wrote: »
    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.
    AlecMoody wrote: »
    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.
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    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?
  • funshark
    Options
    Offline / Send Message
    funshark polycounter lvl 16
    I've never seen that the triangulation option inside Maya doesn't match with what you have at screen.
    Do you have an example? screen?
  • Scruples
    Options
    Offline / Send Message
    Scruples polycounter lvl 10
    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.

    bo5ad.png
  • Xoliul
    Options
    Offline / Send Message
    Xoliul polycounter lvl 14
    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.
  • JacqueChoi
    Options
    Offline / Send Message
    JacqueChoi polycounter
    I know this sounds cumbersome, but is there any reason you wouldn't just triangulate it before exporting?


    Not really sure if you plan on doing 'additional' work to it after export.
  • pasha_sevez
    Options
    Offline / Send Message
    pasha_sevez polycounter lvl 13
    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.

    maya_triangulation.jpg

    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.
  • bugo
    Options
    Offline / Send Message
    bugo polycounter lvl 17
    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.
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    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.
  • funshark
    Options
    Offline / Send Message
    funshark polycounter lvl 16
    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.
  • pasha_sevez
    Options
    Offline / Send Message
    pasha_sevez polycounter lvl 13
    funshark wrote: »
    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).
  • funshark
    Options
    Offline / Send Message
    funshark polycounter lvl 16
    nope, you can't :)
    the edge turn thing works only when the edge is visible.
  • dr jekyll
    Options
    Offline / Send Message
    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?
  • haiddasalami
    Options
    Offline / Send Message
    haiddasalami polycounter lvl 14
    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?
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    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?
  • Noors
    Options
    Offline / Send Message
    Noors greentooth
    Are your FBX plug-ins up to date ? (2013.3)
    There's a preserve edge orientation there.
  • haiddasalami
    Options
    Offline / Send Message
    haiddasalami polycounter lvl 14
    Noors wrote: »
    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.
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    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.
  • haiddasalami
    Options
    Offline / Send Message
    haiddasalami polycounter lvl 14
    AlecMoody wrote: »
    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!
Sign In or Register to comment.