Home Technical Talk

3D Studio Max - Have intersecting geometry push away from each other?

sr3d
polycounter lvl 2
Offline / Send Message
sr3d polycounter lvl 2
Do you see the parts where the braids intersect? 



Is there a script or some kind of tool in 3D studio max that will push the verts away from each other where an intersection takes place?

This is what I'm looking to do:


Replies

  • pixaeiro
    Offline / Send Message
    pixaeiro polycounter lvl 8
    If the braids deform each other then you'll need much more geometry for this model to look as good as it does now. What are you planning to do with this model?
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    This is the same as you asked in the Zbrush thread and the answer is the same :smile:  What you're asking requires the geo to detect intersecting geo and simulate a collision. The verts can't just 'know' where other verts are inherently. Some sort of collision detection parameters have to be set up in the form of a simulation. If the geo isn't dynamic and is just for modeling purposes then you could do this in a few minutes manually in ZB using a combo of inflate/smooth. You could also do it in Max but you would need more geo and it would take longer using tools like soft selection/move normal constraint/freeform tools/etc....
  • sr3d
    Offline / Send Message
    sr3d polycounter lvl 2
    pixaeiro said:
    If the braids deform each other then you'll need much more geometry for this model to look as good as it does now. What are you planning to do with this model?
    This model will be used in Unreal Engine 4.11 with it's new hair shader feature.  You're right, I may need more geometry, but since 3dsmax doesn't have this collision deform feature, I'll have to think of something else.
    I appreciate your responses guys, but it sounds like 3d studio max and Zbrush don't have this basic feature.
    Is there any other 3d application that can perform a basic collision detection and push verts away from their normals based on the collision info?



  • sr3d
    Offline / Send Message
    sr3d polycounter lvl 2
    This is the same as you asked in the Zbrush thread and the answer is the same :smile:  What you're asking requires the geo to detect intersecting geo and simulate a collision. The verts can't just 'know' where other verts are inherently. Some sort of collision detection parameters have to be set up in the form of a simulation. If the geo isn't dynamic and is just for modeling purposes then you could do this in a few minutes manually in ZB using a combo of inflate/smooth. You could also do it in Max but you would need more geo and it would take longer using tools like soft selection/move normal constraint/freeform tools/etc....
    I'm a software developer. I have zero artistic talent. I prefer taking a technical approach rather than an artistic one.
  • sr3d
    Offline / Send Message
    sr3d polycounter lvl 2
    Guys this is what i'm looking to do. There has to be a way in 3d studio max/Maya/Zbrush/Blender that already does this.


  • Ace-Angel
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    Did your try using Cloth or SimCloth3, maybe even MassFX modifers if you're in the newer versions of Max, to simulate the collision?

    It already looks like each of the strands are their own object, so selecting each one and applying one of the modifiers listed above will get you exactly what you need (you can merge them back again later).

    Just remember to disable gravity or set it to an almost zero value, and makes sure you set a proper distance for how far away the objects will stay from each other (people usually recommend smaller values of 0.2, perfect 0 will require a good amount of geometry and substeps, which will increase the calculation time.

    And yes, you're right, lite Basic-Vert Displacement in relation to other objects don't exist in these softwares (even though you can do it on a Shader level, heh), figure that.
  • sr3d
    Offline / Send Message
    sr3d polycounter lvl 2
    Ace-Angel said:
    Did your try using Cloth or SimCloth3, maybe even MassFX modifers if you're in the newer versions of Max, to simulate the collision?

    It already looks like each of the strands are their own object, so selecting each one and applying one of the modifiers listed above will get you exactly what you need (you can merge them back again later).

    Just remember to disable gravity or set it to an almost zero value, and makes sure you set a proper distance for how far away the objects will stay from each other (people usually recommend smaller values of 0.2, perfect 0 will require a good amount of geometry and substeps, which will increase the calculation time.

    And yes, you're right, lite Basic-Vert Displacement in relation to other objects don't exist in these softwares (even though you can do it on a Shader level, heh), figure that.
    Thanks, I will try this.
  • Eric Chadwick
    Another method in 3ds Max is to use the Volume Select modifier. It can load a mesh as the selection radius. Enable soft selection, and add a Push modifier.

    edit: Maybe not. Tried a test, doesn't do what the OP is after.
Sign In or Register to comment.