Home Technical Talk

3DS Max Make Planar to existing Geo

polycounter lvl 17
Offline / Send Message
Tumerboy polycounter lvl 17
Hey guys, I know I haven't been around in a bit, but have run into a little issue I can't figure out.

I know how to use "make planar" to flatten out a poly. Is there a way to tell max to only modify the Z axis while making something planar, or a way to lock certain points, and only adjust the other points?

If I have a square plane, made up of 4 verts, and drop one of them down a foot, it shouldn't have to adjust all of the other verts to move that one vert back into place?

Any ideas?

Thanks
-Nick

Replies

  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    I usually use the scale tool to flatten things. combining it with local tranforms is very powerfull.

    so far as planarising to a point you might try the working pivot and scaling
  • Arcanox
    Options
    Offline / Send Message
    Well this isn't exactly what you're asking for but it may be useful in some cases:

    http://www.3dtrue.com/max/20.html

    Basically what it does is copies a coordinate of a vertex and simply pastes an axis on to other verticies you have selected.

    This way, if you align something and you want to quickly copy a translation on a specific axis on to all other verts, you can do it quickly and make something planar along a single axis. It's really useful.
  • Tumerboy
    Options
    Offline / Send Message
    Tumerboy polycounter lvl 17
    Well, the square plane example above was oversimplified to illustrate the overall concept. In reality, I can't just flatten it by scaling.

    What I actually have, is a compound curved surface made up of a few segments, which I want to be control panels. So I need to stick dodads on them, and not have the ones in the middle get clipped by the other side. Since it needs to remain in roughly the shape I have it now, I can't flatten it to any axis, or use scale on anything really to flatten it. Copying vertex coordinates doesn't help either, since even when planar, each vert will have very different coordinates.

    The only things I can think of, is if I could lock 3 of the verts on the panel, and tell the other to get in line with them. Or if I were able to tell it to only move the points on the Z axis while making the whole thing planar, so it maintained it's top down shape. The first would be a better option overall I think.

    Think of when you have several polys in a row, sharing edges. You can planarize the first one. But if you try to planarize the second, the first becomes unplanar again. Is there any way to planarize each without fucking up the previous?

    Thanks for trying though guys.
  • Arcanox
    Options
    Offline / Send Message
    Well a crazy idea is to use the normal alignment tool on a working pivot and align the pivot to the triangle that you want to reference. Then go into the subobject mode and work from the parent axis and enable the working pivot. Use the axis constraint snap on a vertex and simply align the Z axis of the vertex to one of the other 3 verts.

    I guess it should work, but I don't know if there's any specific tool that does what you're asking for.
  • Jet_Pilot
    Options
    Offline / Send Message
    Jet_Pilot polycounter lvl 10
    If you had a pic i think that would help explain what your trying to do...
  • Tumerboy
    Options
    Offline / Send Message
    Tumerboy polycounter lvl 17
    Fair enough:
    5516260966_f12eee1827_o.jpg

    lets say I made something like the above. Each of those quadrilateral faces is non-planar at this point, just by nature of shifting verts around etc.

    Is there any way to planarize each, in sequence, without screwing up the one before it? i.e. start at one end, planarize that poly. Then select the next poly, and planarize while only moving the next 2 verts, keeping the verts poly 2 shares with poly 1 still (since an edge is inherently planar already)

    ETA: Or am I already overcomplicating this somehow?
    ETA2: Arcanox, your way does seem to work, but is just a pain since there are so many steps to try and align each vert. Thanks!
  • mortalhuman
    Options
    Offline / Send Message
    Over complicating it, if I'm right about what you want? This is actually pretty easy with the basic scale tool if so.

    Go to the side view. It looks kinda like the top of a car, so if that's what it is, or if you can imagine it like that, go to the side view, go into vertex level and select the two at a time, then scale them on Z.

    Basically, instead of make planar in face mode, you use the vertex mode and scale 2 at a time that you want flat, flatten them with the scale, and then you can move each set up and down.

    Right now you're lookin for a way to do it at the face level, this is at the vertex level, but simplified to the side-view dimensions.
  • Tumerboy
    Options
    Offline / Send Message
    Tumerboy polycounter lvl 17
    No, that doesn't work. Everyone keeps thinking I want these vertecies to match eachother on some axis. Planar does not mean planar along an axis.

    Take a plane, go into sub object mode, rotate it randomly on all axes, then move some points around. Now make that planar. You can't just use scale, since no 2 vertecies of the plane are supposed to match each other on the world axes, and the plane's orientation no longer matches it's xform's.
  • Sage
    Options
    Offline / Send Message
    Sage polycounter lvl 19
    not the best way to do it but... 2 ways of doing it...

    turn on 2.5 snapping and turn on verts for a snapping option. since you want to match the z axis got to the left view and now you can drag your verts one at a time to the one you want to snap to.

    you can also insert an edge loop, turn on edge constraint and move that until it touches the edges you want your verts to align to. When the edge you just m oved to touches it conforms to the shape of the edge loop you moved it to. then you can move it back to the original position, but first you need to turn edge constraint off.

    third way is to copy and paste the axis position of the verts from one to another one at a time, i do it this way too sometimes.

    So what tumerboy wants is a script that aligns a selection of verts to another selection of verts, in one or two axis which the user can specify. He wants to make the edge loop on the left match the right one for example on the z axis. Scaling would not do this.
  • Tumerboy
    Options
    Offline / Send Message
    Tumerboy polycounter lvl 17
    No, Sage, sorry, but I don't want the verts to match in any world axis. I know how to copy coordinates. That's not the problem. The issue is when your plane is canted at a weird angle. If you take a plane, and rotate it 45 degrees up, and then sideways, none of it's vert share any of the coordinates of any of the other verts, but it is still planar. However, if you then accidentally move one of those verts slightly, it is now non-planar. I can use "make planar" to make it planar again, however, it will average, and then move ALL of the verts. But really only that one vert you've moved is the problem. I want a way to lock the other verts, and only move that one vert back into line with the rest (again, totally off of any and all axes)


    If you rotated the plane, and then moved the verts, you could use local mode on the scale tool to scale the whole plane down (this is essentially what make planar does). But if you've rotated the plane in sub object mode, such that the object's local pivot does not match the orientation of the plane in sub-object mode anymore, you can't scale it without drastically distorting it's original shape. Plus, scaling would still be moving all of the points, which I am trying to avoid.

    I'm not sure how else I can describe this. It's not a big deal anymore, I brute forced it by making planar, seeing how far the vert I wanted to move, moved. Moving it up, making planar again, wash rinse repeat until pressing make planar had no perceivable effect. It just seems like there should be a better way to do it.

    ETA: Or maybe I'm an idiot and just not understanding what you guys are actually meaning? Sorry if that's the case. I'm just hearing everyone say "just scale it on the z" or some equivalent which I don't see working with the issue at hand.
  • Sage
    Options
    Offline / Send Message
    Sage polycounter lvl 19
    I guess I misunderstood what you wanted to do... maybe I still don't understand...

    if you use the scale tool with the working pivot you can lock an area in place. snap the working pivot to what you want to keep in place then scale the verts you want to affect. i was trying to mimic how modo can transform things, which seems to be what you want. if you have max 2009 or later you can do this.

    you can also use the rotate tool to see if it gives results you want. changing to use selection, transform or pivot center will give you a few options as well.
  • StefanH
    Options
    Offline / Send Message
    StefanH polycounter lvl 12
    I understand what you mean and i have tried it. You can use scale with local transform on every second face on the strip and then on the other half. But it will always change some vertices you dont want since they are shared, hey.
    So I think what you want would be possible to programm or script i guess with a heuristic approach with a set amount of iterations.

    Basically what this programm would do is going face by face until the number of iterations is over. so 10 times every face or 100 times every face.

    Maybe I am mistaken and I am missing sth but I think this would be the way to go..

    -Stef
  • mortalhuman
    Options
    Offline / Send Message
    Errr, once you used my suggestion you would have a planar surface for each bit, then you could rotate the faces or whatever, maintaining planar, to whatever you are trying to do...

    But as I said, scale 2 at a time from a side view to make something planar. If this doesn't suffice you're not asking the same thing you wrote :P Good luck bro :P
  • Tumerboy
    Options
    Offline / Send Message
    Tumerboy polycounter lvl 17
Sign In or Register to comment.