Home Technical Talk

How would you surface that?

grand marshal polycounter
Offline / Send Message
pior grand marshal polycounter
Hi there!

I find myself using a lot of spline tricks when working on highpoly models in Max. Mostly, extracting splines from edges to get nice bumpy seam lines where shapes connect, and I also use some spline painting scripts to create details on the surface of primary forms.

However I am always a bit stuck when it comes to creating surfaces on top of existing ones. Granted I can always simply extract polygons and refine, or even, convert a spline outline to polygon thanks to renderable spline settings, keep only a strip a poly, cap that, and work from there.

However I am looking for a solution letting me recreate the original curvature of the extracted piece. It's a bit hard to explain, but imagine bubble soap liquid stretching from all sides to create a perfect tension surface. This is what I am looking for. It is extremely easy to create in MOI (the best nurbs modeling app out there!!!) but I cannot seem to find a good way to do it in Max. Ideally, I would like some handle points controls to let me bumb the shape a little further, even.

Here's what I am trying to achieve :

splines.jpg

Thanks if you can help!!

Replies

  • Rhinokey
    Offline / Send Message
    Rhinokey polycounter lvl 18
    ya theres a soap skin bubble plug for sketch up that does that, tho it makes some nasty verts along the edge cause the polys form independant of the verts and edges on your path
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Can you post an example of that ? I am not too worried about the edges, even tho the less artifacts the better of course.
  • SyncViewS
    Offline / Send Message
    SyncViewS polycounter lvl 13
    Hi Pior, right now, I'd convert the spline to Editable Poly, it fills the closed spline with a single face, like a cap, then connect vertexes in a meaningful way using "Draw", trying to preserve quads, and making them evenly spaced wherever possible, but it's not mandatory of course. Then I'd activate "Lock Borders" and play over the surface with "Inflate" and "Relax" with low pressure values. If needed, as last touch I'd pass over with "Slide Relax" to preserve surface curvature and adjust edge grid spacing. All of the above with IC.Shape :)
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Well yeah thats exactly the kind of stuff I do when I go the poly way. It's really not long at all, but I was wondering about full spline/nurbs solution. I have the feeling that these control point based tools have a lot of power that we tend to overlook because we are so used to poly stuff.

    Like that for instance :
    http://www.integrityware.com/tutorials/Max/AdvTutorials/new_phone_demo_Ver_02/new_phone_demo_Ver_02.html
  • SyncViewS
    Offline / Send Message
    SyncViewS polycounter lvl 13
    Well, I've been working with nurbs for about a decade, as industrial designer, and it has been quite shocking to me doing the same stuff with poly modeling.

    The problem with your example is that you got a spline only. In Rhinocers, you got a command called "Patch" that fills a nurbs curve perimeter with a surface. It can get information about curvature only if its borders are surface edges, otherwise it works like a sort of straight cap, like a tissue stretched around the nurbs curve.

    Another option, much more powerful is "Surface from curve networks" it allows to define a net of crossing nurbs curves in U and V and build an interpolated surface. If the curve network perimeter is made of surfaces, it can try to preserve tangency or curvature continuity.

    Another option is "Sweep along 2 rails" where you define two border edges as rails and one or more cross sections to interpolate to along the rail lines. In this case you can still try to preserve continuity relative to rails.

    Another one (one of my favourites) is "Blend Surface" which allows to blend smoothly between surface edges.

    BUT(!) Nurbs surfaces are always squared or degenerated triangular surfaces, and whenever you got a "fancy" surface, you're simply building the squary surface, then trimming what you don't want to keep, creating surface edges. Booleans are a clear example. Among previous options, first work exactly this way, the other three require to build an almost squary surface, then you can rework it, of course, but cannot even think to build them from a hexagonal perimeter, in example.

    Nurbs are very powerful, as polygonal modeling. they're two different approaches to accomplish different tasks. Each one has its strengths and weaknesses, but mixing the two, in my opinion, cannot easily make your workflow faster/cleaner/better. I tried it when learning poly modeling, and came to this conclusion.

    On top of that, poly modeling becomes much clearer for a nurbs modeler like I was, when realizes unsmoothed polygonal surfaces are quite similar to nurbs surfaces control points net, and when smoothed a couple of times, results are similar to nurbs surfaces.
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Another option, much more powerful is "Surface from curve networks" it allows to define a net of crossing nurbs curves in U and V and build an interpolated surface. If the curve network perimeter is made of surfaces, it can try to preserve tangency or curvature continuity.

    Exactly! Thats what I am looking for, but didnt manage to achieve it in Max. That's the frustrating part, I know that it is possible but I cannot figure out how!

    Kinda like this in MOI :
    splines2.jpg

    It really seems like once converted to polies it would give great results.

    And yeah I totally agree with all your points :P I wish I had that nurbs knowledge!!! I just don't know where to look. I remember Nurbs tuts used to be everywhere but not anymore.

    I can see many cases where Nurbs would be at great advantage over poly smoothing. Especially the great control they give on rounded fillet edges...
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Also on a side note (dont want to start another thread just for that ...), is there an easy way to simply put the axis/pivot of an object at the center of the world ? and also eventually reseting xforms at the same time. Doesnt have to work on a stack, just EditPoly... I have been looking around and I find it strange that it's not been made a hundred times already?
  • SyncViewS
    Offline / Send Message
    SyncViewS polycounter lvl 13
    Hey Pior, working with polys can be a bit frustrating sometimes, but is much less limited then nurbs modeling, (and I don't even mention tolerance issues).

    In the example you show it seems the poly version is a smoothed shelled surface, that gives that sort of roundness along the perimeter. It is quite soft everywhere, but I'd avoid the shell, and try to shape it as a single thin sheet.

    About nurbs sample, it can be achieved with different methods, leading to slightly different results. I'd like to point out, that even if the perimeter is an hexagon, it is actually made by two joined square surfaces. Maybe it's not so clearly visible, but you got issues in the surfaces at two topmost and lowermost extreme vertexes. There the surface tends to go flat, leading to a "ruled surface" effect.

    Moi is a "son" of Rhinoceros, as far as I know, it has been developed by some programmers from McNeels. If you are interested in nurbs modeling, you can visit Rhinoceros' site, where you can find a trial, and a lot of free documents and tutorials from beginner to advanced.

    - Rhinoceros web site
    - Free official training material: "Rhino 4.0 Level I and II Training Guides" and "Rhino 4.0 Users Guide"

    If you need help, don't hesitate to ask.
    I wish I had that nurbs knowledge!!!
    I wish I had one tenth of your artistic proficiency!


    About the Pivot thing, following code should do the trick. It orients and sets the Pivot, then adds a Reset XForm on top of the Stack then collapses it. Let me know if you want something more advanced, like putting the Reset XForm right above the Editable Poly then collapse to it only.
    macroScript SetPivotToWorld
    category:"Pivot Tools"
    buttonText:"SetPivotToWorld"
    toolTip:"SetPivotToWorld"
    (
        on isEnabled do
            return (selection.count != 0)
    
        on execute do
            for theNode in selection do
                if (isValidNode theNode) then
                (
                	WorldAlignPivot theNode
                	theNode.pivot = [0,0,0]
                    ResetXForm theNode
                    collapseStack theNode
    
                    if ((classOf theNode) != Editable_Poly) do
                        convertToPoly theNode
                )
    )
    
  • GoSsS
    Offline / Send Message
    GoSsS polycounter lvl 14
    pior wrote: »
    Exactly! Thats what I am looking for, but didnt manage to achieve it in Max. That's the frustrating part, I know that it is possible but I cannot figure out how!.

    Here's a way to create that only using spline and surface modifier in max :

    plopyf.jpg

    But i don't really think that max is the best software for that sort of stuff.
  • Rhinokey
    Offline / Send Message
    Rhinokey polycounter lvl 18
    [ame]http://www.youtube.com/watch?v=mcOrlX5wgLE[/ame] heres a vid, you have to listen to these cockwads to bullshit around a bit first.
Sign In or Register to comment.