Home Technical Talk

Tessellate and Connect (Script Request?)

Hey guys just been watching one of Gilesruscoe's modelling timelapse videos using Blender (Video). At 00:43 + you can see him select a polygon and create a tesselated and connected leg shape with a click of a button (I believe).

Is this possible in Max (With a click of a button)?. I have fiddled with many modifiers and haven't found a simple way to do this only through manually tessellating and connecting 3 verts at a time.

If this aint in Max is there a potential scripter willing to fiddle around with this? Cause I guess it could help a lot of people quick sub divide parts of their meshes as well as help create nice extrusion shapes. I personally would use it for creating arms,legs,ears and toes etc.

If someone was to create this into a script I guess this could be developed to include more tesselations and quadifying etc to help with creating base meshes for Zbrush and even re-topping.

This is the process I follow, if it helps paint a picture.

(Mesh is an edit poly)
Step 1: Select polygon
Step 2: Use 'Tessellate' under 'Edit Geometry' and set it to 'Edge'
Step 3: Shows what it looks like tessellated, creating N-Gons at present.
Step 4: The verts connected with outer verts to create triangles.
Step 5: Allows user to pull verts around to create arm/leg/etc. shapes.

Thanks guys.

tesscript.jpg

Replies

  • BeatKitano
    Options
    Offline / Send Message
    BeatKitano polycounter lvl 16
    That's not a functionality in blender, in fact it's simply a total lack of ngons support :>

    I tried to replicate the effect using macros in max, no success so far. But I'm sure it's possible with enough maxscript knowledge.
  • miauu
    Options
    Offline / Send Message
    miauu polycounter lvl 14
    Connecting vertices is easy, Tessellating the faces too. I will make the script tonight or tomorow. :)
  • Ace-Angel
    Options
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    Wouldn't quad connecting the place, switching to constratins by normals and doing this: http://www.scriptspot.com/3ds-max/scripts/loop-regularizer

    Work also the same, but in a much cleaner fashion? I guess the Tess method is nice for saving polygons though on the low poly since it is tri connecting them at the edges instead of quading them.
  • miauu
    Options
    Offline / Send Message
    miauu polycounter lvl 14
    As I promissed the script is redy. :)
    --******************************************************************************************************
    -- Created:         29-06-2011
    -- Last Updated:    29-06-2011
    -- Version:            1.0
    --
    -- Author :  Kostadin Kotev / miau_u@yahoo.com /
    -- Version:  3ds max 9 and up
    --
    -- Discription: Requested in Polycount.com forum - http://www.polycount.com/forum/showthread.php?p=1378407#post1378407
    --******************************************************************************************************
    -- MODIFY THIS AT YOUR OWN RISK
    
    macroscript TessellateAndConnect
    category:"miauu"
    tooltip:"Tessellate and Connect"
    buttonText:"Tessellate and Connect"
    (
        if selection.count == 1 and classof selection[1] == Editable_Poly then
        (
            if subobjectlevel == 4 then
            (
                local curObj = $
                local allObjVerts01 = curObj.GetNumVertices()
                curObj.tessellate #Face
                local allObjVerts02 = curObj.GetNumVertices()
                --    remove inner vertex
                local workingVerts = for v = allObjVerts01+1 to allObjVerts02 where (curObj.GetVertexEdgeCount v) == 3 collect v
                subobjectlevel = 1
                for i in workingVerts do
                (
                    local face = polyop.getFacesUsingVert curObj i as array
                    local faceVerts = polyop.getVertsUsingFace curObj face[1]
                    local lastVertEdges = polyop.getEdgesUsingVert curObj i as array
                    local commonVerts = polyop.getVertsUsingEdge curObj #(lastVertEdges[1], lastVertEdges[2])
                    local opositeVerts = (faceVerts-commonVerts) as array
                    polyop.setVertSelection curObj #(i,opositeVerts[1],opositeVerts[2])
                    curObj.buttonOp #ConnectVertices
                )
            )
            else
                messagebox "Go to Polygon sub-object level!" title:"miauu Script Error!!!"
        )
        else
            messagebox "Select only one Editable_Poly object!" title:"miauu Script Error!!!"
    )
    
    Work with quads and n-sided(n>5) polygons. Editable_Poly objects only.
    @Beazel, you have to rearange the vertices manualy to get the desired shape. :)
  • Beazel
    Options
    Offline / Send Message
    @Beazel, you have to rearange the vertices manualy to get the desired shape. :)

    @ miauu

    works perfectly!
    Thanks a lot man! Appreciate it :).

    (Sorry I didn't thank you earlier, I have been away for a few days.)

    @ perna

    I am using it more for Handheld. It's a good base start before collapsing verts for triangles. Just a quick way of getting body and other extrusions before optimisation.
Sign In or Register to comment.