Home Technical Talk

Radial symmetry in 3DS Max?

MoP
polycounter lvl 18
Offline / Send Message
MoP polycounter lvl 18
Hey folks,

When I was doing a bit of highpoly last night, I wanted to create a cylinder with little recessed holes for nuts & bolts to rest inside.
Now I feel a bit stupid, because the way I created this object seems like an incredibly hackish way of doing it, and I thought there MUST be a better way of doing this.
Max help doesn't shed any light on the subject.

Here's how I did it last night:

radial-symmetry.jpg

This is a little hard to keep the mesh clean at the final smooth stage, and irritating to set up (even though it doesn't take long), in fact it's not even true radial symmetry (the last symmetry just mirrors the whole thing horizontally) but it does have the desired effect of modifying one "slice" and having the rest of the cylinder match up while you work on it.

The only other method I could think of would be to make an Array, but then I'd have to attach and weld them all before being able to meshsmooth.

Am I missing something really obvious here, or is this really the only way to do radial symmetry in Max?

Replies

  • shadows
    Options
    Offline / Send Message
    shadows polycounter lvl 18
    Well like you said only other way i know would be to use array.

    Select the outside vertices.
    Get out of subobject mode without deselecting anything.
    Use array.
    Attach all the objects.
    Now go back into vertex mode and all the vertices should still be selected.
    Weld.

    If thats what you were doing with the array , then nm smile.gif
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    Shadows - yeah, that's pretty much what I'd be doing with Array. The only problem with that is that the original object doesn't stay editable, since they're all attached. If I wanted to change the width/height/shape of one of the inset areas, I'd have to delete all the other parts and Array it again.

    It seems that using a bunch of rotated Symmetry gizmos is the only way to achieve this. I can't find any scripts which do this either frown.gif
  • shadows
    Options
    Offline / Send Message
    shadows polycounter lvl 18
    [ QUOTE ]
    Shadows - yeah, that's pretty much what I'd be doing with Array. The only problem with that is that the original object doesn't stay editable, since they're all attached. If I wanted to change the width/height/shape of one of the inset areas, I'd have to delete all the other parts and Array it again.

    [/ QUOTE ]

    Ah yea did not think about that. umm confused.gif
  • kite
    Options
    Offline / Send Message
    kite polycounter lvl 17
    how about an array of instances?
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    kite, is there a way to weld + meshsmooth those all as one object, while still leaving the original mesh editable (ie. for adding/removing geometry)?
  • kite
    Options
    Offline / Send Message
    kite polycounter lvl 17
    ack not that i'm aware of unfortunately, they'd need to remain separate for editing purposes frown.gif
  • Illusions
    Options
    Offline / Send Message
    Illusions polycounter lvl 18
    Couldn't you do it this way (The Math Way)?
    1)Consider this how you would a polygon cylinder.
    2)The piece you modeled is two wedges.
    3)The final piece you modeled has 20 wedges.
    4)Each section modeled has 2 wedges, therefore the final has 10 sections
    5)A complete cylinder is 360 degrees. 360 divided by 10 = 36 degrees per wedge.
    6)Center the pivot point (or max equivalent of pivot point) at the tip of wedge.
    7)Duplicate the remaining 9 wedges as instances with a rotational offset of 36 degrees in Y.

    If you intially setup how many times you want radial symetry you should be able to divide that number into 360 and then determine how big each wedge should be. Like lets say you instead wanted to make a car rim with 5 spokes on it. Each wedge should be rotated offset by 72 degrees.
  • Xenobond
    Options
    Offline / Send Message
    Xenobond polycounter lvl 18
    I think you are running into issues like that because the object you are making is not easily 'quarter-able'(?). If it were, you would have no problems using symmetry evenly across the object.

    Here's an idea-
    from your base model, slap an edit poly modifier on it. clone and rotate the element around their axis till you get all the ones that you need to fill the shape. then put a vertex weld modifier on that, and then turbosmooth/meshsmooth ontop of that.
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    Illusions: That's not my problem - I know how many wedges I want (regardless, it's arbitrary - if I'm doing 10 sides or 20 sides there should be a simple "radial symmetry" modifier).
    The problem is attaching it all together and making it meshsmooth all as one object, while still keeping the original wedge editable. Any "instance" method will not work, since you need to weld all the objects in order for the meshsmooth to be correct, and you can't Attach instanced meshes to each other.

    Xenobond: Nice idea, I'd already tried the Vertex Weld modifier in a different setup with no joy though, and the way you suggest won't work since the Edit Poly modifier works by duplicating/moving faces based on their number, so if the base object is modified at all, the Edit Poly modifier goes haywire and polys go shooting off everywhere and twisting around.
    Good point about the "quarter-able" thing though, I was aware of this, but the model I want to make has 10 inset screws... I know I could make it 8 and nobody would notice, but again that's not the aim here. I want a method that will work for any number of segments.
    I'm gonna try looking into doing a script which will add/rotate symmetry modifiers based on a value you enter.

    Nice ideas so far though, keep them coming smile.gif

    Edit: In fact, the Symmetry modifier trick I'm using isn't really a viable solution for certain objects... it only works if the detail you want repeated around the cylinder is actually symmetrical itself.

    Here's a screenshot to illustrate:
    radial-symmetry2.jpg

    1. This is an example piece of detail I want radial symmetry on. Note that the detail isn't symmetrical itself. It's 1/8 of a cylinder, for ease of modifying.

    2. This is what I'd like to have the final result look like - the detail just rotated round 8 times, so each one is facing the same way, and welded then meshsmoothed.
    This example was done by Arraying the initial piece, Attaching them all together, Welding and then Turbosmooth, which is a destructive workflow - if I wanted to change all those pieces, I'd have to delete 7/8 of the cylinder, alter the detail, then re-array & weld it again.

    3. This is the result of using 3 Symmetry modifiers with rotated gizmos. As you can see, while the original slice remains editable, as I'd like, the final output is not correct - each segment is mirrored on itself, resulting in an inconsistent output.

    Gah! This should be easy smile.gif
  • Blaizer
    Options
    Offline / Send Message
    Blaizer interpolator
    Like all the tools, it has its limitations, you cannot expect more. Simmetry only can be used for simmetry related problems. The second way you comment about rotating and then welding, being a "destructive workflow", is what i do in some cases.

    I love simmetry, i did this 2 models some years ago for fun, using the edit poly push/relax brushes. This is one of the features i'm missing in modo, although you could do one hole and then with the macro do the rest in one click.
    simetria.jpg

    I have noticed you don't care a lot of making a clean mesh. You use triangles for a subdiv model and that is horrible in my opinion. I recommend you to avoid the triangles. To use pentagons is far better than a triangle, you will get a better smoothed mesh. Triangles produce mesh artifacts.

    I hope to help in some way with the "pentagon trick".

    To think in "quad mode on" may be difficult laugh.gif.
  • JordanW
    Options
    Offline / Send Message
    JordanW polycounter lvl 19
    Is it possible to make plugin modifiers for max using the SDK? I could see how this could easily be a modifier if it's possible to make one.
Sign In or Register to comment.