Home Technical Talk

(Solved) [Maya] trivial boolean op breaks object symmetry

polycounter lvl 6
Offline / Send Message
bitinn polycounter lvl 6
Hi all,

I don't know how this would happen, but it seems even very simple boolean union operation is breaking my object symmetry, for example, a cube like this (object symmetry z):



after boolean union 2 of them like this, the object symmetry no longer work. I tried clearing history and centering pivot, it just won't enable again (again object symmetry z is on):



What are the requirement for Object Symmetry to work?

(I have double checked the vertices are merged correctly, exactly 120 of them)


Replies

  • oglu
    Options
    Offline / Send Message
    oglu polycount lvl 666
    the object does not have a centerline...
  • bitinn
    Options
    Offline / Send Message
    bitinn polycounter lvl 6
    oglu said:
    the object does not have a centerline...
    Please elaborate, because my first case shows the center line is not necessary (object symmetry z is working).

    And I have tried adding a center line, no help in this case.
  • Clark Coots
    Options
    Offline / Send Message
    Clark Coots polycounter lvl 13
    Booleans are probably one of the messier ways of modeling. I would try to reconstruct the model by extruding those faces up, or duplicate as you did before the boolean but hand delete faces and weld verts. All it takes is one vertex to be out of position by a tiny bit to break symmetry.

    Or if you did create a centerline, you can just re-mirror it and that should get you symmetry again.
  • bitinn
    Options
    Offline / Send Message
    bitinn polycounter lvl 6
    Booleans are probably one of the messier ways of modeling. I would try to reconstruct the model by extruding those faces up, or duplicate as you did before the boolean but hand delete faces and weld verts. All it takes is one vertex to be out of position by a tiny bit to break symmetry.

    Or if you did create a centerline, you can just re-mirror it and that should get you symmetry again.
    I could do that, no problem.

    But having to workaround this trivial case (which is primitive mesh union with grid snapping enabled), means basically all boolean ops might break my mesh symmetry, and I have to mirror result to fix.

    Not sure this is universally true in Maya, if there are things I overlooked, please let me know.

    (btw, I discovered this while working on a lowpoly arch, took me a while to figure out the initial boolean op is causing this, or rather, because I re-use my blockout, my mesh was not "symmetrical" from the start...)


  • Klaudio2U
    Options
    Offline / Send Message
    Klaudio2U polycounter lvl 8
    Booleans are not breaking anything here. There could be multiple reasons why is this not working. 
    First one you have to take into account is that result of a boolean operation is a separate and new object so if you have enabled symmetry on your original object only then obviously it will not work on the new object after boolean op...the new object is created which is not recognized by the symmetry. 

    Second, If you are using Maya 2018+ which has "global symmetry" option and you have enabled symmetry for "Object Z" only. Things are a bit different and the problem is that new object created by boolean operation has no transform info, notice in channel box everything is "0" even though your object is somewhere in the scene (not in world origin). 
    The solution is pretty simple, after the boolean operation just use Modify > Bake Pivot to "un-freeze" transformations. After you get correct transformations back and Maya now knows where is your object, the symmetry will work too.
  • bitinn
    Options
    Offline / Send Message
    bitinn polycounter lvl 6
    Klaudio2U said:

    Second, If you are using Maya 2018+ which has "global symmetry" option and you have enabled symmetry for "Object Z" only. Things are a bit different and the problem is that new object created by boolean operation has no transform info, notice in channel box everything is "0" even though your object is somewhere in the scene (not in world origin). 
    The solution is pretty simple, after the boolean operation just use Modify > Bake Pivot to "un-freeze" transformations. After you get correct transformations back and Maya now knows where is your object, the symmetry will work too.
    Good lord, yes, you are right, "Bake Pivot" save my ass here.

    So basically my problem is my model's transformation was lost? And Maya 2018 rely on that to find out the symmetry?

    (btw without the transform info, even mirroring the mesh doesn't enable symmetry, which suggests the cause is lack of transform info)

  • throttlekitty
    Options
    Offline / Send Message
    bitinn said:
    Klaudio2U said:

    Second, If you are using Maya 2018+ which has "global symmetry" option and you have enabled symmetry for "Object Z" only. Things are a bit different and the problem is that new object created by boolean operation has no transform info, notice in channel box everything is "0" even though your object is somewhere in the scene (not in world origin). 
    The solution is pretty simple, after the boolean operation just use Modify > Bake Pivot to "un-freeze" transformations. After you get correct transformations back and Maya now knows where is your object, the symmetry will work too.
    Good lord, yes, you are right, "Bake Pivot" save my ass here.

    So basically my problem is my model's transformation was lost? And Maya 2018 rely on that to find out the symmetry?

    (btw without the transform info, even mirroring the mesh doesn't enable symmetry, which suggests the cause is lack of transform info)

    In your case, yes because you're working "off axis" from the world center. If your cubes were centered along X while using Object X symmetry, the symmetry would have continued to work after the boolean.

    When you set symmetry, you can also pick the world origin as the basis, basically forcing you to work from the scene centers in the same way.
Sign In or Register to comment.