Home Technical Talk

3dsmax stack non-identical shells

polycounter lvl 11
Offline / Send Message
jocose polycounter lvl 11
Hey everyone,

I'm trying to figure out how to stack several non-identical UV shells ontop of one another and have the verts roughly alighend and then run some kind of script that will perfectly match them all.

A snap to nearest feature or something like that. It would have a threshold, I had as script like this in Maya and its built into XSI.

Any idea how to do this in max?

Replies

  • Ark
    Offline / Send Message
    Ark polycounter lvl 11
    If it's for a simple object with not many verts then the snap tool should suffice.
    I think you'll have to turn to scripting to get this functionality in max.
  • jocose
    Offline / Send Message
    jocose polycounter lvl 11
    its not simple

    Lots of verts, that's why i'm on the look out for a scripted solution. I just found out about the copy and paste option, it works great, but I heard it unpredictable...
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Doesn't renderhj's TexTools have a function for this?
  • jocose
    Offline / Send Message
    jocose polycounter lvl 11
    It did but he took it out, now, as far as I know, it only works on identical shells, you have to use the pack UVs tool, please correct me if i'm wrong
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    combine it with align shells and then a weld tVerts (select faces to align shells instead of particular tVerts)
    texTools_ani_transform_align.gif
    I usually align shells to 1 direction and then just weld them. I tried several times writing a script that reads similar topology and stacks them but there was always something that I was missing.
    Some smart stacking tools would be awesome, stuff that sorts shells based on topology or % similarity next to each other or on top of each other. It would help a lot making sense of a cluttered UV shell chaos bringing it into a nice sorted and stacked layout instead.

    What I worked on however the last several days is a script that averages the vertical or horizontal spacing between shells, it behaves a bit similar to the sort tool in TexTools but distributes the total gab spaces between shells along all of them on either the U or V axis.
  • jocose
    Offline / Send Message
    jocose polycounter lvl 11
    What you described in that last bit is what I'm after renderhjs.

    Basically I would like to select some shells and then have it average verts that are close to each other with a tolerance. That's pretty much it.
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    rather tricky for me atm. I got some versions flying around that work like 70% of the cases but sometimes they still do funky stuff. I might have another run sometime this year.
  • jocose
    Offline / Send Message
    jocose polycounter lvl 11
    I actually figured out a way of doing this that works pretty well. If you can ballpark the uvs so that they are roughly overlapping then you can scale the group of shells up or down so that each group of corresponding verts is roughly inside 1 pixel. Then use the pixel snap feature in textools.

    After that relax the result and the verts should stay together.
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    or weld verts with a given threshold, yeah - but it would be nice to have something that aligns shells the same way. Like if they are scaled and scattered all around in a random way. Certainly a feature I wish other developers (uvLayout has this to some degree but requires manual input which is to cumbersome with lots of shell) would invest time into developing or researching.
Sign In or Register to comment.