From the course: 3ds Max: Tips, Tricks and Techniques
Render a mesh object with Arnold Standard Volume - 3ds Max Tutorial
From the course: 3ds Max: Tips, Tricks and Techniques
Render a mesh object with Arnold Standard Volume
- [Instructor] In the Arnold renderer, any polygon mesh object can render as a volume. This means we can render clouds, smoke, mist, gas, and other volumetric effects within the boundaries of any polygon mesh. To do this, we use the Arnold standard volume material, and the Arnold properties modifier. Before we begin, it's important to know that the meshes must be watertight. There cannot be any holes in the model. Holes will not render properly, and will show up as if they had 100% density, or a solid surface. So I've created a scene with a modified teapot primitive. I've actually created four separate objects, each one with just one part of the teapot enabled, as we can see here. And that made it legal for me to add Cap Holes modifiers to seal up all the gaps. So if I select the body and hide it, right-click and choose Hide Selection, we can tumble or orbit around a little bit and see that we've got no holes anywhere. All right, I'll undo that hide. And select all four of the polygon objects. Let's go to the material editor, and assign the Arnold standard volume. Open up Material Editor. And that will be found under Materials, Arnold, Volume, Standard Volume. Drag that over into the view, double-click it, and rename it teapot volume. With those four objects still selected, we can assign the material to the selection. We also need to add an Arnold properties modifier. Once again with all four of those objects still selected, go to the Modify panel, and from the Modifier list choose Arnold Properties. In order to see the effect, let's enable ActiveShade. Open up the ActiveShade window. To render as a volume go into the Volume rollout of the Arnold Properties modifier, turn on the enable switch, and give it a non-zero step size. Step size is the accuracy of sampling. Lower values are more accurate, but take longer to render. You'll need to find the sweet spot for each scene. In this case I'm going to set the step size to 0.2. And now we've got a nice cloud rendering here on our teapot. We're going to add some displacement later, and in order for that to work properly we need to have a non-zero padding. Padding is required if we want to displace the volume very far outside the boundaries of the mesh. With insufficient padding, parts of the volume would be cut off and wouldn't render. Let's set the padding to 10. We've got the Arnold Properties set up. Let's go back to the Material editor, and work with the Arnold standard volume material. At the top is Density. Let's bring that down a bit, we'll set the density amount to 0.3. Now it's a little bit more ghostly. We can reduce the transparency, and make it a little bit more opaque, because it's got a high transparency by default. So click on the Transparency Color, and bring that down to 0.1. Then we have the Depth, and that's the distance from the outer boundary at which this transparency is reached. If we have lower depth values, then it will appear more solid because light will not penetrate as deeply into the material. Set the Depth to a value of 0.1. The color is determined by the scattering parameters here. We have the intensity of scattering and the color. We're going to connect a map to the color, but we can adjust the intensity, just bring it down a little bit to 0.9. And if I want this to look like a cloud, in which light is really scattering around inside, then we need to give it a little bit of emission. The scattering here is not the same as subsurface scattering on a solid object. If we want a subsurface scattering type of effect, we need to give it a little bit of emission here. Set the mode to Density. Then we have Intensity and color. We'll leave the Color at White, and maybe connect a map to that later. But for now we just want to bring the intensity up a bit. Set that to a value of three. Now it looks like it's a little bit more lit from within. With these parameters, it's back to looking almost like a solid surface, but we're going to mix this up quite a lot with a noise map. So back in the Material Map browser, we want to go to Maps, Arnold, Texture, Noise. Drag that over into the view, double-click it, and call it teapot noise. Connect its output to the input scatter_color on the standard volume. Now we can see we've got a noise map applied. Let's change this up, set the Octaves to five. That's the number of iterations to the noise, or the level of detail. Increase Lacunarity, which is basically chaos. Set it to a value of 2.6. Also we have the Mode down here, which is defaulted to scaler, which is giving us just a black and white noise effect. But later we want to apply vector displacement, and that's going to push the volume in all three directions. So we want to change this over to vector, for vector displacement. And now we have RGB colors on the noise. Let's increase the amplitude a bit. Let's set that to a value of five. Now we're getting very colorful effects here, but we want this to actually really be something we can art direct, so for that purpose we can use the noise as a mask between two colors. And that's done with a Mix RGBA node. Back in the Maps, Arnold, go into the Math section. And you're looking for Mix RGBA. Drag that over into the view, and connect that between the noise and the standard volume. We want the noise to drive this mix parameter, so connect the noise output to the mix input, and the Mix RGB output to scatter_color. Double-click on Mix RGBA, and let's change up these colors. Go into input1, let's make this a red color. We'll have a hue of zero, a saturation of 0.95, and also a value of 0.95. Click OK, go over to input2, and let's make that green. We'll set the hue to 0.3, the saturation 0.85, and the value 0.7. Click OK, now we've got some nice colors applied on there. And now for the displacement. We can just connect the noise directly to the displacement input of the standard volume. We can see that the vector displacement is working quite nicely, it's pushing the volume that was once inside the teapot in all directions. But it will take a lot longer to render. Just be careful with volumetric rendering, because it takes a lot longer than standard surface rendering. If we want to control the amount of displacement, we can use a range node for that. That'll be found once again in the Math nodes for Arnold. Here's Range, drag that over, and we can connect it in between the noise and the displacement to control the input and output ranges. Connect the noise output to the range input. Connect the range output to the displacement input. Double-click the range node, and rename it displace range. I've already experimented with the displace range values that I want for this shot. So let's plug those in. I'll bring the input minimum down to negative one, and then increase the output maximum to five. And likewise reduce the output minimum to negative five. That way we're able to displace both inward and outward. That looks pretty nice so far. If we want to animate that, one way to do it would be to animate a color and multiply by that color. So let's do that, we can go back to our Arnold Math nodes, and create a Multiply node, drag that over. And then connect teapot noise to input1, and take the output of Multiply and plug that into the Range node. Double-click on that Multiply node. We're multiplying input1, which is the noise map, with input2 which is currently white. I can click on that, and adjust the value and as I do so I am attenuating the amount of displacement. So I can just animate this value using autokey. And create an animation in which the teapot coalesces, or disintegrates into a cloud. And that's how to render polygon objects as Arnold Standard Volume in 3ds Max.
Practice while you learn with exercise files
Download the files the instructor uses to teach the course. Follow along and learn by watching, listening and practicing.
- Ex_Files_3DSMax_Q1_2018.zip
- Ex_Files_3DSMax_Q1_2019.zip
- Ex_Files_3DSMax_Q2_2018.zip
- Ex_Files_3DSMax_Q2_2019.zip
- Ex_Files_3DSMax_Q3_2017.zip
- Ex_Files_3DSMax_Q3_2018.zip
- Ex_Files_3DSMax_Q4_2017.zip
- Ex_Files_3DSMax_Q4_2018.zip
- Ex_Files_3DSMax_Q3_2019.zip
- Ex_Files_3DSMax_Q4_2019.zip
- Ex_Files_3DSMax_Q1_2020.zip
- Ex_Files_3DSMax_Q2_2020.zip
- Ex_Files_3DSMax_Q3_2020.zip
- Ex_Files_3DSMax_Q4_2020.zip
Contents
-
-
-
Modeling a floor plan from a 2D drafting document13m 36s
-
(Locked)
Modeling terrain with Displace space warp11m 18s
-
(Locked)
Projecting UVs with the Camera Map world-space modifier7m 46s
-
(Locked)
Capturing shadows with Arnold Shadow Matte map10m 43s
-
(Locked)
Rendering compositing passes with Arnold AOVs9m 6s
-
(Locked)
Mechanical rigging with IK and the LookAt controller9m 16s
-
(Locked)
Modulating animation with Multiply and Ease Curves13m 9s
-
(Locked)
Working with audio and the AudioFloat controller12m 8s
-
(Locked)
Automating with Expression controllers10m 13s
-
(Locked)
Real-time animation with the Motion Capture utility10m 17s
-
(Locked)
Stylized rendering with Scanline Ink 'n Paint8m 16s
-
(Locked)
Getting started with the Max Creation Graph13m 25s
-
(Locked)
Modifying a Max Creation Graph tool12m 27s
-
(Locked)
Sculpting a terrain with Texture Object Mask9m 33s
-
(Locked)
Building a road with Conform space warp11m 12s
-
(Locked)
Shading a landscape with Arnold Curvature14m 59s
-
(Locked)
Creating custom attributes with the Parameter Editor9m 1s
-
Driving animation curves with the Reaction controller6m 56s
-
(Locked)
Rigging a camera-facing matte painting10m 41s
-
(Locked)
Aligning a camera to a background with Perspective Match10m 32s
-
(Locked)
Projecting a photo to proxy geometry with Camera Map11m 49s
-
(Locked)
Automation with wire parameters and manipulators8m 18s
-
Converting scenes for different renderers10m 52s
-
(Locked)
Rendering light groups with Arnold AOVs10m 11s
-
(Locked)
Graphing scene conditions with State Sets Compositor9m 34s
-
Introduction to 3ds Max Fluids10m 18s
-
(Locked)
Modeling with the Motion Field Space Warp9m 55s
-
(Locked)
Non-destructive model adjustment with Linked Xform9m 23s
-
(Locked)
Animating sub-objects with Linked Xform10m 11s
-
(Locked)
Customize and cycle Path Constraint animation5m 54s
-
(Locked)
Generate complex motion with Waveform Controllers10m 56s
-
(Locked)
Illuminate a scene with an Arnold Mesh Light5m 49s
-
Shading with Maya maps in 3ds Max4m 32s
-
(Locked)
Varying shader properties by object with Arnold Color Jitter5m 26s
-
Render a mesh object with Arnold Standard Volume9m 47s
-
Render a Point Cloud object8m 21s
-
(Locked)
Setting track value boundaries with a limit controller4m 5s
-
(Locked)
Drawing curves with Freehand Spline8m 41s
-
(Locked)
Correcting intersections with Spline Overlap4m 38s
-
Reducing curve detail with Optimize Spline6m 42s
-
Resampling curves with Normalize Spline8m 44s
-
(Locked)
Soft-selecting curves with Spline Influence7m 42s
-
(Locked)
Blending curves with Spline Morph12m 15s
-
Combining splines with shape Booleans10m 51s
-
(Locked)
Approximating global illumination in Arnold13m 10s
-
(Locked)
Rendering proxies with Arnold procedurals10m 25s
-
(Locked)
Introduction to the Open Shading Language map11m 16s
-
Basic syntax of Open Shading Language8m 24s
-
(Locked)
Declaring OSL input and output parameters12m 53s
-
(Locked)
Generating a fractal noise pattern in OSL9m 25s
-
(Locked)
Iterating a for loop in OSL10m 16s
-
(Locked)
Using the if… else conditional statement in OSL10m 9s
-
(Locked)
Managing OSL file assets and paths10m 8s
-
(Locked)
Accelerate Arnold rendering with adaptive sampling5m 59s
-
(Locked)
Texturing with the Advanced Wood procedural map11m 2s
-
(Locked)
Art directing the Advanced Wood texture map5m 16s
-
(Locked)
Setting a fluid initial state9m 19s
-
(Locked)
In-camera compositing with Camera Map modifier7m 8s
-
(Locked)
Creating animation layers14m 33s
-
(Locked)
Collaborate online with shared views6m 14s
-
(Locked)
Rendering iridescence with Arnold Thin Film8m 17s
-
(Locked)
Loading and saving fluid presets7m 36s
-
(Locked)
Introduction to 3ds Max Interactive9m 15s
-
(Locked)
Building a motion graphics rig with Data Channel10m 18s
-
(Locked)
Creating custom project folder structures8m 28s
-
(Locked)
Open Shading Language code editor tips and tricks8m 21s
-
(Locked)
Spawning particles from a 3D map11m 18s
-
(Locked)
Rendering a starfield10m 21s
-
Faking GI with an Arnold ambient occlusion filter9m 4s
-
(Locked)
Modeling with the animation Snapshot tool6m 30s
-
(Locked)
Rendering particles with Arnold Standard Volume11m 23s
-
(Locked)
Render Arnold volume with physical values6m 38s
-
(Locked)
Volume indirect global illumination in Arnold7m 56s
-
(Locked)
Removing polygon detail with Freeform Optimize6m 26s
-
Transform and retime a cache with Fluid Loader7m 25s
-
Rendering motion blur in Arnold10m 46s
-
Drawing splines on an editable poly2m 48s
-
(Locked)
Sketching freeform topology over a polygon mesh6m 17s
-
(Locked)
Animating effects with Data Channel Decay6m 54s
-
(Locked)
Animating controllers in the Material Editor7m 17s
-
(Locked)
Painting a vertex color mask with VertexPaint9m 25s
-
(Locked)
Drawing polygon freeform strips5m 17s
-
(Locked)
Extruding polygon freeform branches2m 41s
-
(Locked)
Interactive ActiveShade in a viewport4m 35s
-
(Locked)
Fluid data channels5m 50s
-
(Locked)
Displaying fluid data channels9m 56s
-
(Locked)
Assigning UVW coordinates in an OSL network8m 52s
-
(Locked)
Using named coordinate spaces in Open Shading Language (OSL)11m 27s
-
(Locked)
Shadow group exclusion with Arnold properties5m 59s
-
(Locked)
Erasing materials with MAXScript or UVW Remove3m 3s
-
(Locked)
Understanding Fluid Churn and Vorticity channels6m 13s
-
(Locked)
Rendering Fluid channels with Arnold User Data5m 56s
-
(Locked)
Keyframe quantization and sub-frame editing with Snap Keys8m 37s
-
(Locked)
Importing a CAD solid model as a Body Object8m 38s
-
(Locked)
Solid model subtraction and intersection with Body Cutter4m 58s
-
(Locked)
Solid model union with Join Bodies6m 54s
-
(Locked)
Denoising an Arnold rendering7m 50s
-
(Locked)
Interactive Update in the animation Curve Editor2m 54s
-
(Locked)
Curve Editor view menu: Tips and tricks5m 33s
-
(Locked)
Editing animation curves with the Region Keys tool4m 56s
-
(Locked)
Combining data channels of Fluids7m 13s
-
(Locked)
Shading per object with OSL Random by Index7m 15s
-
(Locked)
Layering materials of Fluids6m 51s
-
(Locked)
Render particles as Arnold primitives3m 37s
-
(Locked)
Render PFlow particles with Arnold Shape4m 34s
-
(Locked)
Remapping colors with Arnold Ramp RGB7m 36s
-
(Locked)
Rendering contours with Arnold Toon7m 31s
-
(Locked)
Mapping Arnold Toon base color8m 55s
-
(Locked)
Controlling preview quality6m 2s
-
(Locked)
Adding information overlays to a preview with MAXScript7m 49s
-
(Locked)
Modeling with the updated Chamfer modifier9m 7s
-
(Locked)
Applying a chamfer using edge weight and depth5m 4s
-
(Locked)
Baking a map to a mesh with Assign Vertex Color9m 59s
-
(Locked)
Generating cavity and occlusion maps with Render Surface Map6m 48s
-
(Locked)
Baking multiple vertex color channels with VertexPaint9m 4s
-
(Locked)
Compositing vertex color in a shading network7m 29s
-
(Locked)
Optimizing geometry with the MultiRes modifier8m 33s
-
(Locked)
Improving viewport performance with the Substitute modifier2m 57s
-
(Locked)
Constructing a lighting assembly5m 24s
-
(Locked)
Wiring parameters in a lighting assembly8m 24s
-
(Locked)
Measuring with tape helper, the Measure Distance tool, and the Measure utility6m 39s
-
(Locked)
Display panel tips and tricks5m 12s
-
(Locked)
Quickly adjusting transforms and pivot point with the Transform Toolbox8m 39s
-
(Locked)
Stacking objects with Select and Place5m 13s
-
(Locked)
Managing objects and sub-objects with selection sets8m 17s
-
(Locked)
Referencing scenes with containers8m 51s
-
(Locked)
Changing inherited container content with Edit in Place8m 13s
-
(Locked)
Locking and unlocking container parameters9m 14s
-
(Locked)
Editing unlocked container parameters7m 16s
-
(Locked)
Projecting splines onto surfaces with ShapeMerge6m 31s
-
(Locked)
Analyzing and correcting mesh geometry with xView7m 29s
-
(Locked)
Keyframing sub-objects with the Master Point controller9m 38s
-
(Locked)
Managing scene materials with Material Explorer8m 36s
-
(Locked)
Defining a temporary transform center with working pivot8m 23s
-
(Locked)
Customizing keyboard shortcuts with Hotkey editor6m 56s
-
(Locked)
Stylized rendering with OSL Halftone Dots map4m 44s
-
(Locked)
Incorporating scene lighting in a shading network5m 20s
-
(Locked)
Incorporating render resolution in a shading network7m 32s
-
(Locked)
Situating geometry within an OSL HDRI environment6m 9s
-
(Locked)
Studio lighting with HDRI lights map8m 9s
-
(Locked)
White balance and exposure with an Arnold camera filtermap5m 11s
-
(Locked)
Rasterizing maps with bake to texture9m 45s
-
(Locked)
Advanced baking with bake to texture8m 26s
-
(Locked)
Baking to physically based renderer (PBR) materials for export7m 35s
-
(Locked)
Production rendering with Quicksilver hardware12m 11s
-
(Locked)
Varying textures with OSL Randomized Bitmaps11m 29s
-
(Locked)
Deforming a particle system with the Mesher compound object4m 49s
-
(Locked)
Set up Arnold render passes with AOV Manager8m 19s
-
(Locked)
Animating multiple tracks with Parameter Collector6m 45s
-
(Locked)
Improving edge smoothing with Weighted Normals modifier7m 35s
-
(Locked)
Rendering a cutaway with the Arnold Clip Geo material4m 14s
-
(Locked)
Advanced procedural noise with Uber Noise map13m 14s
-
(Locked)
Rendering polygon edges with OSL Wireframe map7m 32s
-
(Locked)
Art directing the OSL Wireframe map5m 55s
-
(Locked)
Introduction to MassFX Rigid Body dynamics7m 30s
-
(Locked)
Setting up a MassFX Rigid Body simulation5m 14s
-
(Locked)
Controlling a MassFX Rigid Body simulation7m 40s
-
(Locked)
Fine-tuning a MassFX Rigid Body simulation7m 42s
-
(Locked)
Automating secondary animation with the Flex modifier7m 2s
-
(Locked)
Keyframing modeling commands with the Edit Poly Animate mode4m 44s
-
(Locked)
Generating UVs with OSL projection maps5m 33s
-
(Locked)
Retiming all keyframes in a scene with the world track6m 53s
-
(Locked)
Snapping surfaces dynamically with MCG Ray Constraint6m 1s
-
(Locked)
Complex sub-object selections with the Selection ribbon7m 30s
-
(Locked)
Adding polygon edges with Paint Connect4m 33s
-
(Locked)
Manipulating sub-objects without changing mapping with Preserve UVs3m 41s
-
(Locked)
Hiding geometry based on distance with Viewport Clipping2m 53s
-
(Locked)
Navigating a scene with walkthrough mode3m 55s
-
(Locked)
Parametric soft transforms with Affect Region4m 1s
-