Home Technical Talk

3DS Max Particles to Object Shape

admin
Offline / Send Message
System admin
Hey guys,

I need to create a box-hedge for a couple scenes I'm working on and it needs to be done in Max since it's gonna be rendered in VRay (and my only VRay license is for Max).

I accomplished it in C4D using MoGraph; I modeled a few leaves,then a rough box shape, and with MoGraph I used a Cloner to randomly distribute the leaves all over the box (tens of thousands of them) randomizing scale/rotation slightly and the results looked great.

For those not familiar with MoGraph, it was almost a one-click solution - drop the leaves into a Cloner, choose the box shape as the target object and then crank the number of clones to whatever. The nice thing is you can switch the viewport display off and have it only visible at render time so you don't have to wait for the VP to draw 50,000 leaves.

So, is it possible to do something like this in Max? I was thinking particles, but I have never used particles in Max so I haven't got a clue. Any other suggestions are welcome. It's for pre-rendered production so polycount isn't an issue, although a way to optimize it for VP navigation would be cool.

Cheers!

Replies

  • Mark Dygert
    You need to use particle flow and assign a material emitter and then feed it a solid material. I have to run off to a meeting but there should be a tutorial or two online somewhere. I also think there are several tutorials about using particle flow to populate leaves on trees which should be in the polycount wiki (top of the page).
  • System
    Offline / Send Message
    System admin
    Nice one Mark, thanks.

    Ok at least I know what I'm looking for now, and that it's possible. I'll dig into the Wiki and see what I come up with.
  • Mark Dygert
    Got a chance to crack open particle flow and it looks like you only need 4 things in the particle flow to populate the surface of an object with instanced geometry and while you can do it with a material you don't need to be that complex.

    1) Birth
    2) Position Object (Targeting the surface)
    3) Shape Instance (Targeting the particle instance)
    4) Display (Set to geometry)
    *All of this plugs into a Render event so it all shows up in the viewport.

    Unfortunately you need particle flow Box3 (separate plug-in) to align them to the surface normals, the only other options are random rotation or to align to the world, which is a bummer...

    BUT you can use the object painter to paint objects on the surface of another which has much better control over the rotation/orientation of the painted objects.
  • Mark Dygert
    Oh yea there you go that works, same idea with a few twists, nice find!

    If you are happy with the random rotation of the leaves then the standard particle flow will work just fine, you don't need Box3. But if your leaves had a stem and you wanted that stem to always connect to the surface with the leaf pointing away from the surface, but with randomized size and rotation in other directions, you need Box3.

    For topiary random will probably work out ok.
  • Mark Dygert
    One thing that will help is if you set the leaves to display as bounding boxes instead of full geometry (Select leaves, right click, Object Properties, check on "Display as Box". You can also set the Display node back to ticks, but even that can start to chug max.

    You can also set the "Visible %" in the display node to show less particles in the viewport but it will render more, or you can turn it down while working and back up to 100% when you're done.

    Max also works better with thousands of separate objects but not so well with one object that has thousands of separate "elements". The reason for this is adaptive degradation, with it on (box next to Time Tag in the bottom bar of max) as the viewport chugs it will start to filter out complex materials in favor of faster ones, it will switch to box display and so on but it can only do that with objects not elements inside of objects. By default particle flow treats all particles as one object which can really bring max to its knees.

    Because of this you might want to set Particle Flow's Shape Instance to "Separate Particles for: Object Elements". This will turn each particle into its own object and allow adaptive degradation to take over and help keep the scene moving.

    Hope that helps!
Sign In or Register to comment.