Home Technical Talk

parasite vertices ? 3DSMax workflow question

grand marshal polycounter
Offline / Send Message
pior grand marshal polycounter
Hey all!

After some freestyle modeling and applying a symmetry modifier I often end up with parasite vertices along the center edge of the model, like on the left here. Also, similar problems sometimes appear on the open borders of meshes, like on the right. (and more generally, this can happen on any random edge after a Divide anyways ...)

parasitevertsonedges.jpg

Now I understand what causes these situations to appear, but does anyone know a fast and clean way to remove such verts? I thought it was possible before by selecting all the verts of an object and hitting remove/backspace (the removing only the useless ones) but I must have been using some custom script for that because now I seem unable to do so!

Thanks for your help!

Replies

  • SpeCter
    Offline / Send Message
    SpeCter polycounter lvl 14
    Open a new MaxScript and insert this:

    (
    fn dotAngle v1 v2 = ( acos (dot v1 v2)/(length v1)*(length v2) )

    bit32=(bit.set 0 32 true)
    getEdgesUsingVert=polyOp.getEdgesUsingVert
    getVertsUsingEdge=polyOp.getVertsUsingEdge
    getVertPosition=polyOp.getVert

    allverts=(for i=1 to $.numverts collect i) as bitarray

    suspectVerts=for i in allverts collect ( if ((getEdgesUsingVert $ i) as array).count==2 then i else dontCollect)

    vertsToRemove=for i in suspectVerts collect (
    testEdges=getEdgesUsingVert $ i
    testVerts=(getVertsUsingEdge $ testEdges)-(#{i})
    testVerts=testVerts as array

    v1=((getVertPosition $ testVerts[1])-(getVertPosition $ i))
    v2=((getVertPosition $ testVerts[2])-(getVertPosition $ i))
    if (dotAngle v1 v2)==180.0 then i else dontCollect
    )


    polyOp.setVertFlags $ vertsToRemove bit32 mask:bit32
    $.remove selLevel:#Vertex flag:bit32
    )


    It works most of the time, but sometimes it misses one or two though :(
  • animax
    Offline / Send Message
    animax polycounter lvl 15
    I use this script called Vertex Cleaner by Shiva3D. Usually after shape merging on a mesh, it leaves behind lot of unconnected/parasite verts.This works best to clean those stuff.

    Check it out.
  • vargatom
    You should not use the Slice option in the Symmetry modifier, because that's what gives you these vertices.
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    1. Polyboost or Max2010 and then nSided faces selection options (5+ edges)
    2. convert to vertex selection, filter the selection
    3. ctrl + backspace (remove verts without killing the face)

    it often killed uvLayout and a few other external tools for me because they were less stable or comfortable with ngons.

    In 2010 there is also a special viewport mode that lets you debug stuff and for example show dead verts or others.
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Specter, I tried executing this code on both the full object or the vertex level and it gave me the following. I'm on Max2009 btw (staying away from the ribbon as long as possible!!!)
    -- Syntax error: at ), expected <factor>
    --  In line: )
    

    Animax, that's fantastic! It's working very well and I like how it selects the problematic vertices instead of brute-deleting them. Feels much safer!! (by the way thats weird, the video on the script change shows a completely different behavior but hey I wont complain!)

    Render, I'm on 2009 but I don't get what you mean by 'filter the selction'. Am I missing something?

    Never heard of that viewport mode, that sounds EXTREMELY useful. I have been dreaming of realtime surface tension heatmap shaders for ages now (showing pinching, and concavity vs convexity) ofor both Max and Mudbox, so maybe it's coming soon!!

    Varg yeah I know hehe. But I rely quite a bit on that fonction actually, hence the question :P

    You guys are awesome!
  • Peris
    Offline / Send Message
    Peris polycounter lvl 17
    I use the clean verts tool in here:
    http://www.jhaywood.com/maxScripts.htm

    I have it tied to a button I click every now and then, very useful!
Sign In or Register to comment.