Welcome to another Monday Movie! We’ll be talking about how you can use the “Hose” extended primitive to speed up creating common hose-like objects in 3dsMax. The fact is that most people either don’t know this tool exists, don’t know how to use it, or think it’s not very useful. I disagree with this last group of people; the hose object is both quick and extensible making it a handy little trick in your 3d arsenal. In 3dsMax, you’ll find that it can do a lot of what a spline could do except faster.
Glare Effects
Categories: Effects, Lighting, Rendering / Compositing, Videos
6 comments
This week’s Monday Movie is about how you can create a light glare effect in your renders both in Photoshop and using mental ray’s “Glare” shader. I wasn’t sure I’d have this tutorial out in time, but it actually came together pretty well!
The glare effect in 3dsMax is basically the process of looking for super-bright pixels in the rendering and blurring them on their own layer. You can do this in Photoshop after the render, but it doesn’t take into account the brightness of the pixels (i.e. white and ‘light-emitting are identical). Thus, by generating a glare layer, you have a lot of control over how your final render looks in 3dsMax. If you’re working on photo-real work like architectural visualization or product rendering, this is exactly the kind of technique you need in your repertoire!
Also, I’m afraid I haven’t made enough progress on my side project to fully unveil it. However, I’m looking to create a tutorial collection website that will be the largest, most searchable 3dsMax tutorial database out there! How do I plan to do this? Well, you’ll find out! But the good news is that it’ll have minimal advertisements, ratings, and tons of healthy learning opportunities. More to follow as it happens.
Grill Mesh Made Easy
This week’s Monday Movie is a little shorter. I’m working on a big project that you’re going to love, so in the meantime I’ve gone a little quiet.
This week we’re looking at a quick, cheap technique for creating grille meshes. Opacity mapping is a pretty ordinary technique that can do some extraordinary things for distant objects. If I were to model all these tiny holes, you can be sure it’ll make my render times tank!
Depth of Field
This week we’re covering Depth of Field in 3dsMax for both the scanline and mental ray renderers. It’s more of a patch to the Depth of Field Primer I wrote, since it seems like a lot of viewers were coming to the page looking for a “how-to” rather than a “why”. Thus, we’ll cover exactly how to create and control the depth of field effect.
On another note, it seems like everyone on the planet has heard the song above but me. Ignoring the cheesy ’80s undertones, “Puttin’ on the Ritz” is practically my theme song! It’s based on a really old tune (c1920?), and takes on a deep, cryptic interpretation that makes it so solid. It doesn’t get much better than that. If you really listen closely, you can pick up that vintage edge- who’s Gary Cooper?
mental ray Displacement Quality
Categories: Materials / Shaders, Rendering / Compositing, Videos
7 comments
In this Monday Movie I show you how to tweak mental ray displacement settings in 3dsMax. Learn how to speed up your renders by approximating displacement more roughly, or really juice your displacement maps by getting sub-pixel displacement!
Sorry about the lousy encoding, my computer’s been acting up something fierce these days. This weekend I’ll hopefully get a fresh install going and that’ll give me the edge on next week’s Monday Movie. In the meantime, I hope you enjoyed those steampunk reference images!
Introduction to 3dsMax Particles
Ever seen a movie that had sparks flying out of control panels? Or maybe you’ve always wanted to have smoke coming out of your character’s ears when he’s mad? Those are particle effects, and you’ll find that they’re a breeze in 3dsMax when you use the right tools.
Particles are what artists use when they need a lot of objects, but don’t want to model or animate them by hand. Particle systems create, animate, and destroy objects according to a set of rules. These rules can be very basic, like “create 10 spheres per frame, starting at frame 0″. These are known as non-event-driven particle systems. 3dsMax particle systems can also be quite complex! Take, for example, the motion of soap bubbles in the air. They float quasi-randomly and if they touch, they stick together. If they touch another object, they’ll pop, and sometimes they just pop for no reason at all. This might be considered an event-driven particle system since the bubbles are subject to a variety of possible events.
We won’t be getting into the very gritty how-to details of particles during this tutorial. I’d like spend most of this guide walking you through the concepts involved in using basic particle emitters because 90% of the time they’ll do the job just fine. Toward the end of the tutorial I’ll introduce you to the particle flow and particle view tools that 3dsMax has to offer. This last segment will show you just how complicated your particles can be!
But don’t worry. At the end of the day, particles are meant to make your life easier, not harder. This walkthrough shouldn’t take more than about 30 minutes to complete, and when you’re done you’ll have a good exposure to the o
Non-Event-Driven Particle Systems
Let’s have a look at the simplest particle systems. I’ve gone ahead and created a simple scene to help illustrate the effects of my changes to the particle system. You can play with settings that correspond to what you’re learning about, or just skim the tutorial to get an idea of how particles work.
Spray and Super Spray
Spray and super spray are basically the same thing. Super spray includes all the functionality of the basic spray, so most of the time you’ll opt for this particle system. I’m going to dive into some examples of using super spray since it’s a great starting place for getting acquainted with 3dsMax particles. You can find the super-spray object under the create panel, under the objects category, and in the “Particle Systems” group.
Once you’ve selected the “Super Spray” object, you can click and drag on your screen to create a particle system. The size of the emitter will not determine how large the emitter is, but the position and orientation will determine the origin and direction of your new particle spray.
Now if you’re working from the default file, and still on time t=0, then you probably don’t see any particles at all. This is because particles are time based; they don’t happen instantly. Go ahead and scrub the time-slider at the bottom of your screen and you’ll see particles being emitted from your super spray object. You can also hit the “>” key a few times and you’ll step along the animation by a few keyframes.
Let’s take a closer look at the super spray and it’s parameters. It may seem a little tedious since there are so many rollouts, but remember that a lot of the foundations we lay out here will help you when we’re looking at the other particle emitters and event-driven particle systems later on. I’ll try to keep things concise, but I’ve gone ahead and included the full rollouts on the left side. It shows every parameter in the super spray object.
Basic Parameters
The basic parameters rollout will allow you to make changes to the direction that the particles flow, as well as how they’re displayed in the 3dsMax viewport. The off axis and spread parameters control how the particles are spread out over a single plane. Imagine a Japanese fan spreading out. It starts off as a single bar, and then fans out along a plane. Both of these “Off axis/plane” controls handle the rotation of the emitter, while the “Spread” controls handle the range over which the particles may be emitted.
The off plane and spread parameters, control how that 2-dimensional fan of particles is spread out over all 3 dimensions. If all four of these parameters is set to their maximal values, we’d expect to see a perfect circular particle emission. Such an effect would be useful for explosions or 360-degree emissions like meteors.
Finally, we have control over how the particles are displayed in the 3dsMax viewport. It’s generally recommended that you keep as few particles displayed as possible. 10% can sometimes be too high for particles like dust, clouds, and steam where you only need to see a very small fraction of the particles to understand their overall flow. Each particle that the computer has to draw is another drag on performance- even if they’re just ticks.
Particle Generation
Particle generation parameters are geared around how the particles behave and act during and after creation. Oddly, this includes parameters like speed, sizing, and timing, but not parameters like rotation and shape. Think this is wierd? Me too.
The first two parameters, “Use Rate” and “Use Total” cover the speed at which particles are generated. A rate is how many new particles should be created every frame, while a total is how many particles should be generated between when the emitter starts and when it stops. Thus 200 total over 50 frames (4 particles per frame) will generate fewer particles than a rate value of 5. This works in conjunction with particle timing, which controls aspects of the particles like how long they should be generated for, how long they should live, and the variability of that lifespan. I say this because you’ll often find that fewer, older, larger particles can often do the job of more, faster, smaller particles.
It’s sad, but particles die too. If they didn’t, your scene would be overrun with particles that drag performance into the ground. Remember to set a tight life for your particles to keep your render times down, and you’ll be fine. The variability aspect gives you some randomness for your particle emission, and works great for things like smoke and sparks.
Finally, particle size controls how big the particles are, how variable their sizing should be, and how they should grow and fade over time. If your particle’s life is set for 30 (that’s 30 frames) and they grow for 10 (frames) and fade for 10 (frames), then your particles are at maximum size for only 10 frames. If you set the grow and fade to only 2, then you have particles appearing almost instantly at full size and vanishing just as quickly.
As a brief note, the uniqueness parameter is for randomizing multiple emitters. For example, if you have 3 smoke stacks on a factory, you’ll want to set different seed values for each smoke stack to keep them looking different.
Particle Type
The particle type rollout handles parameters that affect the particle’s type and appearance.
There are three general particle types; Standard Particles, MetaParticles, and Instanced Geometry. The first is simply the creation of a massive number of primitive objects. Some of these standard particles are obvious like sphere and cube. “Facing” creates planes that face the camera on every frame, which works well for smoke and cartoon snow. The “Special” is two squares intersecting at 90 degrees, while the “SixPoint” is made of two rotated triangles to form a star. The constant is a facing square that is always the same size regardless of distance from the camera. The “Tetra” is a 3d pyramid shape made of four triangles. Notice that there are only three 3d shapes on this list; the rest are planar!
Metaparticles are similar to metaballs which are common across many 3d graphics programs. 3dsMax uses them to approximate fluid dynamics and other “goopy” effects. The special traits here are tension, variation, and evaluation. Tension controls how close the metaballs need to be to each other in order to deform and “goop” together. A low tension value means a high likelihood that particles will merge in flight. Variation controls the variance on this value, while evaluation handles the quality of the effect. A low evaluation coarseness means a very crisp result, while a high value means a very rough result.
The “One Connected Blob” parameter is a lot of fun. It culls stray particles from the render and keeps only the largest connected blob of the particle emitter. Useful for an “oh no; it’s growing!” type effect (seen here).
Finally, the instanced geometry object type is relatively self-explanatory. It allows the emitter to blow out copies of an object you’ve already created. This works well for leaves, tennis balls, lawn mowers, or whatever else you can think of. Nothing’s more fun than raining televisions through your 3dsMax scene.
You’re able to control the sub-animation of the object (for example if those lawn mowers are engaged) as well as the material source. You can chose to obtain the instanced geometry’s material from the icon (i.e. you can apply a material to the emitter itself) or from the original geometry source.
Rotation and Collision
This next rollout handles how 3dmax handles the rotation of the particles, as well as the inter-particle collisions.
The particle rotation is more important for some particles than for others. For example bubbles and water won’t create any visible effects from rotation. On the other hand, cartoon-y snow flakes rely on the effect quite heavily. The spin time parameter determines how many key frames there are during a full 360-degree rotation of the particle. A high value here will slow down the particle rotation considerably, but a value of zero will provide no rotation at all!
The “phase offset” controls the initial offset for the particle rotation. Don’t worry, the varying particle ages (and variation on spin time) will keep your particles from rotating all together.
The spin axis control handles the base rotation for the objects. Some 3d objects will rotate over a predefined axis- like tires. Others have no particular rotation like our tennis ball example earlier. Thus, you may choose between a random spin axis (full 3d spin), direction of travel spin (holding the directional vector spin-less), or arbitrary spin directions (set your own spin levels). The direction of travel spin is probably the hardest to describe or understand. Imagine a propeller of an aircraft moving forward through space. It’s rotating over one degree (spinning) but not the other two (tumbling and twisting).
Inter-particle collisions is a massively intensive process that checks for particles striking and bouncing off one another. This is useful for small numbers of detailed particles like throwing televisions or bouncing tennis balls around. However, do not turn this feature on unless you’re looking for “broadcast quality” effects because it will slow down your render times considerably. Calculation intervals per frame control how often 3dsMax checks for inter-particle collisions, while the bounce coefficient and variation control how much speed the particles should retain when they bounce off of each other. I can’t stress this enough, do not turn this on unless it’s really necessary!
Object Motion Inheritance and Bubble Motion
These two rollouts are pretty straightforward.
The first controls how the particles should inherit the emitter’s motion and keyframing. While this might sound silly, think about how your emitter might be moving. That new space-ship might look extra cool if it’s gravi-pads could shoot out sparks during flight! Or maybe it’s taking damage and throwing gibs that need to fall away during the great escape sequence. Thus, you need to allow the particles to take on some or all of the motion of the parent emitter in order for the particles (especially heavy ones) to be emitted properly.
Bubble motion is what bubbles exhibit as they move upward through water. They wiggle randomly during motion. Similarly, you’re able to append an amplitude (severity of the effect), period (the amount of time to complete a single “wobble”, and phase (synchronicity across emitters).
Particle Spawn and Presets
Finally, we have particle spawn and presets. I’m not going to go into a lot of detail on these last two rollouts, as they’re not really suitable for this walkthrough.
The super spray presets are pretty self-explanatory. This rollout contains a number of pre-built emitter settings and it provides you the ability to create your own.
The particle spawn group controls “advanced” particle spawning procedures such as what kind of spawning procedure should take place when particles collide, die, or continue. To die on collision will destroy the particles that’ve struck a deflector (more on this later). By this point, you should be able to deduce what “spawn on collision” and “spawn on death” imply. Show trails will create new particles every keyframe, which can be useful for certain effects such as fireworks or sparks.
The directional chaos, speed chaos, and scale chaos groups have to do with the spawning of new particles (spawn on collision, spawn on death, and spawn trails).
Note that these high-end settings allow you to create fantastic effects such as fire, complex explosions, and more. By spawning many smaller particles from a larger one, you can simulate how an object might burn or subdivide while animated. Directional chaos controls the variance in the sub-particle’s direction. Speed operates in much the same way. Scale chaos handles the sizing of the sub-particles.
Other Particle Emitters
Alright! So we’ve had a long hard look at the super spray particle system in 3dsMax. But what about the other emitters? Lucky for us, particles have a finite span of concepts, and we’ve already covered 95% of them! The remaining particle systems like snow and pCloud are just different combinations of the same idea.
Snow
Snow is an optimized particle generator geared toward creating snow or confetti. What separates snow from spray is that the snow particle emitter can generate particles over an area rather than from a single point like the spray. There aren’t many parameters to this emitter- only the basics. Emission speed, timing, particle type (six point, triangle, or facing), particle size, and rotation. That’s it.
Blizzard
Blizzard is to snow as super spray is to spray. The 3dsMax blizzard particle emitter is basically a snow emitter but with much greater control. You have access to very similar controls as the super spray emitter like object motion inheritance, collision control, and presets. 3dsMax blizzard particle emitters still retain their most important characteristic; area particle generation.
pArray
Ah the particle array! This fantastic mechanism allows you to spread particles over the surface of an object rather than simply flying through the air. This is a very different concept than the other particle emitters, so I’d like to spend a little more time discussing it’s importance and uses.
The particle array can be used for a variety of tasks. For example, you could spread water droplets over a product, or rocks and trees throughout a meadow. The pArray emitter is often used for populating a plant with twigs and leaves to create a tree or shrub. This geometry based distribution is a very powerful tool. The best part is, you’re already familiar with most of the parameters that pArray uses like collision handling and particle object types.
pCloud
The 3dsMax particle cloud is another powerful tool. Similar to the particle array, the cloud allows you to fill an object’s volume with particles! This could mean anything from schools of fish to a ring of asteroids filling a massive torus. You can use this emitter to create a wide variety of effects. The only distinguishing feature of this emitter (and it’s parameters) is that you must select a bounding volume (cube, sphere, cylinder, or an object you created). You can see this emitter in action on the right, where I’ve filled a teapot with spheres.
Remember that pClouds and pArrays can be used to great effect in your 3d modeling as well as your animations. For both single images and animations, these two tools are quite valuable for adding detail beyond what you can do by hand.
Forces and Deflectors
What good are particles if they can’t be controlled? That’s why we have forces and deflectors available to us. Deflectors are typically quasi-objects that help keep particles from doing unusual things like going through walls or characters. If we wanted, it’s possible to make particles use the object mesh for collision detection every time. But the better route is to approximate the shape using cubes, spheres, and planes whenever we can. Forces are useful for directing the flow of particles so that we don’t have to keyframe them by hand to create complicated effects like tornados, explosions, and wind.
Let’s run through some of the simpler forces and deflectors and see how they can be useful when working with 3dsMax particles.
How and Where
You can find forces and deflectors under the pulldown in the create panel under the space warps group. Each of these objects can be created in the same way as ordinary spheres and cubes; by clicking and dragging. However, in order to have them affect a 3dsMax particle emitter, forces and deflectors must be “bound”. You’ll find the “bind spacewarp” tool in your main toolbar along the top of the screen.
You use it by starting with the spacewarp selected and click-dragging to the emitter. This will bind them together, and you’ll see the effect in two ways. First, the modifier stack of the emitter will have a “Binding” modifier showing you that it was effective. You should also see some effect on the particles in real time.
Deflectors
Deflectors are ways of controlling particle flow by preventing them from penetrating geometry that’s supposed to be solid. But why not have an option to prevent penetration of any polygons? Because the process can become processor intensive very, very quickly. While I’m not saying you need to use deflectors sparingly, you should give 3dsMax the luxury of some approximation. If your space-ship is a flying saucer, just approximate it with a squashed sphere.
That said, let’s have a look at the various deflector types! Imagine deflectors as a combination of 2 factors; shape and functionality.
Shapes
There are three shapes in the deflector selection; spherical, planar, and universal. The first two are self-explanatory; they’re shaped as the name suggests. The universal deflectors are based on geometry that you specify. This means you can have that battle cruiser pushing asteroids out of the way perfectly. However, remember that this could tax your system heavily, so it’s a good idea to create a low-polygon mesh that can act as a proxy for the real 3d model.
In the image on the left, I show you how each of these shapes act. I’ve created mesh objects to represent the 3 deflectors in the render. The torus object is an approximated version using much fewer polygons than the rendered object has.
Functionality
Next, there are three functional flavors of deflectors; ordinary, dyna-flect, and omni-flect. The first type of deflector is a highly simplified version of the deflector idea. Think of these as similar to our spray versus super spray concept described earlier. The next, dyna-flect, is for use with reactor objects and other reactive bodies. You’d use it when you need the target object to respond to being struck by particles (like tank armor deflecting bullets but getting dented).
Very briefly, what makes omni-flect deflectors special compared to ordinary deflectors, is that they provide many additional features. Allow me to summarize them here:
- Reflection parameters – the ability to tweak how “bouncy” particles are as they strike the deflector.
- Refraction parameters – for particles that penetrate the deflector, you can chose to have some of them follow a “tweaked” bearing. Note that reflection is calculated before refraction, so if you wanted half of the particles reflected and then the other half refracted you’ll need to set 50% reflection and 100% refraction.
- Friction parameters – for glancing angles and particles that’ve come to rest on the deflector, the friction parameter helps them slow to a stop. This is useful for large numbers of objects subject to gravity.
- Spawn reactivity – for particles that have options controlling how they spawn on collision, these parameters let you tweak that for each deflector. For example, if your sparks strike concrete, they’ll break apart and spawn more sparks, whereas if they hit the welder’s clothing, they could just stick and then die in a few frames.
Forces
Forces allow you to direct the flow of 3dsMax particles without having to bounce them around with deflectors. Think of forces as the “go here” command to the deflector’s “don’t go there” command. You can combine forces to create very specific and complicated effects like galaxies, tornadoes, and harsh weather effects.
You create and bind these forces in the same way that you would for a deflector. Just select the object, click-drag to create it in your scene, and then use the “Bind Spacewarp” tool to link it into your particle system. Let’s take a look at each type of particle emitter in 3dsMax. To aid in visualization, I’ve included some of the images from the help document. I’m sorry I can’t include them all; there are a lot of space warps in 3dsMax!
- Push - Exactly as it sounds; this force will consistently push particles in a single direction. This force is acceleration, so the older a particle is, the faster it’ll move!
- Motor - Operates similarly to the push force, but it applies a rotation at the same time. Remember spin art? It’s a lot like that. Because the “Motor” icon rotates your particles around it’s axis, the orientation is important!
- Vortex - Operates essentially like a push and a motor at the same time. It applies a “swirling” motion in order to form a funnel similar to a tornado, black hole, or water spout.
- Drag - Lowers the speed of particles as they age. You know how bullets slow down quickly as they enter water? And that’s why action heroes always jump off the boat in order to get away from the bad guys? That’s the effect that the drag force creates.
- Pbomb - Provides a shockwave that blows particles apart. Very simple to implement because it is essentially only timing and intensity parameters.
- Path Follow – Forces particles to follow a spline as they move. The key to remember here is that you can either have the particles follow the path as they exit the emitter, or follow the path as they come near a certain area.
- Gravity - Operates exactly as it sounds. Gravity exerts a constant, uniform pull on all particles in a given direction. You can also exert spherical gravity, which is very fun for modeling little galaxies and watching them congeal!
- Wind - Wind is a lot like gravity in that it applies an omnipresent, uniform force from a direction. However, wind has many more options for simulating turbulence and non-uniformity over time. In conjunction with snow or blizzard particle generators, you can make some very convincing weather effects.
- Displace - A very fun space warp. The displace operation will deform both particle systems and geometry! This is a big deal because it helps you bridge the divide between special, custom objects (like your character) and particles (like rain).
So far we’ve only looked at particle emitters, space warps, and deflectors.
3dsMax particle emitters will generate particles according to predetermined criteria. While they vary from emitter to emitter, the fact is that they’re static implementations of a more diverse idea. The space warps and deflectors have the capacity to alter the behavior of the particles, but not really their look and feel.
That’s why we have access to a powerful tool called Particle Flow. It allows us to customize the rules and procedures that govern the timing, motion, and look of particles.
Particle Flow
Next to the Snow, Blizzard, and super spray particle emitters in the 3dsMax interface, you probably noticed that there’s one I didn’t mention; “PF Source”. It’s full title is read as “particle flow source”, and it acts as the main conduit for creating very extensible particle systems. Go ahead and create one in your scene, and, under the modify panel, click the “Particle View” button from the “Setup” group.
I realize that this window is terrifying. Autodesk does not do well in creating a clean and easy interface. However, their engineers are a credit to the industry, so once you get past the cold interaction you’re on top of the heap.
Understanding the terminology of the window will help you understand what each of the 4 quadrants are. The particle flow diagram is made up of events that contain “actions”. In the upper-left quadrant of the window, the default events contain actions like “Birth”, “Position”, and “Speed”. These actions contain parameters similar to the ones you saw in snow and super spray earlier. These parameters are displayed in the upper-right quadrant of the window when you’ve selected an action in the particle flow view.
The lower right quadrant is called the “depot” and it provides access to all of the possible actions in particle flow. You can drag and drop these actions into the events in the particle flow diagram in order to affect your particles. For example, if we wanted to change the particle material after 30 frames, we’d use an age test, followed by a “Material Static” action. This effect is shown on the right. The resultant particle flow diagram is shown on the left. Finally, the lower-right quadrant shows you a quick description when you select an action from the depot. It’s useful for understanding if the action you’ve selected will actually do what you want it to.
Whew! That’s a lot to take in, huh? Take your time and don’t get overwhelmed! This will feel like second nature to you in one or two projects. Even better, you’ll be adding a skill to your toolset that will make you a much more valuable artist.
Above you saw how I created a custom event that would have never been possible with ordinary particle understanding. In this way, I can create a wide variety of complicated effects for both still renders and animations. Let’s try making one more complex interaction, and then we’ll call it a day.
I’m going to create a deflector in my particle flow that’s going to bounce the balls off of the floor. When the balls bounce, I want them to turn green, and get smaller. I’ll do this by creating a “Collision Test” at the very end of “Event 01″ which will ensure that the collision test takes place after the age test. This way balls that bounce will be green regardless of their age, but blue balls can bounce and turn green. In the upper-right quadrant, when I select the collision test I created, I can set the floor deflector as part of the particle flow system. Once the planar deflector is in place, I can simply drag a “Material Static” and “Shape” actions into the particle flow diagram, and link the event into the flow diagram. It’s important to note that I need to link the age test into the final collision event, or I’ll end up with blue spheres falling through the floor and green sphere’s bouncing back up!
Key Takeaways
- Particles save you time – The fact is that you shouldn’t have to model large numbers of objects very often, and even reactor can only go so far. You’d be surprised how applicable particles are in working with 3dsMax. Any effects that need a large number of objects can be replicated using the standard particle tools available in the program.
- Deflectors are for control – Use deflectors to control your particles. Think of them as the banisters on the side of the freeway. Your particles need to know where they aren’t allowed to go. This means anything from preventing penetration of walls and characters, to handling complex interactions like a car plowing through gunfire.
- Forces are for flow – Use forces to direct your particles. This is different from deflectors because you’re providing the impetus for your particles do what they were intended to do. Think of forces as the freeway itself- it tells your particles where they’re expected to go.
- Particle Flow is amazing – Particle flow is, indeed, amazing. It gives you the ultimate level of control over particles in 3dsMax. You can set up infinitely complex rules that govern how your particles look, where your particles go, and how they’re presented when rendered. You can link age to material like we did in the example above, but don’t let that limit your imagination! Make particle flow rate variable over time, or try making your particles glow using mental ray materials! The sky’s the limit.
I hope you’ve enjoyed this particles walkthrough. If you have any questions or comments, feel free to leave them on this post, or e-mail me at MrBluesummers@MrBluesummers.com As always, take care. Happy modeling.
Introduction to Anti-Aliasing
Hello Everyone,
So we’ve all heard about anti-aliasing, but what is it really? In this tutorial I’ll be giving you a background on what anti-aliasing and sub-sampling mean in 3dsMax so that you can jump into a production setting with some understanding right off the bat. We’ll start off by looking at anti-aliasing in the scanline renderer, followed by sub-sampling in the scanline renderer and mental ray, and finally we’ll review anti-aliasing in mental ray.
What is Anti-Aliasing and Sub-Pixel Sampling?
Rendering in 3dsMax is a very literal process. The renderer takes samples of what the camera sees and converts them into pixels. Only the geometry at the very center of the pixel is considered. Sub-pixel sampling and anti-aliasing are two sides of the same coin. One operates before the pixel is rendered, while the other operates afterward. Sub-pixel sampling is the process of taking more than one sample per pixel and blending them together before the pixel is returned as part of the image. Anti-aliasing is taking the pixels after they’ve been produced in the image and blending them together to remove harsh edges.
Notice the jagged edges in the version without anti-aliasing!
That said, sub-pixel sampling is a smarter but more intense process, so there needed to be a way to quickly take the edge off the final image. That’s why we have anti-aliasing. Note that anti-aliasing and sub-pixel sampling take time, and disabling them will make your renders go faster (though they aren’t as pretty).
But what methods of anti-aliasing and sub-pixel sampling are best? There have been several revolutions on both fronts in 3dsMax. mental ray and the scanline renederer have methods that each deliver a distinct (albeit subtle) flavor of image smoothing. Let’s blast through examples of each and get acquainted with the options available.
Scanline Anti-Aliasing
What I’m going to do here is elaborate on the descriptions provided in the 3dsMax help file. The fact is that whoever wrote this particular article didn’t really go into much detail about what each method looks like, so I’m going to fill in the gaps for you. Each of these renders was taken at the resolution you see on your screen, and each method was left on default values. I used a marble texture because it has plenty of hard edges to be smoothed.
| Method | Description | Comments | Image |
|---|---|---|---|
| Area
(default) |
Computes antialiasing using a variable-size area filter. This is the original 3ds Max filter. | The original filter isn’t bad. Think of it as a gentle Gaussian blur. | |
| Blackman | A 25-pixel filter that is sharp, but without edge enhancement. | This one is a little tighter than the Area method, but it doesn’t explicitly sharpen the image. | |
| Blend | A blend between sharp area and Gaussian soften filters. | Wicked blurry for this resolution, but otherwise a nice smoothing method. Notice the edges are still crisp. | |
| Catmull-Rom | A 25-pixel reconstruction filter with a slight edge-enhancement effect. | Crisp with sharpened edges. No options on this one. | |
| Cook Variable | A general-purpose filter. Values of 1 to 2.5 are sharp; higher values blur the image. | A little blurrier, but the edges are retained in an overlay-like fashion, even for high values. | |
| Cubic | A 25-pixel blurring filter based on a cubic spline. | Blurrier than Cook Variable without edge enhancement. | |
| Mitchell-Netravali | Two-parameter filter; a trade-off of blurring, ringing, and anisotropy. If the ringing value is set higher than .5 it will impact the alpha channel of the image. | A more robust filter, the default values look like Catmull-Rom. | |
| Plate Match/MAX R2 | Uses the 3ds Max 2 method (no map filtering) to match camera and screen maps or matte/shadow elements to an unfiltered background image. | A legacy method. It’s generally for matte-shadow composition. See the F1 help file for more details. | |
| Quadradic | A 9-pixel blurring filter based on a quadratic spline. | Similar to cubic; general blurring. | |
| Sharp Quadratic | A sharp nine-pixel reconstruction filter from Nelson Max. | Not much to say; similar to the Quadradic shown above. | |
| Soften | An adjustable Gaussian softening filter for mild blurring. | Gaussian blurring. Similar to Cubic and Quadradic, this is general blurring without edge enhancement. | |
| Video | A 25-pixel blurring filter optimized for NTSC and PAL video applications. | For use when rendering video with the 3dsMax scanline renderer. |
Scanline Super-Sampling
Super-sampling in the scanline renderer is what you use to control the sub-pixel activity of the renderer. This is different from anti-aliasing because, while it controls edge blending, it does so through sub-pixel sampling rather than through pixel bleeding.
Here is where you can find the super-sampling controls.
Below I’ve included a table showing you example renders for each of these super-sampling methods. I’ve used the same example scene as before, and I’m using the default area anti-aliasing method. Again, I left the default values for each sub-sampler and these images were rendered using the 3dsMax scanline renderer at the resolution you see on your screen. Remember that using sub-sampling will slow down your renders considerably more than anti-aliasing!
| Method | Description | Comments | Image |
|---|---|---|---|
| Adaptive Halton | Spaces samples along both X and Y axes according to a scattered, “quasi random” pattern. Depending on Quality, the number of samples can range from 4 to 40. | Similar to Hammersley, but provides a randomization that extends the uniform variant. | |
| Adaptive Uniform | Spaces samples regularly, from a minimum quality of 4 samples to a maximum of 36. The pattern is not square, but skewed slightly to improve accuracy in the vertical and horizontal axes. | Provides a generally sharper outcome. | |
| Hammersley | Spaces samples regularly along the X axis, but along the Y axis it spaces them according to a scattered, “quasi random” pattern. Depending on quality, the number of samples can range from 4 to 40. | Provides a generally smoother outcome. This method is not adaptive! | |
| Max 2.5 Star | The sample at the center of the pixel is averaged with four samples surrounding it. The pattern is like the fives on dice. This is the super sampling method that was available in 3ds Max 2.5. |
Provides the smoothest outcome. This method is not adaptive either. |
The two adaptive methods are named so because they adapt to the change in pixel contrast while the renderer is operating. In areas of low contrast, the sub-sampler will back off and move more quickly, while in areas of high contrast, the sub-sampler will work more deeply. You’ll see a similar feature in the mental ray renderer soon.
mental ray Sub-Pixel Sampling
In mental ray, we don’t have super-sampling, we have “sub-pixel sampling”. This gives us a very robust level of control over how mental ray samples each pixel in our image. Rather than rely on a forumla to handle sampling, we can simply tell mental ray the sampling levels for high contrast areas versus low contrast areas. We do this with the Samples per Pixel controls in the “Render Setup” rollout, similar to the scanline methods.
These two pull down menus control the minimum and maximum sampling.
The sampling in mental ray is given as a number or a fraction. The whole values indicate how many samples should be taken per pixel (i.e. a value of 1 is just one sample per pixel, while a value of 4 is 4 samples per pixel). Fractional values indicate how many pixels can be filled with a single sample.
mental ray sub sampling at 1/4 and 4
You can probably already see the implications of such a system. If you set the maximum and minimum sampling to 1/4, you’ll get a very blocky, but very fast render. On the other hand, if you set the maximum and minimum sampling to 4, you’ll get a slow but clean render.
Without getting lost in the minutia of 3dsMax mental ray sub-sampling, I’ll also point out that there is a spatial contrast group just below the samples per pixel group. This group controls how mental ray should chose between your minimum and maximum sampling levels based on the contrast across pixels. By default this is set to [5, 5, 5, 5] which is just shy of a 1% difference across pixels when rendering. However, you can change the threshold to a higher value if you want mental ray to bias itself toward the minimum (faster) sampling instead of the maximum (higher quality) sampling.
Anti-Aliasing in mental ray
Finally, let’s look at the anti-aliasing options in mental ray. Since there are only 5 flavors of smoothing, I’m going to include two sample images for each instead of just one. The first image will be using the default values, while the second image will show double the default values. For example, the box smoothing in mr is defaulted at width:1.0 and height:1.0. In image 2 for that method, the values are width:2.0 and height:2.0.
As with the 3dsMax scanline anti-aliasing examples, these images are all rendered at the resolutions you see on your screen. All other mental ray settings are left at defaults (including the sub-sampling levels of 1/4 minimum and 4 maximum).
| Method | Description | Comments | Image | Image |
|---|---|---|---|---|
| Box filter | Sums all samples in the filter area with equal weight. This is the quickest sampling method. |
Typical blurring; just blends the adjacent sub-pixels together. | ||
| Gauss filter | Weights the samples using a Gauss (bell) curve centered on the pixel. | The Gauss filter appears blurrier because it has a larger default size (3,3) than the box filter. | ||
| Triangle filter | Weights the samples using a pyramid centered on the pixel. | Generally yields crisper results. | ||
| Mitchell filter | Weights the samples using a curve (steeper than Gauss) centered on the pixel. | Generally considered the best filter in mental ray. | ||
| Lanczos filter | Weights the samples using a diminishing, but steep curve. | A fine filter that accentuates detail. |
And that’s the rundown!I hope this tutorial has given you an idea of what anti-aliasing and sub-sampling are all about in 3dsMax. Just remember that it’s a quality/speed trade off like most things in computer graphics. You need to find the happy medium in order to come off a head. When in doubt, aim for faster (usually lower) values when testing, and quality (usually higher) values when doing your final output render.
Until next time, happy rendering!
Cutting & Dressing Texture Maps
I’m afraid I don’t have a new tutorial for you, so in exchange I’m offering two neat bits. The first is that I’m uploading the Monday Movie a few days early this week, so that you can enjoy it that much sooner. It also shows you that I’ve been working on something so you don’t think I was goofing off- ignoring my promise of a new 3dsMax tutorial.
The other neat thing is that this Monday Movie is special! I’ve added a whole new intro sequence, and the video footage is now in wide-screen. I know it’s a little blurry, but trust me; next week is going to be sharper than your mom’s opinions. Fun!
This week’s Monday movie is about cutting and dressing texture maps by using what your perception of the diffuse map is. I show you a paint-chips texture, and because I know the materials that are present in the image I’m able to pull out a bump map and a glossy/specular map as well!
UVW Channels
Hey Everyone!
I’ve got a new monday movie for you. This week we’re looking at UVW channels and how you can use them to create more than one UV layout for your objects. Why is this important? Well, for one thing, it lets you use different UVW layouts for different maps in your material- allowing you to assign displacement maps after you’ve set up the rest of the material. You could also use this (theoretically) to juice your maps for all their worth in a low-poly situation. You might only need opacity mapping for part of the character, so why not get all 1024×1024 for that spot?
Anyway, in this video we’re looking at the first scenario; applying a displacement map to an object already set up with a material.
World-Machine Colors and Mixing Tutorial
Welcome to another World-Machine 2 tutorial! There’s a lot to be excited about in this nifty program, and one of them is the new color maps feature. If you don’t have a copy of World-Machine, you can always download the trial version. You can now use the awesome selection tools in World Machine to mix and match color swatches (and even image maps) in order to create your own color overlays for terrains. We’ll be going over all the selection types in the context of mixing colors. Of course, you’re not limited in how you use these; feel free to use them to create new heightfields, mix heightfields together, and whatever else you can imagine.
World Machine Finished File Download
So let’s get started. I’m going to be using the basic World-Machine 2 default file, and I assume you’ve played around with the program for a few sessions. The only change I made to the original scene was to make it a little larger. You can see my world extents window by clicking here. I’ve created a new group to help keep things organized for you. You don’t have to do that if you don’t want.
To get started, create a few colors. You can find the “Color Generator” device under the “Generator” tab or the “Bitmap” tab- depending on how you have things organized. You can alternate between organization structures from the “Tools” tab, using the first two buttons. The Color Generator looks like a rainbow blob in a green button. Hover over buttons to see their names.
Let’s go ahead and insert some colors into the scene by selecting the “Color Generator” and clicking a few times in your node graph. Double click on the node and assign each node a color. I made two shades of green, a rock color, and an off-white snow color.
I’d like to mix up the two green colors in a creative way! How about using the new “Convexity” selection device? Ordinarily, we’d have to use ambient occlusion maps outside of World-Machine in order to generate a map like this. But nothing compares to pre-calculation, so let’s bake it into the map. You can find all the selection devices under the “Selector” tab. This tab is only visible under the “Filter by Device Type” organization, so if you don’t see it, re-read the earlier note about filtering.
Note that the “Advanced Perlin” device is outputting to multiple devices. I did this by clicking from “Select Convexity” to “Advanced Perlin”- not the other way around. This allows you to hook several subsequent inputs into a single output. Neat trick, huh?
Once your convexity properties are set, you can connect it into the 3rd input of a “Chooser” node. This is the first button under the “Combiner” tab and it combines two devices based on a heightfield (rather than combining them procedurally). Create this node in your graph, and connect your two colors to the first and second inputs of the “Chooser”. Connect your convexity selector to the third input, and enjoy your results.
Now that we’ve set up the first combiner, I won’t bother with the repeated details. Let’s explore the other selection devices and see how else we can blend our material. Creative blending here will save you time and effort later on in 3dsMax, Terragen, or Vue d’Esprit. You won’t need to generate procedural blending maps or masks because you’ll be able to render precomputed maps from World-Machine.
Select the “Select Slope” selector from the list, and connect it to the terrain generator as you did for the last selector. Double-click on the selector. In the following window, you’ll see two sliders that control the start and end of the slope selection. Lower values mean shallower slopes, and higher values mean steeper slopes. I’ve selected a moderate range of shallow slopes with a low falloff. I want a little mixing between grass and rock, but not much. This gentle blending has a great effect when rendered.
Similar to the previous process, create a new “Chooser” node, and connect your rock color and the previous chooser as inputs. You’ll then connect your new “Slope Selector” as the final input node (the mixer).
So far we’ve mixed two kinds of grass and a single rock color. For the snow, let’s spice things up. I want snow on the North-facing peaks above a certain elevation. Sounds like a tall order, doesn’t it? It’s not! World-Machine allows you to combine mask maps in much the same way that it allows us to mix color maps. We just have to combine a “Select Angle” device and a “Select Height” device such that we get a mask that fits our demands. Try getting angular snow deposits in 3dsMax- fat chance.
We’ll start by creating the “Select Angle” device and attaching it to the “Advanced Perlin” heightfield generator. I’ve included a screenshot of my settings below.
We’ll also want the “Select Height” device, which allows us to set a minimum on how far down snow should go on the heightfield. Just like the other filters, this needs to be connected to the heightfield generator as well. Notice a similar interface to the “Select Slope” window. We select a range using the two sliders- higher values indicate a higher elevation, while lower values indicate a lower elevation.
Finally, you’ll create a simple “Combiner” device. Notice the difference between a combiner and a “Chooser”. The combiner does not mix according to a map, but instead according to a formula. Also, the combiner can be biased one way or another- an important quality that we’ll use. Create your combiner and hook both selectors into it. Double click on the combiner and set it to “Multiply” with full bias toward the height selector.
Only one small detail remains, although the next step should be pretty clear. You’ll want to use this combined map as the choose-y map for another “Chooser” device. This final “Chooser” will select between the snow and the grass/rock result we got from the last “Chooser” node.
But how to overlay this awesome color map on our terrain? For that you’ll want the “Overlay View” node, found in the “Output” tab. The image is of a terrain with a colorful topography. When you connect the resultant color map to the “Overlay Input” on the Overlay View (bottom input) and the original heightfield into the “Primary Input” on the Overlay View (top input), you’ll see the terrain displayed in the preview viewport using your awesome new color map!
When all is said and done, here’s what my node graph looks like. Notice I bypassed the terrace node to keep the color map and the heightfield consistent.
And that’s all there is to it! I know it seems like a mess, but it’s actually pretty basic considering what we managed to pull off. You can combine these in a wide variety of ways, including combining them into macros and merging many together to simplify the node graph. Very complex materials are possible.
Consider experimenting with this technique to colorize sediment from the erosion device, or create sandy beaches with the “Coastal Erosion” device. what makes this special and a world apart from doing it in 3dsMax or Maya is that you have a lot of information that you wouldn’t otherwise have. Deposition maps, flow maps, wear maps and more would otherwise have been lost.
Static UVW Mapping
Hey Everyone!
This week’s Monday Movie is on using static UVW mapping in 3dsMax. The modifier stack is a beautiful thing because it allows you to use awesome techniques like this! You can work on the editable poly object at the base of the stack while keeping a UVW map modifier on top. This lets you model without worrying too much about wrecking the mapping. This technique is most useful in low-poly work and simple objects like barrels and butterflies.
3dsMax Caustics Tutorial
Hey all!
I found this caustics tutorial recently, though I know it’s been around since about 2004. What’s nice is that it’s already in PDF form so it’s easy to download and print. Written by Mario Malagrino for the Florence Design Academy, this tutorial covers the bare bones of creating caustics in a simple waterbox. The nuts and bolts of it are pretty straightforward, and Mario was kind enough to illustrate the tutorial clearly.
Modeling Core – Part 4
Hey Everyone!
This week’s Monday Movie is part 4 of 4. I’m hoping to make one movie each week discussing what I think are the core modeling methods: primitives modeling, Boolean modeling, spline modeling, and poly Modeling. I’m very sorry this movie was delayed; the holidays snuck up on me, and then my display adapter went nuts literally as I was about to upload the video file.
In this video I’m talking about how you can create fully arbitrary meshes using the turbosmooth modifier. Remember that this is just an introduction to a branch of poly modeling, so it shouldn’t be taken as the full enumeration of all possibilities. I go over a few of the most important methods of mesh control; adding edges, chamfering, discontinuous mesh flow, and creasing.
An Introduction to World Machine
Hello, and welcome to my World-Machine 2 Primer. During this tutorial, you’ll learn about how the World-Machine interface works, how you can manipulate the node-graph, and how you can export the resultant terrain to 3dsMax or Vue d’Esprit. My goal is to get you up and running with the program as quickly as possible, so I’ll be showing you the very core fundamentals so that you can get output from the program. More advanced features and techniques will be discussed in the next few sections of this primer. If you don’t already have World-Machine, consider downloading the trial version so that you can follow along!
The startup screen shows you the node graph; the diagram representation of how your terrain will be built. The left group is the terrain creation group. It contains a single terrain generator. Notice beneath the node, it reads “Advanced Perlin”. This means that this node is generating advanced Perlin noise. Similarly, you’ll notice the other nodes read “Terrace” and “Height Output”. The terrace filter creates a stair-stepped look in the terrain, while the height output node allows you to save the resultant terrain to a file. You don’t have to put your nodes inside these groups; they’re optional. They are included in the startup screen to help you visualize what’s going on in this simple graph.
Notice on the top left of your screen, there’s a small terrain preview. This shows you what your terrain looks like at a given part of the node graph. Try selecting the “Advanced Perlin” node, and look at the preview. Then select the “Terrace” node and notice the difference. You should see something similar to the image on the right. When you select a node, World-Machine displays the terrain you would get if you exported from that node in the graph. This is very useful when you’re inserting new nodes into the graph to achieve certain effects.
This also has an impact on rendering or “building” your terrain. Notice the green and yellow round buttons along the top toolbar.
These control the build.
The green button, when clicked, builds all nodes, regardless of whether they’re before or after of the node you’ve selected. The yellow button, however, builds only the nodes up to (and including) the node you currently have selected. For example, if you select the “Advanced Perlin” node and click the yellow button, World-Machine will only render the heightfield generator, and ignore the “Terrace” node. You’ll realize the value of this button when you start working with terrains so complex that they bog down your machine if you try to render the entire solution every time.
Let’s try that now. Click the green button to render the entire hieghtfield. You’ll notice a window appear that displays the build process. This progress window is miles above what it used to be now that it includes a device breakdown. When the build is complete, you can click “OK” to close the dialog. If you find it annoying for smaller builds, you can choose to have it auto-hide in the dialog found in World Commands >> Preferences.
Now that the build is complete, you can preview the landscape in the 3d view!
Notice that instead of the node graph highlighted in the button bar, I now have the 3d view button highlighted. Give it a click, and you’ll see the high resolution version of the terrain. This view is useful for getting a bird’s eye view of your landscape. Note that if you’ve made changes to your terrain after building, and then try to use this view, you’ll only get a super-low resolution preview image.
The 3d view is controlled by the left mouse button (rotate), the right mouse button (zoom), and the Up/Down/Left/Right arrows (move the camera on the X/Z plane). You’ll want to inspect your landscape like this before exporting it to your favorite rendering program.
Alright! We’ve covered the default scene, as well as building and viewing terrains. Now we’ll have a quick look at how you can modify the terrain, and then we’ll export the scene.
First, let’s try editing an existing node. Go back to the node graph by clicking on the graph icon in the button toolbar. Double click on the “Terrace” node to open a dialog that will alter its properties. I encourage you to play around with these settings. For now, I’ll reduce “Terrace Layering” down to 1, which will drastically lower the number of ‘steps’ in the terrain.
I’ve included an example of what my terrain now looks like on the right. It’s looking pretty good, but it’s still got that fresh terrain feel. We need to weather the landscape procedurally in order to make it appear more natural. In addition, we’ll want a more sweeping vista in order to get a good image after the terrain is rendered.
Let’s get to it. Go ahead and click on the “Natural” tab, and click on the very first button on the left called “Erosion”. Click next to the terrace to create a new “Erosion” node. You’ll notice that the color below the new node is red; that is because it is not connected to any other nodes, and will not be included next time you build the terrain. In order for it to have any effect, you’ll need to connect an input to the left side, and an output to the right side of the node.
To do this, just click on the little dark box on the right side of the “Terrace” node and then click on the lighter box on the left of the “Erosion” node. This will link the two together. Now do the same for the output of the Erosion node to the input of the “Height Output” node. It’ll look like the image below when you’re done.
You should also notice a change in the preview on the upper right of the user interface. It looks like it’s undergoing a kind of melting process. That’s the erosion in action. Because the Erosion and Height Output nodes haven’t been built yet (and have a yellow status icon), you’ll want to click the green “Build All” button and have a look at the full-resolution terrain in the 3d view again. You’ll probably notice at this point that the build takes longer this time. That’s because erosion is an intense process and should be used carefully. If you use too many erosion nodes, you’ll start running into trouble!
I’m going to double click on my Erosion node, and, Under the “Presets” group, I’m going to select ‘A Flood of Slurry’. This step is, of course, optional.
The last step in this tutorial is to increase the size of the terrain and get a broader landscape represented. World-Machine is excellent, in part, because it can create vast landscapes that all adhere to the same procedural rules.
The “World Extents and Resolution” button is pretty self explanatory. You use this dialogue to alter the resolution of the terrain and how large the single terrain should be when it’s built. If you are using the trial version of the software, you will be unable to select a terrain size larger than 512×512. However, if you’ve already bought the software, go ahead and use 1024×1024 for this demonstration. Under the “Render Extents” group, change the “Width” and “Height” parameters to read 16.00 km each. This will make World-Machine render a larger area over the same amount of pixels. Note that this reduces the resolution per square meter, so keep in mind how big you want your scene when finished.
One final note. The terrain altitude scaling in the upper right corner of the dialogue allows you to set the overall height of the terrain in the preview and 3d view. If you find your terrain looking vertically stretched or squashed, this is the parameter you’re looking for.
That said, let’s take one more full build using the green button, and this terrain should be ready for export.
In order to export the heightfield, we just have to set the right parameters in the “Height Output” node at the end of the graph. Double click on that last, red node, and pick a file format. Generally speaking, you’ll want to use TIFF unless you’re using Terragen in which case .ter is what you need. The other types are for convenience, and if they fit your situation (i.e. BMP/TGA for dame engines) feel free to select those. Once you’ve picked a format, click the “set” button at the top of the dialogue and select an output directory. This directory will be saved, and you can even elect to have World-Machine automatically save the map every time you build. This is a real timesaver!
And that’s it! You now have the very basics you need to understand, manipulate, and save a terrain in World-Machine. There are tons of features to this program, and you’ll discover them most effectively through playing around with parameters and filters. I’ll be writing more tutorials in the future (and maybe even doing a Monday Movie) discussing techniques in World-Machine and how you can use this handy program to boost your pipeline.
Modeling Core – Part 3
Hey Everyone!
This week’s Monday Movie is part 3 of 4. I’m hoping to make one movie each week discussing what I think are the core modeling methods: primitives modeling, Boolean modeling, spline modeling, and poly Modeling.
In this video I’m talking about how you can create semi-procedural shapes using splines and spline modifiers like Extrude and Lathe. Remember that splines bring us even closer to arbitrary modeling by allowing us to abstract away certain aspects of modeling, while keeping only what’s necessary to be modeled by hand.








































