©BBB3viz

Table of Contents

This page provides information on the Input rollout.

Overview


The Input rollout determines the path of the input files for rendering and preview as well as the playback effects. Note that some playback settings require a fractional input frame, in which case the frame is blended between the previous and the next one.

Field3D files which come from FumeFX must be exported with gzip compression! If they are exported with the default proprietary FumeFX compression, they will not be imported properly in V-Ray Volume Grid. 


Input


Expand – Opens a floating dialog that contains the selected rollout and automatically folds the command panel rollout.

Re-Center – Resets the position of the floating rollout.

? – Opens up the help documents for the Input Rollout.

Preview & Render Cache Path – Specifies the cache file name in one of the three volumetric formats that VRayVolumeGrid supports (OpenVDB, Field3D, PhoenixFD). If the file was specified when the VRayVolumeGrid object was created, the filename appears here. For a sequence of frames, the file name can contain format specifiers to describe a sequence of files. Environment variables can be used as well, which is explained in the Using Environment Variables with Cache Paths section below. VRayVolumeGrid supports multiple format specifiers:

<frame0n>, where n is an integer specifying the number of digits, and the optional 0 specifies padding with zeros. For example, if you enter cache_<frame04>.vdb as the file name, this is expanded to cache_0000.vdb for frame 0, cache_0001.vdb for frame 1, and so on. The same logic is used for VRayMesh.

# symbols are replaced with the current frame number. Multiple symbols can be used to specify the number of digits in the file name. For example cache_###.vdb is expanded to cache_001.vdb for frame 1.

The form %xd is a deprecated form that can no longer be entered, but works with older .vrscenes that already use this format. The form is resolved to the current Maya frame. The  x,  when present, specifies the minimum number of symbols for the frame number. For example, if the current frame is 9:

%d resolves to "9"
%3d resolves to "··9"
%03d resolves to "009"


Clicking the "..." button opens a menu with the following options:




Default


With .f3d or .vdb cache loaded


Browse – Opens a dialog for choosing one of several cache file types. Phoenix FD can import *.f3d and *.vdb files from other fluid simulator software products. Supported file formats are:

  • Phoenix FD *.aur 
  • Field3D *.f3d 
  • OpenVDB *.vdb

Reset to Default – Resets the cache path to the default value of $(same_as_output).

Show File Name... – Displays the full cache file path for the current frame.

3rd Party Channel Mappings... – This option is available when a .f3d or .vdb cache is loaded. It launches the Channel Mappings dialog for mapping 3rd party cache channels. See the Channel Mapping section below for more information.

Help – Launches the Volumetric Grid Input help documentation in the web browser.  

V-Ray is tightly integrated with Phoenix FD and its native .aur format thus the default rendering settings may be less than ideal for 3rd party cache files.
When loading VDB files generated by other software packages, you are given the option to choose a preset. The presets modify the orientation of the cache files depending on the coordinate system of the source application (Y-up versus Z-up) by Enabling / Disabling the Flip Up Axis option.
Reasonable default values for the shading and rendering parameters are also provided. You can further edit the parameters in the Rendering rollout to achieve the desired appearance of your simulation.



You can suppress showing of the dialogues offering presets using the inDontOfferPresets attribute of the Simulator. Setting inDontOfferPresets to 1, as shown in the image below, disables the presets pop-up window displayed when a VDB or Field3D cache files are loaded.



Time Bend Controls


This section contains playback options you can use for retiming a cached sequence. Using these, you can speed up, slow down or animate the motion of the sequence. When retiming, additional RAM may be used, and loading a new timeline frame may take longer when the frame must be obtained by creating a new one between two adjacent cache files. We refer to the process of creating an intermediate frame from two caches as Blending.

Mode | animmode – Chooses between different options for animation control:

Linear – This is the default mode. The cache sequence is played with a constant speed and can be offset forward or backward on the timeline, as well as sped up or slowed down.
Cache Index – The Direct Cache Index specifies which cache file is loaded for the current timeline frame. Can be used to either show a static simulation, or the Direct Cache Index can be animated in case you want varying play speed, including playing the simulation in reverse.
Loop – A specified piece of the simulated sequence is looped. Can be used for flowing and repeated effects such as fireplaces, campfires or torch fires, water in fountains, waterfalls or boiling liquid. In this mode, the Cache Origin parameter specifies the beginning of the looped sequence, the Length parameter specifies the length of the loop, and Loop Overlap specifies the number of overlapped frames that ensure smooth transition between the end and the start of the loop. Note that you need to have simulated at least Cache Origin + Length + Loop Overlap cached frames for this mode to work correctly. 

Direct Cache Index | t2f – Used in Cache Index mode and specifies the cache file index for the current timeline frame. This can be animated in order to achieve more interesting time-bend effects.

Play Speed | play_speed  – A multiplier for the playback speed. Value of 1 means that each timeline frame corresponds exactly to one cache file index. If the play speed is not exactly 1.0, frames are blended between by using the method specified by the Frm. Blend parameter. Note that Play Speed is not keyable - you should switch to Cache Index mode and animate the Direct Cache Index.

Play Length | inplength – The duration in timeline frames. In Linear mode, when this parameter is larger than 0, the sequence length is limited to its value. In Loop mode this parameter shows the loop length. 

Auto Origin | autoOrigin – When enabled, if there are any loaded cache files, automatically set the Timeline Origin and the Cache Origin to the first frame of the cache sequence, so changing the Play Speed will stretch the sequence relative to this frame.

Timeline Origin | playat – An offset specifying which timeline frame the starting cache is placed on.

Cache Origin | inpoffset – An offset specifying which cache file from the sequence is placed on the timeline at frame Timeline Origin.

Loop Overlap | loopjnt – In Loop mode, specifies the number of timeline frames after the loop's end that are blended with the loop's beginning to make for a smooth transition. Keep in mind that the end transition frames are not in front of the sequence end, but after it. For example if the loop starts at frame 35 and has a Length of 20 and a Loop Overlap of 5, the transition frames start at frame 55 and end at frame 59, which means the simulation must be at least 59 frames long. It is recommended that the Loop Overlap value be longer than the average "lifetime" of the simulation elements while involved in highly visible motion. For example, for a waterfall, the Loop Overlap value should be at least the average time it takes for a water droplet to fall the full distance before being absorbed into the water at the bottom. For a campfire, it should be at least the average time for a particle to rise up and disappear/die. Correct setting of this value is especially important for simulations that contain particles.

Grid Blend | frmblend  – Used when the Play Speed parameter is not exactly 1.0, or the Direct Cache Index for the current timeline frame is fractional, or you have specified a Loop Overlap in Loop mode. In these cases, a single timeline frame must be constructed from two cache files by blending between them. Each time the timeline is scrolled to a new frame, the caches for this frame are blended again. You can choose between three different methods for blending between cache files:

Interpolation – Simple linear interpolation suitable for slow simulations. This is the fastest method but it does not capture movement well and may produce flickering.

Velocity – Velocity-based interpolation. Produces better results, but is also slower. Captures well the movement of the fronts of the plumes, but does not work well for smoke moving backwards, and also may produce flickering. Requires a Velocity channel.

Precise Tracing - Improved Velocity based interpolation for Fire and Smoke simulations. Captures plume movement very well and can handle very low Play Speeds. Requires a Velocity channel, as well as an Advection Origin channel.

Frame Blending is better suited for simulations without much variety in velocity.


Load Nearest If Missing
 | loadnearest  – If there is no cache file at the required frame, the nearest cache is found and loaded. This is useful for a simulation that ends with a sequence of static frames (for example, still liquid or freezing fire) as it prevents the need to render multiple identical frames after movement has stopped.

Flip Up Axis | ifyz – When enabled, flips the Y and Z axis of the cached transformation. This is useful when the cache was created with a different up axis (for example in Maya).



Example: Timeline Origin


The following example demonstrates how the Timeline Origin parameter can be used to specify which frame on the timeline is treated as the first frame when reading the Input Path cache files.

The files go from simulationFrame_000 to simulationFrame_030. When the Timeline Origin is set to 10, they are read as if they were saved as simulationFrame_010 to simulationFrame_040.


Example: Cache Origin and Play Speed


The following example demonstrates how the Cache Origin and Play Speed can be used to offset and speed up the input cache files.

The files go from simulationFrame_000 to simulationFrame_030. When the Timeline Origin is set to 100, they are read as if they were saved as simulationFrame_100 to simulationFrame_130.

The Cache Origin is then used to specify which simulationFrame is placed on Timeline Origin = 100. Because Cache Origin is set to 10, the whole sequence is shifted 10 frames back such that simulationFrame_000 is placed at frame 90. Thus, the sequence now goes from frame 90 to frame 120.

The Play Speed is then set to 2.0. Those thirty frames are now reduced to fifteen. The Cache Origin frame is treated as the middle point when shrinking the sequence.


Example: Looping a Simulation


The following example demonstrates how the Input rollout parameters can be used to loop a simulation.

The Timeline Origin parameter is set to 0 - this will be the first frame of the timeline where the selected simulated cache files will be placed on.

The Cache Origin is set to 10 so simulationFrame_010 is read and placed at Timeline Origin = 0.

The Play Length is set to 15 so the sequence now repeats itself every 15 frames when played back (those are actually simulationFrame_010 to simulationFrame_025).

Finally, the Loop Overlap parameter is set to 5 to provide a few extra frames for blending the start and end of the loop together in a smooth transition.


Example: Play Speed



Grid Channel Smoothing


Smoothing is performed after the cache file is loaded for the current frame, so for large grids it could cause significant lag when changing frames. To prevent this from occurring, switch it off during the design process and re-enable it again before rendering.

The controls in this section allow you to smooth the grid channels loaded from cache files for preview and rendering. You can use this to prevent grid artifacts on meshed grid channels such as the Temperature or Smoke, to remove unwanted noise in these channels or to get smooth motion blur by smoothing the Velocity grid channel.

Channel | sm_ch – Controls which channel is affected by changes made to the settings below. The following channels can be smoothed:

Temperature
Smoke
RGB
Fuel
Velocity

Smooth this channel | enablesmoothsmoke, enablesmoothtemp, enablesmoothuvw, enablesmoothfuel, enablesmoothvel – If enabled, the channel is smoothed.

Threshold | smoothtemp.x, smoothsmoke.x, smoothuvw.x, smoothfuel.x, smoothvel.x  – If this value is 0, the entire grid is smoothed evenly. The higher the threshold is raised, the less voxels are affected and only the sharpest gradients are smoothed. The highest value you could use here depends on the range of the values of the smoothed channel - for Smoke it's usually in the [0,1] range, while for Velocity it could go as high as several hundred and for Temperature it could be over a thousand. If you set this value too high, no voxels are smoothed at all.

Similarity | smoothtemp.y, smoothsmoke.y, smoothuvw.y, smoothfuel.y, smoothvel.y  – Increasing this value allows you to smooth only the finer small-scale noise without changing the areas of the fluid which are already smooth. Note that just like the Threshold option, this value also depends on the range of the selected channel. If you want to remove only some sharp fine disturbances from the simulation without blurring other areas, set the Threshold to 0, increase the Similarity to the highest values the selected channel can take and then start reducing it until the small-scale noise is removed, while the larger fluid shapes are retained. This option won't take effect if the Threshold parameter is raised to the maximum. 

Random Variation | smoothtemp.z, smoothsmoke.z, smoothuvw.z, smoothfuel.z, smoothvel.z  – This parameter introduces noise of uniform scale in the channel before smoothing is applied. This can be useful if you want to give the fluid a more homogeneous pattern and this way it can also help hide grid artifacts. Note that just like the Threshold option, this value also depends on the range of the selected channel. You can use this option to only add noise to the channel without smoothing it - in order to do this, set both Threshold and Similarity to the highest values of the selected channel and this way they do not take effect.



Channels Mapping


Different applications use different channels and might have different names for them. When loading f3d/vdb files, Phoenix tries to automatically make the conversion to the supported channels. If a channel is not mapped by default, a channel can be manually set from the dropdown menu. It can be accessed from the Cache Path menu when a 3rd party cache is loaded (e.g. .f3d or .vdb files).

All mappings are kept in a single string parameter, accessible by the name "usrchmap". An example mapping string is:

2,density;10,fuel;1,temperature;4,vel.x;5,vel.y;6 ,vel.z;

The string is composed of pairs of a Phoenix channel index and a string channel name. The following channels with their respective indices are supported:

Smoke - 2
Temperature - 1
Fuel - 10
Velocity.x - 4
Velocity.y - 5
Velocity.z - 6
Red - 7
Green - 8
Blue - 9
Wavelet Energy - 14
Wavelet.u - 19
Wavelet.v - 20
Wavelet.w - 21



Using Environment Variables with Cache Paths


There are path environment variables in every OS, and they can be used with the Volume Grid cache file paths.

For example, to access environment variables in Windows 10 and Windows 8, follow these steps:

  1. In Search, search for and then select: System (Control Panel).
  2. Click the Advanced system settings link.
  3. Click the Environment Variables... button.
  4. In the System variables section, using Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable.

Using this, you can create a path (variable), give it a name, and use it for cache files with the Volume Grid.

For example, the path D:\PhoenixFD\Cache can be given the environment variable name "Cache". In the Volume Grid Input rollout, you can specify the Input Path as the following:

$env(Cache)\cache_name###.aur

This loads the cache files in D:\PhoenixFD\Cache.

Note that in order to reference environment variables, the following pattern must be used:

$env(<variable_name>)