Table of Contents
APField
APField is an advanced “satellite” like operator that can be used across multiple dynamic sets. Other APF operators depend on this operator. The philosophy to apply this new APF operator is similar to the one found in the new physics or flow solvers. This container holds all the data and core settings while other operators feed to it - or from it. Every 3D voxel field scene setup needs at least one APField operator and one method of initialization
Operator Inputs
ON - (Bool) This input data stream determines whether the operator is considered 'on' or 'off'. You can connect other operators to this input channel such as a Bool Helper to activate/deactivate the whole operator.
Time - (Time) This input data stream is used to define the local time for the operator when the user wants to override the default system time.
Particle - (Particle) This input data stream reads in the currently selected particle in a group that is to be used to place an AP-Field into the scene. Keep in mind, the particle alignment is also used to rotate the AP-Field in space.
UI Control Parameters - those input data streams are the equivalent of the UI controls, keep in mind that there is no visual indication that an operator is connected to any of those inputs! It might be needless to adjust a value if it gets overwritten by a connected operator.
Operator Outputs
InExport (Boolean) - this value is set to True as long as this operator is actively exporting data via OpenVDB.
Rollout Menu
Type - sets the type of 3D field you want to create/use. There are multiple field types available:
Velocity - this option represents a standard velocity field (x,y,z)
Color - when selected, the APField stores color (R,G,B) information in space.
Vector - select this option to store directional vectors in the 3D field.
Scalar - to store floating point values in 3D space, use this option.
Vector 4 - this field type is a special purpose field type that stores a velocity and an extra length value
Shape Distance- this field type should be used along when voxelizing objects to act as a boundary for particle mesh interaction.
Dimension - sets the reference “size” of the voxel space in world units. This value represents the edge length of the cube used by the Cells per Dimension value to calculate the amount of voxels in the field.
Important APFields created by thinkingParticles are always dynamic in size and space. Wherever a particle exists, the field will be extended to cover this area of space with voxels.
Cells Per Dim - sets the amount of voxels based on the reference size set in Dimension.
Reset - defines the voxel recalculation trigger. Usually fields are static and “sit” in space and are used to displace the particle motions. However, other options are available as well:
None - when selected, the field won't be updated at all and keeps its values forever
SubSample - the field will be recalculated each time a frame or sub-frame progress is happening.
Simulation Start - the field will be re-calculated at the start of a simulation, only.
EORange - sets the action to perform when particles leave the voxel space. There are several options available:
None - the particles will use whatever information was stored in the last voxel when leaving the field.
Loop - the voxels will be mirrored at the edges of the field to create a continuous loop of motion
Kill - particles leaving the field will be killed
APFShow
Debugging particle fields is an important task and helps in finding issues with fields that could be caused by scaling or alignment issues.
Show -
None - select this option to have the field information not visible at all.
Bounding Box - check this option to draw the bounding box of the field in 3D space.
Cell Position - choose this option to visualize the cell position in 3D space.
Average - this option is best used to visualize the field values as little vectors. It gives an indication of how the field might affect particles passing through.
Accumulate - similar to Average, but Accumulate shows the sum of the field values within a voxel.
ShowScale - sets the scaling factor for the vector display of the field. The higher this value the bigger the visualized vectors will appear.
Gradient - use this color gradient to define the visualization of the field values in relation to their actual size.
Left Value - sets the field value to be used for the left hand side of the color gradient
Right Value - sets the field value to be used for the right hand side of the color gradient
Cell Reduce - used to reduce the amount of cells displayed in the viewport. This is useful to speed up viewport display.
APFExport
thinkingParticles allows you to cache AP-Fields to hard disk for faster access and reduced re-calculation time. The file format used to store and manage 3D volume data within thinkingParticles is based on the Open VDB industry standard. OpenVDB is an Academy Award-winning open-source C++ library comprising a novel hierarchical data structure and a suite of tools for the efficient storage and manipulation of sparse volumetric data discretized on three-dimensional grids. It is developed and maintained by DreamWorks Animation for use in volumetric applications typically encountered in feature film production.
Select Export File - click this button to bring up a standard windows save dialog. VDB files can grow pretty large - make sure enough space is available.
Mode - several export modes do exist:
Single Viewport Grab - choose this option to export the result of the field of the current frame.
Active Segment - export multiple files of the field to a cache file per frame. The active animation range of 3ds Max will be used.
Range - lets you specify a range of frames to export form an animation.
Record In - animation sequences can either be exported in viewport mode or render mode.
From - sets the start frame to export when Range is selected.
To - sets the end frame to export when Range is selected
Sub Samples - sets the amount of sub samples to use for the export of the field values. A value of 0 indicates a full frame export. A value of 1 will export the files in half frames and so on …
Redraw Views - check this option to redraw the modeling view while exporting.
Set as Import - check this option to automatically set the exported file as your input file for immediate playback.
Deactivate Import During Export - when set the Import file will be inactive during export.
APFExport
Field data can be read from a previously cached file in OpenVDB format.
Select Import File - click this button to bring up a standard windows open file dialog. Select a VDB file and press OK to load the cache.
Frame Offset - sets a frame offset on import. Setting this to 10 for example will load in cache files from frame 10 onward.
Mode - multiple options are available to handle out of range situations.
Hold Outside - when selected, the field values of the last frame are repeated.
Stop Outside - check this to stop any field values after the last frame has been loaded.
Single Frame - choose this to select only one cache file and use those field values for all of the animation.
©2024, cebas Visual Technology Inc.