finalFluid™ 1.0
Being a dedicated and highly performant GPU Fire and Smoke simulation tool, finalFluid introduces many concepts and controls dictated by GPU hardware constraints. Memory, for example, is usually a valuable and highly limited resource on GPU cards. However, newer generations of NVIDIA cards are known to increase not only their processing speed but also in their memory size.
Before you start diving into making amazing fire and smoke explosions - make sure you do understand the concept of System Units in 3ds Max! We know it might be boring and most of You might even already be aware that scene-units in 3ds max really suck.
It is of the utmost importance to decide and agree on a system unit and stick to it. So whenever you start a new project or scene file, make sure that Your STEP #1 is deciding on a scene unit scale and then religiously stick to it!
Every fluid simulation, especially fire and smoke, depends on proper scale factors within the scene. A larger voxel size, for example, will make an effect look totally different compared to one with a smaller scene scale or different dimensions. Gravity, Buoyancy and the amount of fuel are all factors that depend on the units within a scene.
While finalFluid is very good at scaling effects accordingly, 3ds Max is not. There might always be issues and unexpected results when dimensions are mixed while importing data from another 3ds Max scene.
finalFluid is implemented in the shape and from of standard 3ds Max Objects. In addition, You will find some dedicated external Forces as well. Those are found under the standard 3ds Max force fields menu.
Keep in mind, most of the time, the scale and position of the Grid or Emitter objects have no influence whatsoever on the actual effect being applied.
Find below, important concepts used in finalFluid, and understanding those inner workings is essential in creating the outcome You seek.
Every simulation lives in its very own main Grid which represents the simulation domain for finalFluid. Based on this Grid, all simulation steps are confined within its boundaries and every necessary memory allocation is based on its main settings and parameters. Any single change to those main Grid properties will have a massive impact on the overall simulation, specifically on processing speed and memory consumption.
The Grid's cell size controls the resolution of the overall simulation. A higher resolution (smaller cell size) will create more detail in exchange for higher processing time and massive increase in memory consumption. For performance tuning, keep in mind, finalFluid uses volumes to simulate its effects. Any change in cell size will increase the amount by the cubic (1x1x1 or 3x3x3).
Similar to regular Grid based approaches, finalFluid simulations live in so called Blocks, were each Block is made out of multiple voxels. In contrast to regular Grids, Sparse Grids come with the enormous advantage of being memory efficient and highly optimized. Blocks are only allocated when needed and in areas where they are needed. "Burnt out" voxels (empty) can be recycled and save memory and speed up overall processing.
finalFluid's Grid helper objects as well as Emitter Helpers offer various settings and controls to aid in the creation of new "on demand" Blocks of voxels in the Grid Domain. Simulation properties like Velocity, Temperature, Smoke and Fuel control when and where new Blocks of voxels in the Grid are allocated or destroyed.
finalFluid's default settings are aimed at creating fire with limited smoke, Blocks are allocated in areas where there is heat or smoke. Sparse Grids are highly efficient and are able to create volumetric effects with the least amount of memory. However, there is one common culprit: "Popping" - this is when smoke and fire voxels suddenly come in and out of existence. To avoid such noticeable "popping" of voxels, effects-fading needs to be adjusted in such a way that it is aligned with their respective Block allocation/de-allocation thresholds.
finalFluid introduces for the first time a true Fire and Smoke visual effects workflow for 3ds Max. In general you can say that 3ds Max is an "offline" 3D tool were you create and adjust an effect and then either play it back or render a sequence out. finalFluid, on the other hand, offers a new approach in visual effects creation for 3ds Max. Fire and Smoke effects are always adjusted in Realtime and give instant feedback within its Realtime Viewer window. This naturally implies that all external dependencies must be resolved beforehand through caching. Animated objects need to be cached so they can be played back in Realtime to ensure that dependent visual effects are able to react and adjust in Realtime.
Keep in mind Realtime visual effects are a pretty new thing for the whole Industry and especially for 3ds max. Be prepared to adjust Your workflow or pipeline accordingly. In general adjusting and setting up an effect is no longer the bottleneck; movie quality output is! For some this might come as a surprise - it's no longer an issue to create Terabytes of volume simulation data - writing out and handling the data becomes the main task.
© cebas VIsual Technology Inc.