Learn about render points or an implicit surface.
- [Narrator] The Arnold renderer, directly supports the liquid shape node, also known as the bifrost shape, so that we can render particles, and implicit surface, or a mesh, tessellated at rendered time. In the Arnold section of the bifrost shape node, we have some very cool options, that allow us the visual fidelity of classic bifrost meshing, render times are about the same, and we don't need to spend time and resources, building a cache. Behind the scenes, the liquid shape renders us something called, the bifrost Procedural for Arnold.
In this context, Procedural is a noun, meaning type of Arnold primitive object. Very importantly, these attributes, for the bifrost shape node, completely changed between the Maya 2018, and the Maya 2018.1. Make sure you're running 2018.1 or higher, and M2A Arnold plug-in version 2.0.2, or higher. You can check the current versions, in the menus, under help, about Maya, and Arnold, about.
In this scene, I've prepared and cached a liquid simulation. This scene picks up where we left off, at the end of the chapter on caching and meshing. Previously, we saw how to cache the liquid part of the simulation only. If I go into bifrost liquid properties one, to the liquid cache, we see that it's referencing, a cache directory, called 0308 cache control. If you didn't complete that exercise, then you'll want to cache out the first couple of seconds of this scene, before proceeding.
In my case, I've cached the entire 10 seconds. Or 300 frames. Which took about two hours to compute, and consumes about eight gigabytes of hard drive space. But if I were to create a mesh cache, for this liquid, it would take another hour or two, to calculate, and would double or even triple the disc usage. But thanks to the Arnold renderer's tight integration with the bifrost shape node, we can skip all of that, and achieve greater quality, at the same time. It's better, faster, and more flexible.
So, it's really a win, win, win situation, that makes Arnold the best choice for rendering bifrost fluids. Let's go into testing mode, we want to see fast interactivity, in the Arnold render view. Go into the channel box layer editor, and disable visibility for the rocks, terrain, and PFX mesh layers. Maximize the perspective view, hover your mouse over it and tap the space bar. And we'll assign, a utility shader, to the liquid.
With the liquid still selected, right click in the view port, and choose, assign existing material. AI Utility one. And this will give us very fast interactivity, in the Arnold render view. Let's get in a little bit closer, in that perspective view, dolly forward with alt and right mouse button. And, track or truth with alt and middle mouse, go to the Arnold menu, and choose render. You'll probably see the camera shape render, over here in the pull down list, choose perspective shape, now, we can interactively move around in the perspective view.
And see the results update in the Arnold render view in real time. Let's make snapshot of this, click on the camera icon. And then, also press the stop button on the upper right. Because the Arnold rendering does not always change automatically, when we change attribute values. With the liquid shape node, still selected, open up the attribute editor, and we can start playing around with the Arnold attributes, up at the top, we can see the opaque flag is enabled, and as we saw in a previous movie, that needs to be turned off, if we want to render a transparent material.
The most fundamental property, is the render-as type. We have three choices, surface, points, or volume. A liquid shape node, can render as a surface, or points. Using a surface shader, such as AI standard surface. The volume rendering mode, is for arrow simulations, so, gas, mist and smoke. Let's try this points. You choose points, as the render-as type. And press play in the Arnold render view. And now we've got, lots of tiny spheres.
Scroll down in the attributes, to the points controls, and we can play around with the radius of those spheres. Or we can switch the type over, to points. And with it set to points, we just have 2D circles. Alright, very cool, we can go back up here. And maybe switch this back up to surface. And now it updates. And if it doesn't update, we can press stop and play again.
Alright, so, let's stop that. Scroll down to the Arnold attributes, to access the surface controls. And the default surface type is mesh, the default render component is particles. And we see controls that are very similar to bifrost meshing. Except, we don't have a convolution kernel, for wave peaking. In the surface type, we can choose implicit, and that's a very interesting surface type. Switch that over to implicit and press play. We may not see much difference with surface type set to implicit, but Arnold is brute-force renderer, and can render the liquid surface directly on each pixel, no meshing required.
And that is called implicit surface rendering. But we're not seeing a good representation of the fluid here, because the render component is set to particles. And the particles are a big problem. We can spend a lot of time adjusting these surface controls, such as surface radius, and resolution factor, and we might never get good results, with the render components set to particles. Or we can just switch this over to the other mode, which is voxels. And immediate, this is much improved. And again, if it doesn't refresh, you can press stop and play up here, once again.
Let's stop it and store that as a snapshot. We can compared directly. Here's a surface type of mesh, with render component of particles. And here we have surface type of implicit, with render component of voxels. Using the voxel data as the render component, gives superior detail, and avoids the problem of the fluid looking like meta-balls. I'll go back to live rendering, the reason voxel rendering looks so much better than particle rendering, is because Arnold now has direct access to the fluid data.
And it's not using particles, as a sort of go-between. We do have particle data cached here, even though we're not using it. Currently, there's no way to cache the volume data separately from the particle data. That's how to use the Arnold attributes, of the bifrost shape node, to render particles, or an implicit surface. In the following movie, we'll look at how to render the shape node as meshed voxels.
- Bifröst basics
- Analyzing the node structure
- Emitting from a polygon mesh
- Colliding with a polygon mesh
- Adding velocity, friction, and drag with motion fields
- Optimizing space and time accuracy
- Caching simulations
- Meshing and exporting liquids
- Render-time meshing in Arnold
- Applying channel data to Arnold shaders
- Generating foam from a liquid
- Rendering and shading foam in Arnold