Version History


tyFlow v1.110 (April 06 2024)

Additions:

  • added Repair operator (can be used to flip particle mesh normals, reset transforms, etc)

Bug fixes:

  • improved the responsiveness of tyCollections dependent on layers for input (Max could hang when adding/removing many objects from input layers)
  • fixed an issue where the PhysX Break operator’s tySlicer algorithm was not properly taking into consideration the velocity of particles
  • fixed an issue where the tyWeld modifier would re-evaluate if transform keys were set on the input object
  • fixed an issue where negative scale on particles could result in them having negative volume values
  • fixed a regression that could cause particle to lose their bindings in the Object Bind operator, when the global mesh cache is enabled
  • trapped some VDB exceptions - instead of crashing during a volume-to-mesh operation when grids have invalid values, an error will be printed to the MAXScript listener
  • fixed an issue where the tySelect modifier could crash if set to particle selection mode and applied to a tySplines object being used by the target particle system

tyFlow v1.109 (April 01 2024)

Additions:

  • added support for 3ds Max 2025
  • added tyUVWRandomize modifier, for non-destructive randomization of UVW elements and their coordinates
  • added smoothing group conform option in tyConform modifier
  • added new “must be adjacent” option to tySplines object for siblings mode

Bug fixes:

  • fixed a regression where flows with small time steps had issues evaluating on negative frames
  • dragging/dropping a Notes or Baseline operator into a new event won’t automatically add a Display operator too

tyFlow v1.108 (March 27 2024)

Additions:

  • added mesh skeletonization mode to tyMeshToSplines modifier
  • added rotation limiter to Rotation operator
  • Object to VDB and Particles to VDB operators can now instantiate a velocity grid from input object/particle velocities
  • tyFlow instances now support curved motion blur when rendered with VRay CPU (users should ensure they are simulating with a small enough timestep, and have subframe caching enabled, in order to see the intended result of motion blur in VRay CPU computed with more than 2 geometry samples)
  • added “random order” option to Birth Surface operator
  • added “align to travel direction” option to Branch operator

Bug fixes:

  • fixed an issue where the Object Bind operator could crash if input geometry had changing topology
  • simulations can no longer auto-reset during export
  • fixed an issue where the Export Particles operator could fail to export cloth/spline meshes properly if the scene tick count was not evenly divisible by the sim time step
  • fixed an issue where the Branch operator’s spread value was not rotating branches around the right axis in all situations

tyFlow v1.107 (March 23 2024)

Additions:

  • updated OpenVDB SDK to version 11, oneTBB SDK to version 2021.11
  • tyConform volume/uvw mode now has options to determine which mesh (uvw or input mesh) will be relative to gizmo transform (uvw mode is now default)
  • added dropdown in Object to Terrain operator to control whether generated masks will contain values representing height deltas, or areas of influence
  • UVW proximity mode added to tyVertexOrder modifier
  • Birth Voxels operator will now transfer tyProperties from source nodes to birthed particles
  • added keyframes rollout to Find Target operator
  • adding ability to export secondary UVW values as Alembic color values to Export Particles Alembic mesh options

Bug fixes:

  • fixed an issue that could cause the Export Particles operator to take an exceedingly long time to export spline caches with a large number of individual splines
  • fixed an issue where the tyConform modifier display in volume/uvw mode wasn’t properly accounting for UDIMs
  • fixed an issue where the tyParticleInterface could crash when using the Instance Node operator
  • fixed an issue where using the Export Particles operator to export objects with subframe keyframes could scale all objects to zero across all frames
  • fixed a regression preventing tyFlow from displaying certain debug data in the viewport
  • fixed an issue in the Rotation operator where divergent axis restriction was not working if the angle step parameter value was greater than zero
  • fixed an issue where meshes would sometimes be initialized with invalid explicit normals
  • fixed an issue where the “closest match” mode of the tyVertexOrder modifier was always used if objects had identical vertex count
  • UVW meshes extracted with a tyMesher will contain a map channel identical to the extracted UVW layout
  • fixed an issue where tyFlow floating license servers were having problems activating when “backwards compatibility” mode was enabled
  • fixed an issue where certain dependencies in Max would cause issues if a tyModifier which evaluates the world state of objects does so on an object while the user is in sub-object mode in the modifier panel
  • fixed an issue where the tyRelax modifier’s normal smoothing mode would have artifacts if tyFlow reserve thread count set to a higher value than 1

tyFlow v1.106 (March 6 2024)

Additions:

  • added new UVW align option to tyConform volume conform mode
  • added “relax normals” mode to tyRelax modifier
  • added depth multiplier parameter to tyConform volume conform mode, for controlling how much of original volume depth to preserve during conform operation
  • added several new parameters to tyMesher pathfinding mesh mode (input operation, contract toggle, visualize edge splines, etc)
  • added new avoidance rollout/parameters to Pathfinding operator (bottleneck avoidance parameter also moved to this rollout)
  • cloth meshes will now inherit driver particle material ID overrides
  • added a “subframe keys” parameter to the Export Particles operator, for exporting keyframes for all sim time steps, even if sim time step less than 1
  • added UVW mesh mode to tyMesher, for extracting UVW layouts as meshes

Bug fixes:

  • fixed an issue where the Shape operator would ignore animated shapes with empty geometry on their start frame
  • fixed an issue where certain combinations of settings in the tyConform modifier (when set to raycast/volume mode) would crash Max
  • fixed an issue where pathfinding paths were expanding too many nodes during their search for the destination
  • fixed an issue where pathfinding paths would not be optimally short in cases where destination not found
  • fixed issue where pathfinding algorithm was not properly handling non-manifold edges
  • fixed some issues related to PhysX bind pose matching on actor particles with small scale
  • fixed some issues related to subframe interpolation when scene ticks were not evenly divisible by sim time step
  • fixed a regression that would cause issues when exporting terrain color maps in the Export Terrain operator
  • fixed an issue that could cause tyCache objects to crash when loading PRT data with multiple mapping channels
  • fixed an issue where tyMeshers would revert to their result on frame 0, the first time the modifier dropdown was opened

tyFlow v1.105 (February 28 2024)

Additions:

  • added Pathfinding operator
  • added “pathfinding mesh” mode to tyMesher
  • updated PhysX SDK to PhysX 5.3.1 (you will need to download and install the updated CUDA DLLs on the tyFlow download page to utilize PhysX 5.3.1 CUDA acceleration)
  • added “select fracture faces” option to Multifracture fracture output rollout
  • added normals filter to tyMesher input geometry settings
  • added degenerate element filters to tyMesher input geometry settings
  • added “interior/exterior fractures” Multifracture output test (false) conditions, for outputting only interior/exterior fractures from a Multifracture operator (when shell enabled for fracture meshes)
  • added “line to custom vector” mode to Display Data operator
  • added “preserve shape” option to tyRelax modifier, for snapping relaxed vertices back onto original surface, allowing you to relax the topology of a mesh without drastically changing its shape
  • added “preserve edges” option to tyRelax modifier, for preserving vertices on sharp edges
  • added “force unique event names” option to editor right-click menu (“Misc” submenu), which forces all events in a flow to have unique (non-duplicate) names
  • added option in tyCache material override rollout to override material library file loaded by cache
  • added stroke mesh offset settings to tyMultifracture paint parameters
  • added clustering option to tyParticleSkin modifier, so only particles with non-zero float channel values will be used for skinning
  • added “Use this flow’s particles” to Multifracture fracture points rollout
  • added “allow invalid assignments” option to Set Target operator
  • added legacy accuracy option to PhysX Bind proximity mode

Bug fixes:

  • improved voronoi cell explicit normal preservation in Multifracture voronoi mode
  • fixed an issue where Multifracture (bounds fracture) slice mesh normals could be inverted
  • tyMesher modes renamed to “blob mesh” “combined mesh” and “tet mesh” (previously “blobmesh”, “input geometry” and “tets”)
  • fixed an issue where a disabled texture in the Position Object operator could still reset the sim when modified
  • fixed an issue where the tyVertexVelocity modifier would show its vectors in the view even if disabled
  • tyCache exported mtl libraries will no longer store NULL materials (fixes issue that prevented tyCache mtl libraries from being modified because Max could re-order the NULL materials, breaking the index data stored in the cache)
  • improved performance of Instance Material operator
  • fixed an issue that could cause the tyMeshRepair modifier to freeze
  • fixed an issue where the implicit ground collide of the Collision operator would not respect particle sleep thresholds
  • fixed an issue where edge/hull fracture modes of the Multifracture modules were not respecting the relative count threshold values of the fracture input parameters
  • fixed a regression that could affect how the PhysX Bind operator binds rotated particles

tyFlow v1.104 (February 13 2024)

Additions:

  • added options to Terrain Mesh operator for capping bottom of mesh
  • the bounds ratio tySelect mode now has options to choose whether or not the bounds ratio will be measured for individual faces, or mesh elements
  • added minimum segment length parameter to Multifracture paint fracture parameters, for reducing density of paint stroke segments
  • operator filters and Property Test operator now have “inside/outside range” test conditions
  • added bounds ratio test to Property Test operator
  • added bounds ratio test to operator filters
  • added separation parameter to Multifracture fracture points settings (random volume/surface modes), for creating a more uniform distribution of points based on separation distance
  • added ability to save velocity data to map channel in tyMesher blobmesh mode

Bug fixes:

  • fixed an issue where tyPush element spread variation was not deterministic
  • fixed an issue with PhysX Bind connection display
  • fixed an issue that could cause the PhysX Bind operator to reset PhysX Shape sticky penetration status on unchanged particles
  • fixed an issue where the sticky/ignored state of PhysX Shape contacts would not work correctly when one or more of the rigidbodies was kinematic
  • improved stability of sticky penetrations on bound particles
  • fixed an issue where mesh selections wouldn’t be properly maintained after application of a tyMultifracture modifier
  • fixed an issue where the “not overlapping” simulation/export groups mode was greying out the group buttons
  • fixed an issue that could cause the Alembic exporter to crash if a mesh contains no map channel 1

tyFlow v1.103 (February 9 2024)

Additions:

  • added noise coordinate-space parameter to fracture planes Multifracture rollout (noise groupbox), for controlling the coordinate space of planar noise
  • added new bounds fracture parameters to Multifracture modules for more control over how meshes are fractured along their OOBB axes
  • added “object look-at” mode to tySelect raycast mode
  • added interpolation rollout to Terrain Snow operator
  • added element-space coordinate option to multifracture planar mesh noise parameters
  • multifracture planar mesh noise coordinates now have individual options for noise A/B

Bug fixes:

  • fixed a regression where particles were being displayed before start of sim, after first play-through
  • fixed a regression specific to Max 2018 that could cause the tyConform modifier to crash
  • fixed a regression that prevented moving PhysX Collision colliders in mesh mode from updating properly
  • fixed an issue where having a tyCache with a resolvable path (but a path not identical to the resolvable path) in a scene could prevent the Export Particles operator from properly clearing the shared mesh cache for the tyCache after export is completed, resulting in mesh cache desync and improper particle display
  • fixed an issue which could cause the Birth Paint operator to crash
  • fixed an issue where setting the brush stroke spacing in the Birth Paint operator to a low value would prevent strokes from being drawn properly
  • condensed/re-ordered Shape operator rollouts
  • fixed an issue where the fracture points of bounds fracture operations may not have been properly centered in the input mesh

tyFlow v1.102 (February 6 2024)

Additions:

  • added “cull internal faces” option to fracture output rollout of Multifracture modules
  • added camera frustum culling options to tyCache object culling rollout
  • added “bounds ratio” select mode to tySelect modifier, for selecting elongated elements
  • added random variation parameter to tyPush elements mode

Bug fixes:

  • fixed an issue where no fractures may be generated on a multifracture mesh with per-element fractures enabled (and surface area relativity), if the first element is too small to generate any fractures.
  • fixed an issue where enabling/disabling the unify noise parameter in the tyMultifracture modifier could crash Max
  • fixed an issue that could cause the tyMultifracture modifier to re-evaluate on the stack, even if no parameters or inputs were changed
  • fixed an issue in the Terrain Color operator that could cause Max to crash when too many layer mask exports enabled
  • fixed an issue that could cause terrain artifacts when using the stratify Terrain FX mode on a terrain with negative height values
  • fixed a regression that could cause tyFlow to crash while recycling display meshes
  • fixed a regression that could cause PhysX to crash when running in multithreaded mode

tyFlow v1.101 (February 3 2024)

Additions:

  • added option to export Alembic point cloud mode to export particles without pivot offset data
  • added option to enable/disable simulation group collision filtering in the tyFlow PhysX rollout
  • added some utilities to editor right-click Utilities menu for resetting legacy material editor slots
  • slice length option added to PhysX Shape compound grid slice mode - slices are now processed in particle space so that larger particles will receive more slices than smaller particles
  • added face classification option to tyBoolean/multifracture parameters, with “fast winding number” as a new face classification mode - this provides more forgiving results for meshes that have severe artifacts like holes and open elements to all boolean/slice modes, at the cost of some performance
  • added “unify noise parameters” option to Fracture mesh multifracture rollouts
  • more advanced options added to multifracture “Fracture input” element-relativity parameters
  • added “Use face selection” option to tyMultifracture modifier, for fracturing only selected faces

Bug fixes:

  • fixed an issue preventing PRISM from running on older Intel processors
  • fixed an issue where the “child planes” checkbox in the Fracture planes rollout of the Multifracture modifier/operator had no effect in certain fracture modes
  • fixed an issue that could cause Max to crash when a Multifracture pattern mode (radial/texmap) generates a fracture line with zero points
  • fixed a crash that could occur in the radial/texmap modes of Multifracture operations if child planes enabled
  • fixed in issue in the Multifracture modules where Max would crash if Voronoi normals scale set to zero
  • fixed a regression where exporting Alembic files with secondary mapping coordinates set to “UV” would generate an invalid Alembic file
  • fixed an issue that could cause PRISM to crash when initializing small meshes on the CPU
  • fixed an issue where tyMultifracture paint strokes were not visible in the view when viewport progressive refinement was disabled, and were not updating smoothly even if progressive refinement was enabled
  • fixed an issue where the Element Attach operator wouldn’t properly attach objects with a modified pivot location
  • fixed an issue where the multifracture point spread value had no effect
  • fixed an issue where baked/painted fracture points were only taking effect in Voronoi fracture mode
  • fixed an issue where PhysX Bind display wasn’t working properly for multifracture chunks
  • joint binds with very high strength are now the default PhysX Bind type - they are more stable than Glue binds
  • fixed an issue where multifracture input meshes with degenerate faces would yield a different fracture result the second time a fracture operation was performed on them
  • fixed an issue where UVW coordinates returned by PRISM had low precision, resulting in mapping artifacts for meshes with UVWs far from the mapping-space origin
  • fixed an issue where motion blur would be incorrect in some situations where flow time scale was set to a value less than 1
  • fixed a regression where PhysX particle group filtering was not working properly in some situations
  • fixed an issue where the “cull external faces” option of the Multifracture modules was too aggressive in Voronoi fracture mode, which resulted in voronoi cell walls being removed even if they weren’t external to the input mesh
  • fixed some memory allocation errors which could cause Max to crash when dealing with huge numbers of high res meshes, and which could also inflate the amount of overall RAM used when displaying geometry in the viewport
  • fixed an issue where particle explicit normals would not be rendered correctly if their owner tyFlow object was rotated

tyFlow v1.100 (January 26 2024)

tyFlow v1.100 marks the first official release of the PRISM engine.

Additions:

  • added Multifracture operator - powered by the PRISM engine - for advanced particle fracturing
  • added tyMultifracture modifier - powered by the PRISM engine - for advanced object fracturing
  • added PRISM engine support to tyBoolean modifier, for advanced boolean operations on objects (PRISM is a fully-featured boolean engine, capable of completely replacing the previous Carve engine, with new features and superior performance)
  • added option to allow non-manifold edges in Push modifier elements mode
  • added option in VDB Copy Out operator to affect either all grids, or only grids with same name, when doing non-add/set operations (ex: subtract, intersect, etc)
  • added mesh adaptivity setting to tyMesher blobmesh mode
  • target filter options added to Set Target operator’s value and sibling modes
  • added “outward from gizmo” mode to tyPush modifier element push settings
  • added distance/falloff settings tyPush element push settings
  • added “inherit velocity” option to Birth Objects operator
  • added X/Y/Z axis spinners to Push operator element amount parameter
  • added “ignore non-manifold edges” option to tySelect grow/shrink parameters, for expanding selection through manifold edges only (edges connected to only 2 faces)
  • added “From birth ID” mode to Material ID operator
  • tyCache’s PRT loader will now load all 32-bit float/vector (non-default) channels as custom properties
  • added new relative distance parameters to Spread operator
  • added convex hull display to Display operator and tyCache display settings
  • added option in tyParticleSkin modifier to use polygon centers as reference search location, rather than face (triangle) centers
  • added hull inflation parameter to PhysX Collision operator’s sweep test setting
  • added “don’t integrate velocity” operation to PhysX Switch operator
  • added “evaluate operator after PhysX” option to operator timing rollouts
  • added “is target” test to Property Test operator, to test if a particle is the target of another target
  • added option in Display Data operator, to limit displayed float values to only values within specified range
  • added “copy/paste noise values” options to all tyNoise “Presets” menus, for quickly copy/pasting noise values from one place to another
  • added PhysX inertia override settings to Mass operator
  • added center options to tyPush elements mode
  • added “UVW seams” selection mode to tySelect modifier
  • added new explicit normals and material ID filter parameters to tySmooth modifier

Bug fixes:

  • fixed an issue where deforming meshes accessed by the Script operator would only return the vertex positions of their first frame
  • fixed an issue where VDB meshes were sometimes displaying before the frame on which they were generated
  • VDB Copy Out operator will now only initialize grids in next events when there is data to pass out (this affects the behavior of ‘on entry’ timing in operators in the following events)
  • fixed an issue where subtract an SDF from an empty grid would result in the SDF data being added to the empty grid
  • fixed an issue where tyFlow’s .ai file importer would mistakenly close Illustrator if it was already open before the tyFlow importer was used
  • fixed an issue in the tyBoolean modifier where both operands would be displayed in an intersection operation if there was no overlap between their bounding boxes
  • fixed an issue where PhysX Shape particles, generated from particles imported from a tyCache using Flow Update, would not preserve their “ignore penetration” state
  • fixed an issue where PhysX Shape particles would not preserve their “ignore penetration” state if they were scaled
  • fixed an issue where the Set Target operator could move particles in some configurations, even if “move to target” was disabled
  • fixed an issue where the Export Particles alembic mesh exporter was not exporting mesh UVWs when secondary mapping coordinates set to UV instead of UVW
  • improved quality of tySelect curvature-mode results
  • tyPush’s push-element mode will now use element bounds to determine direction/distance from center (previously the center of all element vertices was used, but this would skew direction/distance towards denser parts of meshes)
  • fixed an issue where assigning explicit normals to a mesh, then extracting its elements would clear the explicit normals of the element meshes
  • improved a viewport display performance issue related to explicit normal preservation
  • the “transform with object” mode of the Birth VDB operator will now pre-multiply the transform with the transform from the file (fixes an issue where PhoenixFD simulations with adaptive grid enabled would not import with proper alignment when transforming with object)
  • improved speed of Birth Objects “split object elements” function (element extraction is now multithreaded, and a bug was fixed which was causing significant slowdowns during this process)
  • fixed an issue where pressing TAB in the Birth Paint operator (while painting) to switch modes between paint/erase was exiting paint mode entirely
  • fixed an issue where texmap buttons throughout operators would display “T” (denoting a texmap assignment) even though no texmap was assigned
  • fixed an issue where the tyLooper blend curve was being interpreted the wrong way when loop mode set to “loop from beginning”
  • fixed an issue where the tyLooper blend curve could be set to exceed values between 0-1
  • fixed an issue with various tyFlow modifiers that could cause scene update slowdowns when a large number of objects exist in the scene (ex: tyConform would run much slower with 10k objects in the scene, even if tyConform was not dependent on those objects)
  • fixed an issue where fracturing a particle could invalidate the sticky/ignored contact state of its children
  • “future collisions (sweep)” option now on by default in the PhysX Collision operator
  • “preserve normals” in the shape operator is now on by default
  • fixed an issue where the tyConform modifier wasn’t updating properly when its parent object was linked to another object
  • fixed an issue where “initialize from density” in the VDB Modify operator wasn’t working
  • fixed issues where Export Particles operator wouldn’t work properly with multiple Camera Cull operators
  • fixed an issue where global mesh cache meshes imported by a Shape operator wouldn’t update when the source node was changed
  • tyCache mesh files will now initially be written to a temporary file until all data is exported, avoiding corruption of mesh backup data if mesh write process fails
  • fixed an issue that could cause disconnected triangle artifacts to form when using the PhysX tearing solver of the tyParticleSkin modifier
  • adding a Displace operator to particle meshes will now automatically clear their explicit normals
  • adding a Cloth Bind operator to particle meshes will now automatically clear their explicit normals
  • tyParticleSkin now uses a more accurate search metric when PhysX tearing solver enabled in conjunction with particle mesh search
  • fixed an issue where the tyTerrainColor texmap could lead to runaway RAM consumption
  • fixed an issue where the Element Attach operator wasn’t properly preserving the normals of attached meshes
  • fixed an issue where colliding particles with a mesh that is being scaled up from zero would result in wildly inaccurate collision artifacts
  • fixed an issue where retiming a flow simulated with a timestep that is not evenly divisible by the scene tick count, with ‘cache subframes’ enabled, would result in many playback artifacts
  • fixed an issue where “relative to mass” was not working in the Find Target operator
  • fixed an issue in a few operators where unique meshes generated would reset pivot offset changes made to particles
  • fixed an issue where the relaxation “preserve borders” option of the tyConform modifier was not working
  • tyPreview will now block screensaver from activating while previewing (previously, if the screensaver activated while previewing, frames would appear frozen during playback in the resulting preview file because the viewport won’t update if the screensaver is activated)
  • fixed an issue where inflation normal display was not working in the Modify Bindings operator
  • fixed some issues related to how inflation/lift work in the Modify Bindings operator
  • fixed an issue where “nth frame” settings in operator Timing rollouts could cause frames outside of the specified timing interval to become active
  • fixed an issue where toggling “cache subframes” would force a sim reset even if sim reset mode set to manual
  • fixed an issue where exporting a cache of a sim set to manually refresh would auto-refresh the sim when the caching is complete
  • fixed an issue where modifying an object stored in the global mesh cache wouldn’t necessary clear the caches of its children, leading to an invalid cache state for the children

tyFlow v1.029 (October 12 2023)

Additions:

  • added concavity test to PhysX Shape operator (compound mode), so that you can apply compound mode to any particles but only those with a certain level of concavity will be voxelized (the rest will receive a convex hull)
  • added “split elements” option to PhysX Shape operator (compound mode), which can be used in combination with the new concavity test, so that only concave elements are voxelized (remaining elements will receive a convex hull)
  • added “invert” option to tyCache cull by ID mode
  • the Script operator’s GetTurbulence function now takes lacunarity/octave arguments
  • added “particle surface” mode to Move Pivots proximity test, for most accurate (but slower) proximity calculations

Bug fixes:

  • fixed an issue where numerical keys would not work in Qt spinners, in 3ds Max 2018
  • fixed an issue where adding a group to a Shape operator with the “add selected” button would also individually add all of the group members to the list
  • fixed an issue where the exponent value of the tyPush element push mode was giving incorrect results when not in gizmo mode
  • fixed an issue where the ability to drag a connection into the header of an event (introduced in the previous build) was inconsistent when the grid was panned/zoomed
  • fixed an issue with the “Rocky Trails” Terrain Color preset
  • fixed a regression that could cause the Tets operator to crash
  • PhysX inertia multiplier default has been changed to 1.0 (previously 10.0) - this gives particles a less heavy, dampened feel
  • fixed an issue where the shrinkwrap mode of the Move to Target operator wasn’t working
  • fixed a rare PhysX bug that could cause Max to crash when moving PhysX colliders in a sim that are overlapping particle rigidbodies
  • fixed an issue where the “enable all/disable all” right-click options for instances in the editor would apply to unselected instances as well
  • fixed some issues relating to how PhysX handles ignored/sticky starting penetrations when using compound hulls and moving particles between events

tyFlow v1.028 (September 19 2023)

Additions:

  • added “push elements” option to tyPush modifier, for expanding mesh elements outwards (to create exploded views of mesh elements)
  • added “relative to travel distance” option to interpolation settings of Rotation operator (see docs for more info)
  • dragging an operation connection line into the header of an event (not just the connection node) will complete the connection
  • added “preserve normals” option to Brick Fracture operator
  • added “split non-manifold edges” option to tyMeshRepair operator

Bug fixes:

  • fixed a regression introduced in v1.027 that offset terrain noise parameter block values (this fix restores terrain noise parameter blocks to pre-1.027 ordering). If you noticed weird changes to your tyFlow terrain noise values in 1.027, this was the cause. Terrain noise created/saved in v1.027 may need to be adjusted to compensate for this return to prior ordering (parameter ordering in the +/- and curve rollouts were offset by one)
  • fixed an issue where tyCache objects wouldn’t properly report if they were loading a particle age channel
  • fixed an issue where the legacy particle interface implemented by tyCaches was not returning proper particle age values
  • fixed an issue where the tyMeshRepair modifier could ignore the winding order of isolated faces
  • fixed an issue that could cause extreme slowdowns in Face Fracture operators when “preserve normals” enabled
  • fixed an issue where the “look ahead” parameter of the Property Test neighbors mode would not accept negative values
  • fixed a regression that could cause the tyFaceFracture modifier to crash when max face count greater than 1
  • fixed an issue where the particle interface in tyFlow objects was returning incorrect orientation values for scaled particles (in the GetParticleOrientationByIndex function)
  • fixed an issue where the auto-freeze option of the tyUVWFreeze modifier wasn’t working properly
  • fixed an issue where the VDB Modify operator wasn’t able to pull in custom float/vector values from same-flow particles
  • fixed an issue where rotating a particle’s pivot with the Rotation operator would not also rotate its explicit normals
  • PhysX Shape compound voxel mode will now perform random interior sampling of meshes, so that if voxels are culled due to max voxel limit, the remaining voxels will be randomly distributed to improve coverage

tyFlow v1.027 (September 06 2023)

Additions:

  • added “preserve normals” option to tyActors
  • added “not overlapping” particle group option throughout tyFlow, wherever it was missing
  • added more PhysX center of mass options to the Mass operator
  • added “planar per-axis input” option to various noise rollouts (when disabled, noise is calculated in a way that prevents per-axis banding artifacts - this option is left on by default to maintain consistency with results produced by previous builds)

Bug fixes:

  • fixed a regression that could cause network renders to crash on machines with a valid tyFlow cfg or license file present
  • fixed an issue where meshes with no smoothing groups were not receiving correct explicit normals
  • fixed an issue where rotated particles were not having their normals updated accordingly (resulting in black faces appearing)
  • fixed an issue where cloth geometry with explicit normals assigned wasn’t updating the normals properly after undergoing deformations
  • fixed an issue where the Select operator would cull particle display even in “send” mode
  • fixed an issue where the Edge Fracture operator could cause the PhysX Shape operator to crash, when in “compound” hull mode

tyFlow v1.026 (August 25 2023)

Additions:

  • tyFlow’s entire mesh pipeline now has (preliminary) support for explicit normal preservation (all operators and modifiers)
  • added “preserve normals” option to tySlice and tyFaceFracture modifiers
  • added “preserve normals” option to Birth Objects, Face Fracture, Voronoi Fracture, Bounds Fracture, Edge Fracture, Subdivide and Shape operators
  • added “remove explicit normals” option to Smooth operator
  • Deadline jobs exporting a tyCache sequence will now attempt to acquire a tyFlow PRO license, even if “auto” license seat acquisition is disabled on them and/or if tyFlow RENDER is installed. Previously, both of those things (having “auto” license seat acquisition disabled and/or having tyFlow RENDER installed) would prevent a Deadline slave from being able to successfully complete a tyCache export job. This new change makes it easier to configure a farm for tyCache export, without having the farm machines unnecessarily acquire tyFlow PRO license seats during regular rendering (ie, when not specifically exporting tyCaches).
  • TYFLOW_LICENSE_REQUEST environment variable added (valid values are “auto” or “manual”)

Bug fixes:

  • fixed an issue where the Displace operator was not properly calculating noise-based displacement in world space mode
  • fixed an issue where a tyConform modifier (with “use vertex selections” enabled) on top of a tySelect modifier would stop working when scene saved for the first time

tyFlow v1.025 (August 20 2023)

Additions:

  • added more clustering options to Property Transfer operator
  • added UVW element ID matching to element ID matching mode of tyParticleSkin modifier
  • added “by distance to object” mode to Terrain Resample operator, for resampling terrain based on its distance to a specified object (ex: camera) in the scene
  • added Alembic mesh export option to preserve full UVW values in secondary map channels (previously only UV coordinates would be exported - excluding W)
  • added clustering options to Rotation operator neighbor align mode

Bug fixes:

  • fixed a regression where the tyFaceFracture modifier wasn’t working when face fracture count was not equal to 1
  • fixed a regression where Max could crash if no license data was present on the machine (introduced in 1.024)
  • fixed a regression where the Position Object “separation” condition wouldn’t work if “delete if position invalid” was enabled
  • tyFlow’s implementation of the Viewport Volume API no longer has weird quirks related to rotation of the tyFlow node itself
  • fixed an issue where flipping face vertex order in the Export Particles Alembic exporter would mess up explicit normals
  • fixed an issue where tyMesher subframe blobmesh interpolation wouldn’t work correctly if the tyMesher node was rotated, as well as other subframe interpolation issues
  • Script operators with compilation errors will auto-recompile when the sim is refreshed
  • Custom Properties operator can now be used to modify particle/event age
  • fixed some issues which could cause the Edge Fracture operator to output invalid meshes
  • fixed a regression where Export Particles alembic export (node per particle mode) wasn’t exporting animated meshes properly
  • fixed an issue where the Terrain Tile operator could crash on large grids when “enable color shift blending” enabled
  • fixed an issue where the “extract mesh” option of the Terrain Mesh operator would create rotated meshes if the wrong viewport was selected at time of extraction
  • fixed an issue that could cause simulation indeterminism when transferring particles between events
  • VDB Display data caching will not occur if the playback cache for the flow is disabled
  • improved some instabilities related to how PhysX sticky penetrations work
  • fixed an issue where the tySplines objects referenced by disabled Spline Paths operators were forcing flows to evaluate
  • fixed a race condition in the Rotation operator’s neighbor align mode

tyFlow v1.024 (July 29 2023)

Additions:

  • in 3ds Max 2023 and higher, the VDB Display operator can now display proper density volumes in the viewport
  • added interpolation parameters to Position Object operator
  • added an .ai file importer (accessible from the regular file import menu), which allows you to import .ai files from all versions of Adobe Illustrator (not just version 8 and below) if you have Illustrator installed on your machine
  • added outward spread mode to Spread operator
  • added birth index tracking to Birth Objects operator
  • added “subtract” operation to vector/scalar values in VDB Modify operator
  • added particle custom data modification modes to VDB Modify operator
  • tyMeshRepair modifier can now fix duplicate map face indices
  • added (sticky) “hide after adding” option to tyMesher
  • tyFlow can now request seats from a floating license server using only environment variables (no local config file required) - see docs for more info (https://docs.tyflow.com/license/pro/floating/)
  • added simulation mode options (history in/dependent) to editor right click menu, and moved display options to Display submenu
  • renamed Objects to SDF operator to Objects to VDB operator, and Particles to SDF operator to Particles to VDB operator…and added options to initialize either as a density grid instead of an SDF

Bug fixes:

  • fixed an issue where tyFlow was not compatible with FumeFX 5.0.6+ (the minimum supported FumeFX version is now 5.0.6). Given that minimum version requirement, tyFlow is compatible with FumeFX 5 and 6 again.
  • fixed an issue that could prevent tyFlow from rendering in command line mode in Max 2019 and below
  • fixed an issue where a tyParticleSkin using a tyCache as input wouldn’t render or update correctly in some situations
  • fixed an issue where the Select operator wouldn’t function correctly in some setups with multiple events
  • fixed an issue where the “velocity from UVWs” mode of the tyVertexVelocity modifier was not integrating the velocities for the second half of the motion interval correctly
  • fixed an issue where tyFlow’s general slice algorithm (used throughout various operators, but most commonly in Voronoi Fracture) could create UVW stretching artifacts in places when ‘optimize slice borders’ was enabled
  • fixed an issue where the “weld bindings” option of the tySplines object was having issues welding binds together properly in situations where more than two bindings connect to single particles
  • in very rare cases where a filesystem issue corrupt tyFlow license data and cause Max to crash during startup, a warning should now pop up during the next initialization of Max, which provides instructions on how to reset the license data

tyFlow v1.023 (July 14 2023)

Additions:

  • added “event entry index” to “order index” parameters of Position Object operator

Bug fixes:

  • fixed an issue where changing the state of the “use vertex selection” checkbox in the tyConform modifier wasn’t affecting the conform result
  • tyCache material libraries (exported from Max 2024 or newer) will now be saved backwards compatible, which should prevent errors when loading a cache (containing instanced materials) exported from Max 2024 or newer into an older version of Max
  • fixed an issue where operator frame skipping options were not working when relative mode set to particle or event age
  • fixed an issue where the Birth Object operator cache wouldn’t reset if an input object was changed while flow reset mode was set to manual
  • fixed an issue where operator timing “hold after every nth” option was not working when operator frame-skipping mode set to deactivate
  • fixed an issue where setting the tyPreviewWindow function arguments was not affecting the tyPreview UI
  • fixed an issue where the tyVector texmap was not working for mapping channels other than 1
  • fixed an issue where “relative add” mode of the Scale operator was not functioning properly (it was doing the same thing “relative multiply” does)
  • fixed an issue where symbolic characters couldn’t be displayed in the Notes operator
  • fixed a regression where the “delete parent” option of the Spawn operator wasn’t working
  • fixed an issue where tyMeshers set to manually update wouldn’t update when file first loaded

tyFlow v1.022 (June 30 2023)

Additions:

  • added hardening options to PhysX Bind operator (bind deformation)
  • added “suppress popups” option to Export Particles general settings
  • added stepped key tangent mode to Export Particles object export keyframe parameters
  • the Terrain Transform operator can now take an object’s transform as input, allowing you to transform a grid with an object (similar to Birth Terrain)
  • holding ESC during license activation will cancel the request
  • if you input a tyCollection into various birth operators (ex: Birth Objects), tyProperties modifiers applied to those collections will be inherited by the objects inside them

Bug fixes:

  • fixed a regression that prevented the tyParticleSkin modifier from loading tyCaches as input particles
  • custom float values are now saved to tyFlow playback cache by default
  • improved spawn operator shape position random distribution uniformity
  • fixed an issue where the spawn operator’s surface alignment option wouldn’t work correctly for scaled particles
  • fixed a bug preventing multiplication operations between Quat values from working in the Script operator
  • improved algorithm which searches for CUDA DLLs during initialization - lowers chance of mis-matched DLL version loaded when conflicting CUDA DLL installed by other software
  • fixed an issue where Script operator meshes were using 0-based indices for material IDs
  • fixed an issue where refreshing a simulation with the global mesh cache enabled could cause PhysX Collision operators to import the wrong geometry for animated colliders
  • kinematic particles can now be bound together with PhysX binds (kinematic-to-kinematic binds)
  • fixed an issue where tyProperties floating-point mass values were being converted to integers internally
  • fixed an issue where VRay CPU override materials would still be applied to tyFlows/tyCaches even if those flows/caches were in the override material exclusion list
  • Birth VDB operator is now compatible with history-independent simulation mode
  • improved the accuracy of the tyParticleSkin element matching search function when “consider particle meshes” is enabled

tyFlow v1.021 (June 8 2023)

Additions:

  • added tyMeshRepair modifier for detecting and fixing many common/difficult topological issues with meshes
  • added element ID matching to tyParticleSkin modifier
  • added more property inheritance options to Spawn operator
  • layer name textboxes (ex: Export Particles - objects mode) will now accept “$(tyFlowName)” as a stand-in for the name of the source flow node
  • added node-relative coordinate option to Birth Voxels operator
  • added mesh repeater modes to tySplineMesher (mesh mode)
  • added keyframe tangent/curve options to Export Particles objects mode
  • added minimum scale limit to Export Particles objects mode
  • added mode/units options to Spin operator
  • added spin/velocity options to Integrate operator

Bug fixes:

  • fixed an issue where exported cloth could have strange subframe interpolation values if flow exported with certain small timestep values (ex: 112)
  • fixed an issue where tyParticleSkin would sometimes have to be re-initialized after file load in order for the PhysX tearing solver to work
  • improved consistently of friction in Collision operator when collision radius greater than zero and/or when simulating small timesteps
  • fixed a crash that could occur related to the global mesh cache
  • fixed an issue where the Grow operator was invalidating targets on particles and setting flow validity incorrectly
  • fixed some issues relating to MXS license activation functions hanging when both tyFlow and tyFlow RENDER are installed (license activate MXS functions are now removed from tyFlow RENDER - regular tyFlow is unchanged)
  • improved the way mesh radii are calculated in tySplineMesher’s mesh mode
  • fixed an issue that could cause Max to crash when rendering VRay instances with the tyFlow playback cache disabled
  • fixed an issue that could cause tySelect in mesh mode to crash
  • fixed an issue where the axis lock settings were not visible in the Wobble operator
  • “improve anchor accuracy” of PhysX Bind operator renamed to “improve accuracy”, proximity algorithm improved, and proximities derived from the more-accurate algorithm must be less than the specified bind distance or else the bind will not be created between the rigidbodies (avoids concave rigidbodies from forming unintentional binds due to convex hull overlap)
  • fixed an issue where the meshes cached by the Birth Objects operator wouldn’t update properly, when changed, if the global mesh cache was enabled
  • fixed a regression where the tyCache object ID cull list would continually clear itself
  • fixed an issue that could cause the global mesh cache to interfere with how mesh elements are extracted in certain operators

tyFlow v1.020 (May 26 2023)

Additions:

  • added separation value to tySlice split mode
  • added pre-process parameters to Cloth Bind CCCS settings, which help to avoid issues when coincident/overlapping edges/faces exist in an initial cloth setup
  • added “Override mtl” option to tyPreview viewport material override setting
  • tyCache “cull by ID” option now features select button you can press to select particles in the view with your mouse

Bug fixes:

  • fixed an issue where the Terrain Scatter operator wasn’t positioning particles properly when a Terrain Transform operator was used to offset the terrain
  • fixed a memory leak that could prevent global mesh caches from being cleaned up when no longer in use
  • fixed an issue where certain VRay 6 vrmesh files were not loading correctly
  • removed value constraints on force spinners in Particle Force operator
  • fixed some issues that could cause the tySelect sub-selection gizmo to be un-transformable when certain modes are activated
  • fixed an issue where the global mesh cache prevented the Object Bind operator from working properly
  • fixed an issue where tyPreview wouldn’t properly restore material override settings when preview finished
  • fixed an issue where tyCache display could be offset by -1 frames if particle dot/ID display enabled

tyFlow v1.019 (May 21 2023)

This build features the new “global mesh cache”. It is a feature that is still somewhat experimental. It can be disabled from the Cache rollout of any tyFlow object.

Additions:

  • added “global mesh cache” option to tyFlow Cache rollout (see docs for more info)
  • added ‘any hit’ occlusion option to tySelect ‘occluded faces’ mode
  • added channel swapping options to Terrain Export normal map settings
  • added simulation/export group filters to Property Collect operator
  • Camera Cull operator now has a ‘test TRUE’ mode (for sending particles to another event, rather than simply hiding or deleting them), as well as test, timing and filter rollouts for that mode
  • added slice edge selection option to tySlice modifier
  • added axis lock parameters to Wobble operator

Bug fixes:

  • fixed an issue where flipping artifacts could occur in the Rotation operator’s lookat mode
  • “RAM cache” renamed to “playback cache” throughout UI
  • fixed an issue where the VDB Modifier operator could crash if the chosen input grid does not exist
  • fixed an issue that could cause the Surface Test operator to crash in certain modes
  • fixed a crash that could occur when loading legacy .vrmesh files into a Shape operator
  • fixed an issue that could cause tyFlex to freeze when evaluated on top of a tySelect modifier
  • fixed an issue where the Set Target operator was ignoring export group filters
  • fixed an issue related to processing floating point values in terrain presets
  • programData/tyFlow file permissions now more permissive - should avoid issues that could arise when trying to activate a license and not running Max as Administrator
  • fixed an issue with face edge visibility flags not being set property by tyFlow’s slice algorithm
  • fixed an issue where the floating license server would sometimes truncate error messages
  • if operator timing set to entry/continuous but secondary timing settings (ex: nth offset) set to non-default value, operator icon will get an orange outline rather than a blue outline, so it’s easier to tell when those other settings have been changed
  • added setting to control nth frame mode in Timing rollouts
  • particles exported using the Export Particles Alembic mesh mode (node-per-particle) will be scaled to (near) zero when hidden
  • Particle interface access (ex: Birth Flow/Flow Update) on a tyCache with GPU instancing disabled will now skip unnecessary particles-to-mesh building step
  • fixed an issue that could cause the Actor Convert operator to crash

tyFlow v1.018 (May 1 2023)

Additions:

  • added variation spinner to Surface Test operator volume mode
  • added “remove override” mode to Material ID operator
  • added stiffness parameter to Cloth Bind “fix inverted tets” option
  • added break limits to Particle Bind operator
  • added “integrate particle velocity for test” option to Surface Test operator
  • added “weld connected cloth meshes” option to Particle Bind operator (similar to “stitch 0-length binds” but does not interfere with collision solvers)
  • added “birth particles at all times” mode to Birth Paint operator, for history-independent flow compatibility
  • added “weld tets” option to Cloth Bind operator, for combining separate tet meshes into single, more optimal tet clusters
  • added “scale overlap hulls” option to Element Attach operator
  • added “degenerate edge” selector to tySelect modifier, for selecting edges that are attached to more than 2 faces

Bug fixes:

  • fixed a crash that could occur when using convex PhysX hulls in some scenarios
  • default Export Particles (ABC point cloud) velocity channel name changed to “.velocities” for improved VRayProxy compatibility
  • fixed an issue where tyMesher result wouldn’t update when changing certain settings
  • fixed an issue where the Rotation operator’s spline align mode would not use surface normals for the forward vector source
  • fixed some issues related to spline painting
  • fixed an issue that could cause the tyConform modifier to crash when in Volume/raycast mode
  • re-added “duplicate selected” option to tySelect selection list
  • fixed an issue that could cause Max to freeze when placing a tyVertexVelocity modifier on a tyCache
  • fixed an issue that could generate motion blur artifacts when rendering tyCaches splines
  • fixed some tyCache motion blur issues when rendering with VRay CPU
  • fixed an issue where tyFlow in Max 2024 couldn’t interface with PhoenixFD containers
  • fixed an issue where refreshing a simulation using the CCCS on any frame other than the start frame of the sim could cause the resulting cloth to move unpredictably
  • fixed some stability issues related to the Particle Break operator when used on cloth
  • fixed an issue where the tyConform modifier was not conforming normals properly
  • fixed an issue that could cause Max to crash when rendering animated terrain with VRay

tyFlow v1.017 (April 7 2023)

Additions:

  • added version of tyFlow for 3ds Max 2024
  • added order index options to Position Object operator, for ordered modes
  • added angle step option to Rotation operator’s divergence settings
  • added “remove UVW overrides” option to Mapping operator

Bug fixes:

  • reverted default values for pin threads/threading hints in tyFlow CPU rollout, due to performance issues related to those settings on some machines
  • made high thread priority (which was off prior to the previous build and on by default in the previous build) optional
  • fixed an issue that could prevent a history-independent simulation from exporting/rendering correctly
  • fixed a regression where native forces other than gravity/wind (ex: motion fields) were not working in the Force operator
  • fixed an issue that could prevent certain PRT sequences from loading into a tyCache object
  • fixed an issue that could cause the PhysX Switch operator to crash, when “use threading hints” is disabled in the flow’s CPU rollout
  • fixed an issue where exported PRT partitions were not all respecting flow retimer settings

tyFlow v1.016 (March 31 2023)

Additions:

  • Birth Spline and Birth Surface operators now respect tyProperties modifiers on input nodes
  • added “future collisions (sweep)” option to PhysX Collision operator, for detecting when future collisions will occur
  • added new compatibility options to Export Particles alembic (mesh) exporter, for improving export to applications like Unreal Engine
  • added 16-bit png height map output support to Terrain Export operator
  • added new CPU rollout to tyFlow objects with extra threading controls
  • added export ID parameter to Spline Paths operator (and corresponding option in Export Particles operator spline export mode)
  • Alembic mesh exporter has been completely re-written to allow for more flexible output, including unlimited (positive-index) UVW channels, dynamic material IDs, and more
  • added node-per-particle export settings to Export Particles alembic mesh exporter, for much smaller ABC files
  • added center pivots option to Shell operator

Bug fixes:

  • fixed an issue where the Split operator’s random percent mode wasn’t working properly
  • fixed an issue where moving/rotating a native Gravity/Wind spacewarp that’s added to a Force operator could crash Max
  • fixed an issue where actor IK wasn’t working properly with scaled actors
  • fixed an issue where rendering terrain alongside particle instances could result in terrain getting wrong material applied to it
  • fixed an issue where tyCache bounding boxes were not displayed correctly if mesh overrides were applied with scale overrides as well
  • fixed an issue where applying a tyVertexVelocity modifier to tyActor input geometry could cause Max to crash
  • fixed an issue where the tyTerrainColor texmap was not doing any pixel filtering
  • fixed an issue where distance/falloff values in tyConform volume mode weren’t working properly
  • fixed a crash that could occur when assigning a convex PhysX hull to a mesh with degenerate elements
  • fixed a crash that could occur if PhysX binds connected to the ground were set to breakable
  • fixed an issue that could cause the Birth Paint operator to crash during initialization
  • fixed an issue where the Birth Objects operator’s ‘center pivots’ option was not matching result of Move Pivots operator’s ‘center pivots’ option
  • changed tyPreview mp4 output, so that if the user has specified an explicit framerate, the ‘FPS multiplier’ setting will be ignored in that regard - instead of increasing framerate it will allow you to export slowed-down video at the specified framerate (ex: setting ‘FPS multiplier’ to 2 will produce a video that plays back in 2x slow-motion due to twice the number of frames being exported - but only if framerate is set explicitly and not left on ‘auto’)
  • fixed some tyFaceFracture artifacts that could occur in ‘polygons’ mode
  • fixed a regression that could cause a crash when inherit motion is enabled in the Position Object operator
  • fixed issues related to exporting terrain maps in history-independent mode

tyFlow v1.0151 (March 10 2023)

Bug fixes:

  • tySplineMesher trails mode now supports per-segment material IDs for subsplines
  • fixed an issue where a flow with actor IK could be set to ‘static’ (preventing updates) even if IK collider geometry animated
  • Voronoi fracture particles will now inherit the parent of their source particle, rather than setting their source particle as their parent (because the source particle is deleted after the fracture occurs)
  • fixed a regression where PhysX sticky penetrations weren’t working after the PhysX 5 update
  • fixed a rare issue that could occur in the Particle Physics operator, if groups are set and no particles match the specified groups (Max could freeze during computation depending on specified search radius)
  • fixed an issue where actor FBX bone matching wouldn’t necessarily return expected results if more than one skin was affected by a bone
  • fixed an issue where motion inheritance wasn’t working in the Position Object operator’s ‘closest point’ mode
  • fixed an issue where mesh velocity calculations weren’t correct in the Position Object operator, if some frames in the simulation did not have new particles

tyFlow v1.015 (March 8 2023)

Additions:

  • added tyActorIK helper and actor IK abilities to tyFlow actor workflow
  • added ability in Birth VDB operator to convert 3 input float grids into a single vector grid
  • added “avoid overlapping faces” option to Spawn operator position settings
  • added “seed per tile” setting to Terrain Noise, Warp and Erosion operators
  • tySplineMesher “trails” mode now supports closed input splines
  • added “soften radius” value to Terrain operator interpolation rollout (color mode), for smoothing potential banding issues due to low-precision color channel data
  • added height normalization mode option to Terrain Export operator
  • added UVW channel setting to tySplineMesher modifier, to specify where trail-specific UVWs will be saved

Bug fixes:

  • fixed an issue where the trails mode of the tySplineMesher could freeze when meshing deforming splines
  • fixed an issue where the tySplineCache modifier could inherit the viewport mesh display settings of other splines in the scene
  • tySplineMesher trails mode will now carry over material IDs and UVWs from source splines
  • Spawn operator ‘entry’ mode removed - will auto-convert to ‘per step’ mode with timing set to entry instead
  • fixed an issue where the […] button of the tySelect modifier was not working
  • fixed an issue where actor rig particle velocities were not being calculated correctly
  • fixed an issue where self-intersections in a mesh could create slice artifacts when slice cap algorithm set to “CDT”
  • fixed a filename parsing issue that could prevent tyCaches from loading when their filenames contained too many underscore characters
  • fixed an issue where diffuse particles in Birth Fluid wouldn’t generate in PhoenixFD grids with a large cell size

tyFlow v1.014 (Feburary 23 2023)

The PhysX SDK was updated in v1.014, so you will need to re-download and install the latest CUDA DLLs from the tyFlow download page in order to utilize PhysX CUDA acceleration.

Additions:

  • added “trails” mode to the tySplineMesher modifier, for generating motion trails behind moving splines.
  • added “diagonal expansion” setting to Terrain Tile copy mode, which can be disabled to only expand tiles along cardinal axes
  • added “use grid timescale” parameter to Fluid Force operator
  • previous tyFlow versions are now accessible on the download page
  • added “save color values” option to Terrain Scatter operator, for saving color channel values to particle custom properties channels
  • internal upgrade to PhysX 5.1 SDK (CUDA DLLs updated on download page to include PhysX 5 versions for PhysX GPU simulations)

Bug fixes:

  • Terrain Mesh ‘render-only’ option is now off by default
  • Terrain Mesh ‘extract mesh’ feature will now work even if ‘render-ony’ is enabled
  • Terrain Export operator now accepts asterisks in names of color channels to export
  • fixed a regression that prevented FumeFX 5 from working with various Fluid operators
  • fixed an issue where the Export Terrain operator wasn’t properly exporting terrains with “:” characters in their name
  • fixed a crash that could occur when using the “resample maps” option of the Export Terrain operator
  • fixed an issue where the tyConform modifier in temporal conform mode wouldn’t work properly if the underlying mesh had transform keyframes or was linked to another object with transform keyframes
  • fixed a regression that could cause Max to crash when click the […] menu of a tyCache object
  • fixed an error preventing terrain from rendering from the command line (network rendering)

tyFlow v1.013 (February 15 2023)

Additions:

  • added 5 new Terrain Color presets
  • added checkboxes for Terrain Scatter mapping overrides
  • added cache settings to Terrain Mesh operator
  • replaced the ‘setup tyTerrainColor texmap’ button in the Terrain Mesh operator with ‘setup vertex color texmap’ button…for a texmap solution that’s compatible with more renderers
  • added “extract mesh” button/function to Terrain Mesh operator, for converting mesh into new scene object
  • added ‘select new faces’ option to tyFaceExtrude modifier
  • added “outwards from custom vector” direction mode to Speed operator
  • added “extractMesh()” function to tyMesher MXS interface
  • added preliminary support for negatively scaled particle transforms (fixes issues with mirrored tyActor rigs, among other things)
  • various cluster parameters can now take multiple channel names (separated by commas), allowing for more complex cluster logic (cluster by multiple matching conditions instead of just one)
  • added ability to birth terrains from another flow in the Birth Terrain operator (copies terrains from one flow to another)
  • added option in Terrain Copy Out operator to clear source terrain
  • added “subtract” blending mode to Terrain Color operator
  • rgb channel selector added to Terrain Color “channel color” mode
  • added default path options to Export Particles tyCache […] menu
  • added “addNewListItem” MXS function to tyProperties modifier, for programmatically adding custom float listbox items
  • added limits to Object to Terrain ‘maximum’ and ‘set’ operations, to prevent terrain from rising too far to reach input object
  • added alignment options to Element Attach operator
  • added break time condition to PhysX bind operator, for specifying how long a bind must violate its break conditions before it will actually break
  • Mapping operator can now bake custom property values into particle meshes
  • added “offset along spline” parameter to Birth Spline operator
  • added MXS “reseed()” function to tyFlow objects, for reseeding all operators
  • added “transform mesh UVWs” mode to Mapping operator
  • added “random orientation” and “multi-tile input” options to Terrain Tile operator (copy mode)

Bug fixes:

  • fixed an issue where some terrain color/mask names were not appear in other color/mask dropdown menus
  • fixed an issue where loading a file saved in v1.012 into v1.0121 could cause noise scales to change
  • fixed an issue where the Custom Properties operator couldn’t modify simulation groups unless a prior Particle Groups operator was present in a flow
  • tyPreview will now properly save/restore viewport ambient occlusion radius/intensity settings
  • fixed a regression where tyMesher could crash when doing conversions on non-mesh geometry
  • fixed an issue where animated colliders with negative start frames were not being initialized properly
  • fixed blending issues in the Terrain Tile operator that could occur when grid Z-axis position offsets not identical
  • removed “visualize grid” option from Birth Terrain, because it’s not really that helpful
  • fixed an issue where clearing terrains after a Terrain Copy Out operator could prevent it from properly copying terrains out during its next evaluation
  • fixed an issue which could cause the Terrain Color operator to degrade in performance over time, in CPU mode
  • fixed an issue preventing existing color channels from working properly as layers in the Terrain Color operator
  • fixed an issue that could cause Max to crash when rendering terrain on a network
  • fixed some Object to Terrain operator issues related to negative height values and terrain grid position offsets
  • fixed an issue where clicking the node menu button in the tyParticleSkin modifier could crash Max
  • fixed an issue where displaying PhysX hulls with the Display Data operator could cause other properties to display incorrectly
  • fixed an issue where setting animated values on constrained spinners would desynchronize them
  • fixed an issue where tyMeshers couldn’t take tyCollections as input
  • reorganized Mapping operator rollouts to be more intuitive
  • fixed an issue that could cause a terrain flow to reset after first saving its file
  • fixed an issue where tyPreview was not accepting network paths starting with backslashes
  • fixed an issue preventing tyConform from raycasting along vertex normals properly
  • fixed an issue where the (position) variation parameter in the Object Bind operator was not working properly

tyFlow v1.0121 (February 8 2023)

Additions:

  • added vertex color options to Terrain Mesh operator

Bug fixes:

  • fixed an issue where the Terrain FX operator would crash in CPU mode
  • fixed an issue where terrain presets would not load properly
  • fixed an issue where the Terrain Export start/end spinners were capped at 0-100
  • fixed an issue where tyFlow could crash - even in CPU mode - if certain CUDA initialization checks failed
  • fixed an issue where several operators’ noise retarget curves weren’t being initialized properly
  • fixed a UI corruption issue in the Terrain Erosion operator, which could cause older versions of Max to crash

tyFlow v1.012 (February 7 2023)

Additions:

  • added more than 20 new operators for procedural terrain generation
  • added many new noise paramters to all noise rollouts
  • added ‘convert child branches into siblings’ option to Branch operator (see docs for more info)
  • added option in tyVertexVelocity modifier to display velocity vectors in the viewport
  • added Element ID, face selection and vertex selection tests to Surface Test operator
  • added new ‘Motion trails’ deformation mode to tyVertexVelocity modifier
  • added ivy growth intersection options to Grow operator (surfaces rollout)
  • added new noise types to all noise rollouts
  • added toggles to material ID overrides in Grow operator ivy mode
  • added callback to tyFlowDeadlinePreSubmissionCallback prior to Deadline submission of Export Particles operator, allowing you to override any job setting
  • added tyFlow_found_in_scene MAXScript function (for checking if any tyFlow objects/modifiers/etc are in the current scene), as well as global license functions (tyFlow_activate_license, tyFlow_deactivate_license, tyFlow_license_activated)
  • added addNewListItem MAXScript function to Shape operator, Birth Burst operator and Actor operator
  • Spawn operator position matID filter now takes a list of IDs as input instead of a single spinner
  • added raycast distance settings to the Position Raycast operator
  • added ‘weld after slicing’ option to Voronoi Fracture operator, to mitigate some issues that can arise when performing multiple, successive slices (missing faces)
  • added improved ‘CDT’ algorithm option to various Slice rollouts (Voronoi Fracture, tySlice, etc). CDT algorithm generates cap geometry with fewer problematic triangles
  • Spin operator falloff settings are now available for target mode
  • added particle TM X/Y/Z access to Custom Properties vector parameters
  • for users with newer GPUs (RTX 40XX, driver 522.06 and above), a newer set of CUDA DLLs have been added to the tyFlow download page
  • added multi-op selection/enable/disable options to editor operator right-click menu
  • added options in Birth VDB operator to convert incoming file grid names to specified tyFlow grid names
  • added option to select operators with missing dependencies to editor right-click utilities menu
  • added dropdown [v] menu button for quick grid name selections in all VDB operators
  • added support for FumeFX 6
  • added presets to curve control right click menus
  • added repel parameter to Ivy algorithm, for controlling how strongly ivy will repel surface penetrations (this also fixes an issue where ivy would appear to bounce out of surfaces at small scales)
  • added ‘seed by time’ parameter to Position Object operator
  • updated interpolation mode added to Speed operator
  • added ‘scale to size’ option in Export Particles - Objects mode, as an alternative to the original ‘scale to zero’ setting
  • added coordinate settings to Spin operator ‘towards/away target’ mode
  • added option in editor right click Layout menu to not sort operators in depot by category

Bug fixes:

  • fixed a bug that could cause Max to crash when pressing the [?] button in a tyFlow’s GPU rollout
  • noise scale values are now inverted - larger values will generate larger noise patterns (previously the opposite was true, and it was unintuitive). Existing files should auto-adjust their values to compensate for this change when opened, so previous results should stay the same.
  • fixed an issue where placing a VDB Filter operator after a VDB Convert operator (density to SDF) could crash Max
  • fixed an issue where Brick Fracture operator slice material ID overrides were not properly applied to bricks
  • fixed an issue where the Face Fracture operator, with the element attach option enabled, wasn’t properly centering particle pivots
  • fixed an issue where the ‘expand search if radius too small’ option in the Grow operator wasn’t working
  • fixed an issue where simulations would not auto-reset after re-arranging listbox items by dragging them
  • fixed an issue where a greyed out ‘ambient occlusion’ setting in tyPreview would still switch the viewport style to a mode that supports ambient occlusion
  • fixed an issue where tyCaches were not searching user-defined paths for missing cache files
  • fixed a regression that caused tyWind colliders to stop working if noise enabled
  • fixed an issue where the vector channel menus in the Force operator were showing float channel names
  • fixed a ‘center pivots’ issue with the Element Attach operator
  • fixed an issue where the “make instances” option of the editor right click menu wasn’t available for birth operators
  • fixed an issue preventing some edge selection modes of the tySelect modifier from working properly
  • fixed an issue where the simulation group settings of the Flock operator weren’t working properly
  • fixed an issue where the Array operator, in circular mode with local space coordinates enabled, wasn’t working properly
  • fixed an issue where the Brick Fracture operator would override pre-existing custom float values on brick particles, even if custom float overrides for the particles were not enabled
  • fixed an issue where the Brick Fracture operator wasn’t staying aligned to a particle’s TM
  • fixed an issue where the ‘in order’ modes of the Position Object operator were not deterministic
  • fixed an issue where functions could not be called within tyPreview $(MXS) path syntax
  • fixed a bug that could cause the Export Particles operator to crash when previously-exported objects were still in the scene
  • fixed an issue where the Move Pivots operator would not work properly when placed after a Brick Fracture operator
  • fixed an issue where the select reference option of the Shape and Actor operators would not select the correct reference
  • fixed an issue where the tyUVWFreeze modifier could crash when placed on editable poly objects
  • fixed an issue where particle PhysX shapes were not conforming to their meshes if their meshes were changed by a Relax operator
  • fixed a regression where the noise options of the Speed operator were not working
  • fixed an issue where the Birth Paint operator was not properly respecting the ‘birth at specified time’ setting
  • fixed an issue where the seed value of the Move Pivots operator wasn’t affected interpolation variation
  • fixed an issue where double-clicking a node in the Additional Geometry list of the Export Particles operator could cause Max to crash
  • fixed an issue where additive selections in the tySelect modifier could flicker if steps per frame were higher than 1 for certain framerates
  • fixed an issue where tyCache custom data would not load properly in certain circumstances
  • improved accuracy of tySelect mesh inside test when using input mesh with multiple overlapping elements
  • fixed an issue where double-clicking on an item in the Shape operator listbox would not select its reference node
  • fixed an issue where actor animations wouldn’t blend properly on the first frame when “blend world transforms” is enabled in the Actor Animation operator
  • fixed an issue where internal closest-point mesh functions would run slower if mesh was very far from world origin (ex: caused huge tyParticleSkin slowdowns)
  • fixed some issues related to acquiring object transforms that could cause tyMeshers to freeze when they have added modifiers
  • fixed an issue where Element Fracture operators would not work correctly if placed after Face Fracture operators
  • fixed an issue that could lead to tyFlow’s slice algorithm generating slice caps with missing faces (when ‘Optimize slice borders’ enabled)
  • fixed an issue that could lead to tyFlow’s slice algorithm generating slices with indeterministic vertex/face counts, resulting in differences between simulation results when using PhysX
  • improved corner fracture results of Edge Fracture operator (operator is less likely to create long thin fractures in edge fracture mode)
  • fixed an issue where Birth Flow could crash when loading custom properties from another flow
  • fixed a rare issue where Max could crash if a Birth Flow operator imports another flow containing a Brick Fracture operator
  • fixed an issue that could cause the VDB Modify operator to crash when inheriting UVWs from an empty map
  • fixed a very rare issue that could cause the PhysX Shape operator to freeze while generating convex hulls
  • fixed an issue where scaling an actor root particle whose rig particles have PhysX Shape meshes wouldn’t scale them all relative to their root transform, on the first frame of the simulation (rig particles would scale in place, rather than together)
  • fixed an issue where Max could crash when a tySplines object is in an XRef Scene
  • fixed an issue where the Display Data’s ‘specific particle ID’ spinner couldn’t be set to 0
  • fixed an issue where tyCache float culling wouldn’t work properly in ‘not equal’ mode, for particles without the specified channel in their cache
  • fixed an issue where Alembic exports would have a start frame set in the wrong units (frames instead of time samples)
  • fixed an issue where normal alignment of the Find Target operator wasn’t working
  • fixed an issue where the Select operator was not properly displaying number of selected IDs
  • fixed an issue where particle culling would not work in certain circumstances at render-time (Select operator, Camera Cull operator, etc)
  • fixed an issue where a circular reference could crash Max if a source flow is added to itself within an operator using “add selected” from any node menu
  • fixed some issues related to Arnold instance rendering
  • fixed an issue where VRay wouldn’t render tyCaches with motion blur when ‘Enable VRay interface’ not enabled
  • fixed an issue where UVWs and MatIDs were not being properly inherited by tyMesher blobmeshes in ‘direct conversion’ mode
  • fixed a regression where flow playback could be slow during simulation caching

tyFlow v1.011 (September 6 2022)

Additions:

  • added ‘attach elements with matching values’ option to Face Fracture operator
  • added ivy scale multiplier to Grow operator

Bug fixes:

  • fixed an issue where the ‘Draw Splines’ options throughout tyFlow could crash in various scenarios
  • fixed an issue where UVW values at the start of a spline meshed with the tySplineMesher could slide around as the spline deformed
  • fixed an issue where UVW values at the end of a closed spline would be compressed
  • fixed an issue where Phoenix particle properties were not properly being imported with the Fluid Force operator
  • fixed an issue in newer versions of Max where dragging the mouse downwards while trying to select something in a Qt spinner would deselect the textbox content and/or select everything from the cursor position to the end of the line, even if the mouse is positioned to the left of the cursor (fix requires setting QApplication mouseQuickSelectionThreshold to 0)
  • fixed an issue where entering a value in an operator filter spinner and hitting the ENTER key would cause the spinner to lose focus
  • fixed a regression preventing Shape operator animated shapes from working properly

tyFlow v1.010 (September 2 2022)

Additions:

  • added new ‘shortest path’ algorithm to Grow operator
  • added new ‘ivy’ algorithm to Grow operator
  • added ‘Simple ivy flow’ to list of editor preset flows
  • added ivy leaf default shape mesh
  • added a ‘Draw Spline’ button to Birth Splines and Path Follow operators, for freehand spline drawing on scene geometry
  • added filtering options to Element Fracture operator
  • added filtering options to VDB Copy Out operator
  • added VDB Split and Merge operators
  • VDB name parameters now allow wildcards
  • added “clear source grids” option to VDB Copy Out operator
  • added color pickers to Collision and Particle Physics operators, to control color of radius viewport display
  • various VDB operators (VDB Filter, VDB Mesh) can now operate on multiple grids simultaneously
  • added position divergence parameter to the Birth Intersections operator
  • added clustering option to Spline Paths operator, which provides greater control over how splines are potentially welded by the tySplines object
  • added MatrixFromVector, tf.SetMeshID and tf.GetMeshID functions to Script operator
  • added spin force parameter to Point Force operator

Bug fixes:

  • fixed an issue where the Fuse operator clustering parameters were not accessible
  • fixed an issue in the Birth Intersections operator where the divergence value of the velocity group was affecting particles even when velocity was disabled
  • fixed an issue where updating a tyFlow UI curve while playing an animation would not result in a change to the simulation
  • fixed an issue where cloning a tyCache would clear its material/mesh overrides
  • fixed an issue where the timeslider progress bar for tyCaches was not displaying accurate cache frame ticks
  • fixed an issue where spawning particles from a particle affected by a Wobble operator would not transfer over the wobble rotation to the children
  • fixed an issue where the Zhu Bridson mesher could have holes in the mesh if blend distance was too small
  • switched Relax operator internal function to tyFlow’s built-in relax algorithm (the latest Max beta broke the Relax operator, which previously used Max’s internal relax algorithm)
  • fixed an issue where isolated vertices on a mesh could generate incorrect selection results in the tySelect modifier
  • fixed an issue where the tySelect modifier wasn’t accepting tyCollection input
  • fixed a regression that could cause Max to crash when using the ‘Create new’ option of the Spline Paths operator
  • fixed an issue where cloning a flow with Shape operators wouldn’t properly copy the Shape operators over
  • fixed an issue where “prevent duplicate assignments” of the Set Target operator was not working in certain modes
  • fixed an issue where creating a MAXScript tyPreview wouldn’t increment the preview version number
  • fixed an issue where pressing the return key after changing a tyActor animation name would cause the text edit control to stop taking input
  • fixed an issue where instancing a Shape, Actor or Birth Burst operator wouldn’t properly copy its listbox contents
  • fixed an issue where tyCache retiming was affecting the evaluation frame of culling objects
  • fixed an issue where the Face Fracture operator was not splitting based on matID/smGroup if the number of faces on the input mesh was less than the max face count for the other modes.

tyFlow v1.009 (August 15 2022)

Additions:

  • added variation curves to a few operators (Force, Scale, Speed)
  • added interpolation curves to all operators that have interpolation parameters (and also added interpolation parameters to the Spread operator)
  • added Position Object surface offset curve
  • added PhysX Shape grid slice mode, for more accurate convex sub-hulls for compound colliders
  • added ‘sticky birth penetrations’ option to PhysX Shape operator
  • added ‘exclude ground’ and ‘exclude collider objects’ options to PhysX Shape birth penetration parameters
  • all VDB operators now use grid names to identify grids of a certain type, which allows for an unlimited number of grids for each type to be created/modified/etc
  • various VDB operators can now utilize more than one grid at a time (ex: VDB to Mesh can apply UVWs from multiple UVW grids, Export VDB can export multiple grids of the same type, etc)
  • added option in Camera Cull operator to cull particles that are not visible to an active camera
  • added axial bias options to Set Target operator (proximity mode)
  • added spread variation settings to tySlice modifier
  • added ‘unify transform orientation’ option to Rotation operator oriented bounds mode
  • added option to disable random ordering within Face Fracture algorithm
  • added variation parameter to velocity multiplier setting of Birth Fluid operator
  • added spread parameters to Branch operator
  • added new options to Position Displace operator for displacing particles in world-space using a 3D texmap
  • added while-loop protection for Script operator, allowing you to break out of accidental infinite ‘while’ loops in scripts by holding Shift+ESC
  • added point cloud mode to tyCache
  • added ‘ignore particle interface’ option to tyMesher to force mesh mode for particle systems

Bug fixes:

  • fixed an issue where the velocity multiplier of the Birth Fluid operator wasn’t having an effect on spawned particle positions at the frame of their birth (only on subsequent frames)
  • fixed all preset shapes to calculate a more accurate center point when ‘center pivots’ is enabled (previously the center was calculated with the shape’s bounding box, now it is calculated with the weighted average of all shape vertices)
  • fixed an issue where PhoenixFD smoke sims were not affecting particles with the Fluid Force operator unless “only influence submerged particles” was disabled
  • fixed an issue where “adding selected” to the list of tyActor triggers could cause Max to crash
  • fixed a regression which prevented tyFlow from loading on a machine running Windows 7
  • fixed a couple issue where Max could crash if adding a tySplines object to a Spline Paths operator as well any other operator that reads geometry data
  • rewrote the Brick Fracture operator - code cleaned and adapted to new PhysX Shape grid slice mode (fracture result will be visually similar to results from previous builds, but may not line up exactly…so this is a breaking change to be aware of)
  • fixed an issue where the ‘equal’ condition could not be selected in the Property Test operator
  • fixed an issue where the tyMesher was not properly interpolating PhoenixFD particles, preventing them from rendering with proper motion blur
  • fixed an issue where objects could not be added to the location listbox of the Brick Fracture operator

tyFlow v1.008 (August 8 2022)

Additions:

  • added Zhu-Bridson blobmesh mode to tyMesher and Particles to VDB operator
  • updated OpenVDB library to version 9
  • improved speed and dynamics of Birth Fluid and Fluid Force operators
  • added built-in gravity and buoyancy forces to Fluid Force operator for spray/foam/bubbles
  • added neighbor threshold options to Birth Fluid spray/foam/bubbles rollout
  • added filters rollout to Position Object operator
  • added Display Data operator option to show custom vector as a line in the viewport
  • added options to filter PhoenixFD grid particles by type in the tyMesher blobmesh settings
  • added dynamic fusion options to Fuse operator
  • improved stability of Particle Physics’ “attract” parameter

Bug fixes:

  • fixed a regression where the Fluid Force operator wasn’t properly loading or updating PhoenixFD grid particles
  • fixed an issue with the Object Bind UI where the position bind velocity radiobuttons weren’t working properly

tyFlow v1.007 (July 31 2022)

Additions:

  • added whitewater (spray/foam/bubbles) generation and advection options to Birth Fluid and Fluid Force operators
  • added Runge-Kutta 2 & 4 advection methods to Fluid Force operator (improves accuracy)
  • added slice count/spread options to tySlice split mode
  • added ‘rebuild SDF’ mode to VDB Convert operator
  • added PrepNeighbors function to Script operator that takes a specific list of simulation indices as input, so you can specify exactly which particles will be considered in the neighbor search
  • added PrepNeighbors function to Script operator that takes a specific list of positions as input, so you can specify exactly which points will be considered in the neighbor search
  • added GetNearestNeighbor function to Script operator, for finding the nearest neighbor to a particle
  • added ability to filter by a list of material IDs in the Position Object operator
  • added ‘relative to velocity’ options to Rotation operator banking parameters

Bug fixes:

  • fixed an issue where selecting a PRT file in a tyCache would switch the filename extension to “.tyc” instead of leaving it “.prt”
  • fixed an issue where tyCaches were not respecting input paths relative to the current project
  • fixed an issue where Bounds Fracture random axis mode wouldn’t randomize sliced across instanced meshes
  • fixed a crash that could occur when copying and pasting a Shape operator
  • fixed visual glitches that would occur when operator rollouts were left-aligned
  • fixed an issue that could cause the tyFlow floating license server to crash on certain VM setups
  • fixed an issue that could crash certain operators when they point to objects that expose the IParticleObjectExt interface but do not return valid transform pointers for particles (ex: Particles to SDF operator pointing to a PhoenixFD liquid simulation)
  • fixed an issue where the Particle Physics attraction UI wasn’t functioning properly
  • fixed an issue where the Property Transfer UI wasn’t functioning properly
  • fixed an issue where the radius multiplier in the Property Test neighbor mode couldn’t be used
  • fixed an issue where “hide after adding” in the tyBoolean modifier wasn’t working
  • fixed an issue where frozen/hidden objects couldn’t be added to node listboxes from the “Add…” menu
  • fixed another issue which could cause Max to crash when dragging a tyActor operator into a flow
  • fixed an issue where the Force operator’s second built-in noise wasn’t working
  • fixed an issue where clicking on an operator containing a textbox (ex: Notes operator) could reset the particle display to frame zero

tyFlow v1.006 (July 20 2022)

Additions:

  • added support for VRay 6
  • added option to enable sub-frame memory caching for improving tyFlow retimer accuracy when subframe timestep enabled (experimental)
  • added tyRetimeController for retiming the transforms of other objects (see docs for more info)
  • added material ID filtering to Birth Intersections operator
  • added falloff parameter to tyParticleSkin modifier, for smoother skinning
  • added new noise UI to Displace operator and Cluster operator
  • added max slice and bounds radius threshold parameters to Bounds Fracture operator
  • added “SetMesh” function to Script operator
  • added “PhysX overlap” mode to the Property Test neighbor test
  • retimer speed mode is now animatable in both tyFlow and tyCache objects
  • added edge loop selection mode to tySelect modifier

Bug fixes:

  • fixed an issue where the new noise algorithms would only produce 2D noise in the VDB Modify operator
  • fixed an issue where tyFlow could crash when refreshing a sim containing compound colliders and PhysX Bind operators
  • fixed an issue where point bind listbox buttons in the PhysX Shape operator weren’t working
  • fixed an issue where the tySelect modifier could crash when setting the select frame manually
  • Particle Force now takes particle pivot changes into consideration
  • fixed a Qt issue where the ‘clear cache’ and ‘extract splines’ buttons in the tySplines object would crash Max when pressed
  • fixed an issue where the Export Particles operator seemed to default to spline mode even though geometry mode settings were visible
  • fixed an issue where tySplines objects would rebuild their cache when a dependent tyFlow non-sim setting was changed (ex: display setting or Export Particles setting)
  • fixed an issue where Object Bind lock-to-object mode wasn’t working properly if verlet integration was enabled
  • fixed an issue where custom vector channel dropdown menus weren’t working properly
  • fixed an issue where the Display Data operator was not properly displaying PhysX compound hulls
  • fixed an issue where the “Treat post-step particles as new” setting in operator Timing rollouts wasn’t working properly

tyFlow v1.0055 (July 11 2022)

The warning for v1.0051 also applies ot v1.0055. See below for more details.

Additions:

  • added new noise algorithms and comprehensive noise preview window anywhere that noise can be added within tyFlow (tyWind, Force operator, etc)
  • added PhysX Shape operator ‘compound’ mode for simulating dynamic concave rigidbodies
  • added export groups as a filter method in the Set Target operator
  • added option in tyCollection layer import settings to include child layers (recursively)

Bug fixes:

  • fixed some more issues related to Qt spinner wrapping
  • switched UI context menus to Qt menus to avoid some issues with Win32 menus
  • fixed some UI issues in the Brick Fracture operator
  • fixed an issue where the Set Target operator wouldn’t allow helpers to be added to the proximity node list
  • fixed an issue where the Object Bind operator’s sample dropdown was not working properly
  • fixed an issue where refreshing a floating license in the new Qt dialogs could cause Max to crash
  • fixed an issue where adding an Actor operator to a new flow could cause a crash
  • fixed Qt spinner issues related to constrained values and value selections
  • fixed an issue where some tyFlow modifiers were not displaying their data in the view (ex: tyVertexOrder wans’t displaying vertex indices)
  • fixed an issue where tyProperties modifier mass values were not being assigned to corresponding particles
  • fixed an issue where PhysX bind display lines weren’t aligned properly

tyFlow v1.0054 (June 29 2022)

The warning for v1.0051 also applies ot v1.0054. See below for more details.

Bug fixes:

  • (hopefully) fixed more issues related to the Shape operator (selections being weird, settings not changing properly, etc)
  • fixed an issue where adjusting brush density from the Brush rollout in the Birth Paint operator would cause the density to change to 0
  • fixed an issue where updating a tyCache asset path in Max’s Asset Tracking dialog would not affect the tyCache object
  • improved tySplineMesher knot alignment on closed splines (prevents mesh twists at beginning/end of loops)

tyFlow v1.0053 (June 28 2022)

The warning for v1.0051 also applies ot v1.0053. See below for more details.

Bug fixes:

  • fixed an issue where Max would crash if you deleted a reference node of the Shape operator
  • fixed an issue where copying+pasting a Shape operator between flows would not transfer the settings properly
  • fixed an issue that could cause Max to crash when double-clicking an object in a listbox
  • fixed an issue where typing in a Qt line edit control would reset the cursor to the start of the word after each keypress
  • fixed an issue where selecting an object with a tyFlow modifier listbox visible would cause Max to start moving the object in the viewport
  • fixed a regression where dragging downwards on an integer spinner would still increase the value by a positive amount
  • fixed an issue where the Shape operator wouldn’t select the head node of a group if the group is closed and selected as a reference node
  • fixed issues with Shift+Click selections in the Shape operator

tyFlow v1.0052 (June 28 2022)

The warning for v1.0051 also applies ot v1.0052. See below for more details.

Bug fixes:

  • fixed bug that would cause all kinds of weirdness in operators containing a filters rollout and simulation/export group checkboxes
  • added missing simulation groups to Set Target filters rollout
  • fixed a regression which disabled the CUDA Cloth Collision Solver
  • fixed various 4k resolution Qt UI issues (group buttons too small, spinners too narrow, curve controls being too short, rollouts not scaling to width of panels, etc)
  • fixed a regression where the Speed operator’s icon listbox was not working
  • increased speed at which values change when Qt spinner arrows dragged
  • fixed a regression where the Shape operator wouldn’t allow duplicate node entries
  • fixed a regression where creating a Select operator from an event output node would crash Max
  • fixed a bug that could cause the Birth Paint operator to crash when adjusting brush curve controls
  • fixed an issue where clicking and dragging a curve control knot for the first time could result in nothing happening
  • fixed an issue in the Shape operator where multi-selection changes were not working in some cases
  • fixed an issue where operator filename […] menus were not working
  • fixed an issue where spinbox screen wrapping during mouse drag would cause the spinner’s value to jump

tyFlow v1.0051 (June 26 2022)

A huge amount of code was rewritten in tyFlow v1.0051 in order to ugprade all rollout interfaces to Qt…so the possibility that new bugs may have been introduced is high. You should only upgrade to v1.0051 if you understand that it may be more unstable than v1.005.

Additions:

  • all tyFlow parameter rollouts (for objects, helpers, modifiers, operators, etc) have been converted to Qt (with the exception of the tyCarve modifier, which will be rewritten later)

  • added viewport stats display filter to tyPreview

  • added “remove material” option to editor right click utilities menu

  • added axis option to Object Test ‘above/below’ modes

  • added phase option to Spread and Speed operator noise

  • added affect types to Select operator cull mode

  • added texture map overrides to Collision operator bounce/divergence/friction parameters

  • added planar falloff settings to tyWind force

  • added more noise options to tyWind force

  • added accuracy parameter to tyWind collider occlusion settings

  • added ‘enable visible’ and ‘disable hidden’ options to tyFlow viewport menu

  • added option in tyPreview to adopt appearance parameters from current viewport settings

  • added material override options to tyPreview appearance parameters

Bug fixes:

  • fixed a very old and mysterious bug where certain tyPreview settings could sometimes change at random when switching between cameras in a scene
  • fixed an issue where Birth Paint operator painting brush would not appear under mouse on 4k/upscaled resolutions
  • fixed an issue where a Birth Objects operator would not import the mesh of a tyCache input
  • fixed an issue where Export Particles operator switcher settings wouldn’t trigger Birth Objects cache refresh, resulting in incorrect Birth Objects data being exported
  • fixed an issue in tyCache objects that could cause a crash while loading PhysX data with multiple threads
  • fixed a regression where Force operator spin influence wasn’t working
  • fixed an issue where Shell operator UVWs could become skewed
  • fixed a bug preventing Rotation operator banking from working properly
  • fixed a bug where Max could crash is tyConform modifier put on a non-mesh object

tyFlow v1.005 (April 17 2022)

Additions:

  • added support for 3ds Max 2023
  • added Birth Paint operator, for painting particles directly on scene geometry (consider this a ‘beta’ operator, as it is still a work in progress)
  • added tyVertexVelocity modifier (see docs for more info)
  • Regular object listboxes throughout tyFlow can now process multi-item selections
  • added ‘relative to perpendicular surface area’ option to Force operator (see docs for more info)
  • added material ID and smoothing group split modes to Face Fracture modifier and operator
  • added ‘Remap’ function to Script operator which remaps a float within a range to another range
  • added ‘direct conversion to SDF’ option to tyMesher blobmesh mode
  • selected tyCaches and tyFlows will now display cache load process above the trackbar (as a blue line)
  • added phase option to Object and Surface Test operators, and tyWind helper
  • added “include children” option to Export Particles object export settings
  • Script operator objects list can now properly handle tyCollections
  • added ‘max length’ param to tySplines object, for controlling the maximum length of trajectory splines
  • added option to inherit target link from parent, to Wobble operator (now off by default, so wobble particles don’t mistakenly inherit parent links)

Bug fixes:

  • fixed an issue where an error/crash would occur when illuminating tyFlow instances using a light source with legacy shadow mapping enabled, when using VRay 5
  • fixed an issue where Set Target absolute closest proximity mode would not return correct results when ‘consider particle shapes’ enabled
  • fixed an issue where the friction threshold in the Collision operator could yield unpredictable results in some situations
  • improved ‘optimize slice borders’ function of tyFlow slice algorithm, present in various operators and modifiers. Eliminates rogue verts which could prevent parallel slice seams from closing/welding
  • improved tyCache mesh loading performance, when multiple tyCaches are loading the same tyCache file sequence
  • auto-generated tyCaches will inherit g-buffer ID of their parent flow
  • fixed an issue throughout tyFlow causing incorrect frequency calculations for tyWind helpers
  • fixed an issue where the ‘center spread around parent’ option of the Array operator wasn’t actually centering the spread properly
  • tyCache will no longer preload cache material library if instance material import is disabled, and will only try to load materia library once, if library file is not found
  • fixed an issue where single particles with a mapping override and no prior map data in the override channel would not retain the override
  • fixed an issue where pivot point changes to particles could result in particle instance motion blur artifacts
  • fixed an issue where the ‘GetFloat’ function of a Script operator wouldn’t work properly when used within the ‘SimulationStart’ function of a script
  • fixed a regression where texmaps could not be dragged out of Script operator texmap button
  • fixed an issue in the Find Target operator (‘by time’ mode) where particles could fail to seek their target if they spent only a single time step out of the event before being sent back in
  • fixed an issue where linked particles with ‘rotation lock’ unchecked (but pos/scale checked) would still have their rotation locked

tyFlow v1.004 (March 17 2022)

Additions:

  • added Volume conform mode to tyConform modifier
  • added option in tyFlow License rollout to not auto-request a license when tyFlow in use
  • tyFlow License Server can now be registered and run as a windows service (see docs for more info)
  • added new edge generation options to Birth Surface operator (particle location, align to edge, scale to edge length)
  • added verlet options to Spin operator, which allow you to convert (static) changes in particle orientation to spin (similar to how verlet mode in the Speed operator works)
  • added accleration display to Display Data operator (works on uncached data only)
  • added selected edges mode to Position Object operator
  • added virtual ground collider option to Collisions operator
  • Surface Test now has option to consider particle meshes when performing tests
  • added First/Last knot options to Birth Spline operator
  • added phase/offset params to Cluster operator noise mode
  • added fuzzing param to Cluster operator LDNP mode
  • added a Push operator
  • tyParticleSkin modifier can now run PhysX tearing solver on tyCaches exported with PhysX data
  • operator right-click menu options for filters/tests/timing will now affect all selected operators
  • added relative distance options to Spawn operator spawn-by-travel mode
  • added new direction options to Position Raycast operator
  • added face area mode to tySelect Deformation selector, for selecting faces whose area has expanded/compressed beyond a certain threshold
  • you can now add/remove block comments with CTRL+Q in the Script operator script editor
  • added ‘hold after every nth’ options to operator Timing rollouts
  • various noise frequency/phase values throughout tyFlow are now dependent on time scale (will only be noticeable if sim time scale is not equal to 1)
  • tyCache filename selector menu ([…] button) now has ‘increment version/decrement version’ options (for filenames containing ‘vXXX’ version markers)
  • tySelect modifier now has “select at specific frame” option, for evaluating the input mesh at a specific frame prior to calculating selections
  • added option in editor right-click menu to only draw connections between selected events/operators

Bug fixes:

  • tyFlow v1.004+ version numbering now a little more sane (less zeroes)
  • fixed a memory leak in the tyFlow License Server that could cause memory usage to slowly climb forever
  • fixed an issue where tyFlow could try to acquire a floating license after scene reset
  • fixed an issue where tyFlow could release its floating license during long export operations
  • fixed an issue where Export Particles operators (in tyCache splines mode) would export all splines from the flow even when the operator was isolated to a single event (ie, not operating in global export mode)
  • improved variation between randomly generate operator display colors
  • fixed an issue where setting stretch percent in tySplineMesher modifier to greater than 100 when in Mesh mode on a closed spline would result in weird mesh artifacts
  • fixed an issue where VRay could render particles on the frame before they’re born
  • improved performance of tyCache when displaying millions of particles (up to 10x faster)
  • Array operator circular array min/max angles are now unbounded
  • Array operator ‘align’ option will now flatten rotation around circular array axis, so that linear offsets don’t influence alignments
  • fixed an issue where multiple Move Pivots operators would not work correctly together, for certain particle orientations
  • fixed an issue where nth particle display in the Display Data operator wasn’t working properly
  • fixed an issue where tyPreview could change/overwrite the existing path to viewport background images
  • fixed an issue where an event connected to a flow containing only an Export Particles operator was still considered a global export event
  • Non-global export operators will now only export cloth/actor meshes with driver particles inside of their events

tyFlow v1.00003 (March 4 2022)

Additions:

  • tyFlow floating license options now available
  • tyFlow License Server now bundled with plugins, for use with floating licenses
  • added position transfer mode to tyConform modifier
  • added UVWs channel settings to tyConform modifier
  • added rotation delta test to Property Test operator, for testing particle rotation changes between frames
  • added split group (cluster) settings to Split operator
  • added more sorting options to Split operator
  • added keyframes rollout to Spawn operator
  • split ‘print simulation info’ setting of tyFlow objects into second option: ‘print cache info’, which is off by default and now used to control whether cache info will be printed to listener (keeping this disabled can speed up certain calculations)
  • Spawn operator now added to event output node operator dropdown
  • added option to tyPreview to disable display of particle data during previews (data displayed with Display Data operator, binds, etc)
  • added “randomize all display colors” option to operator right click menu
  • added rendertime-only option to tyMesher voxel filtering

Bug fixes:

  • fixed an issue where attempting to enter a valid tyFlow PRO license key could fail if a pre-existing license config file was not found
  • fixed an issue where tyMeshers weren’t interpolating tyCache particle velocities properly in some situations
  • fixed some issues related to license authentication
  • removed “new particles before” and “new particles after” modes of Split operator (use timing rollout instead)
  • Split operator ‘birth ID’ mode will now sort particles by birth ID before processing for more predictable results in cases where event particles are not already ordered
  • fixed an issue where flows containing and Actor operator could not be static
  • new tySplines objects will now always have max’s built-in spline meshing disabled by default
  • tyMesher blobmesh filter setting is now animatable
  • tyCarve parameters are now animatable
  • fixed an issue where tyFlex modifier starting frame would default to a gigantic value in some cases
  • fixed a crash that could occur when duplicating a flow containg a Spline Paths operator
  • fixed an issue where Max would crash after reloading a file in which a tySplines object had been converted to an editable spline object while still being referenced by a flow
  • fixed an issue where adding a Collision operator to a flow in manual reset mode could cause a crash
  • fixed an issue where tyActor bind setups were not carrying over bind stiffness/damping values modified by PhysX Modify operators
  • fixed an issue where the Select operator test action settings were missing
  • fixed an issue where tyFlow editor sometimes wouldn’t close between scene loads, allowing an editor from one scene to exist in another scene
  • fixed an issue where actor rig particle velocities would be set incorrectly on the frame of their birth
  • fixed a rare crash that could occur when extruding a lot of overlapping splines with the tySplineMesher modifier
  • fixed an issue where the Flow Update operator was not properly bringing in custom property values from tyCache objects

tyFlow v1.00002 (February 6 2022)

Additions:

  • new tyFlow RENDER build available on download page, for network rendering with full multithreading support without requiring a tyFlow PRO license
  • added proxy server setup button to tyFlow license rollout, for connecting to activation server through a proxy
  • tyCache objects can now load PRT files and partitions
  • added spline align mode to Rotation operator
  • tyWeld modifier can now weld splines
  • tyMesher can now render blobmesh particles with proper deformation motion blur
  • added tooltips to editor operator category icons (the small icons above the editor operator list)
  • recursive subdivide mode of the tySlice modifier is now relative to gizmo orientation
  • added Clamp function to Script operator Mathf class
  • added option in tyCache mesh overrides to treat multiple meshes for a single override (imported from a group head or tyCollection) as a single mesh
  • tyCaches can now load cache files that are missing mesh information, allowing you to set override meshes on mesh-less particle sequences (ex: PRT files)
  • operators with ‘full interpolation on entry’ option now have a dropdown more more options in place of the original checkbox
  • added tySelect edge length selection mode
  • added new rate options to Birth Fluid operator
  • added “Add selected” option to single-node pickbuttons throughout tyFlow UI
  • Birth Splines operator can now use splines that have mesher modifiers on top (previously it could only use splines that were still collapsible as splines)
  • added variation parameter to tyCache particle scale mutliplier
  • rate of change value in tyRateOfChangeController is now animatable
  • added additional accuracy parameter to Set Target operator when in proximity made and “consider particle shapes” is enabled
  • added ability to select reference node list index by custom float in Export Particles operator (object export mode)
  • added proximity influence settings to tyWind helper
  • added filters rollout to Element Fracture operator

Bug fixes:

  • fixed an issue where tySelect additive baking mode would recalculate in some situations, even with auto-recalculate turned off
  • mitigated an issue where some machines could crash during startup and never be able to startup when tyFlow PRO (or the last 3 beta versions) are installed (the beta versions will not be updated with this fix, so if you cannot start Max with tyFlow beta installed, try using v0.16132 or older…luckily this issue is very rare and shouldn’t affect the vast majority of users)
  • fixed an issue where tyCache mesh overrides referencing a tyCollection were using the tyCollection helper itself as one of the potential overrides, leaving some particles with an empty mesh
  • fixed an issue where instanced particles that were birthing or dying on a particular frame were not receiving the proper amount of motion blur in VRay
  • fixed an issue where tyCache particles weren’t being interpolated properly on subframes leading up to their birth/death, resulting in incorrect motion blur
  • fixed an issue where the presence of virtual network adapters on a machine could prevent tyFlow PRO license file verification
  • fixed an issue where collider meshes included in the CCCS solve would lag behind by a frame if Collision operator timing set to “after secondary solvers”
  • fixed an issue affecting the last few builds, where Max could crash while exporting large numbers of animated actors

tyFlow v1.00001 (January 31 2022)

Additions:

  • added option in editor right click menu (layout submenu) to disable tyFlow PRO blue grid background

Bug fixes:

  • fixed an issue affecting CPU utilization on licensed machines (multithreading was not kicking in even after being licensed in certain situations)
  • fixed a regression preventing tyCaches from loading deforming meshes
  • fixed an issue where creating a Select operator from an event output node would disable the initial connection to its new event

tyFlow v1.00000 (January 29 2022)

The tyFlow BETA has come to a close. This marks the first official post-BETA release of tyFlow FREE and tyFlow PRO

Additions:

  • added licensing rollouts to every tyFlow object/modifier, for activating/deactivating a tyFlow PRO licenese
  • added Select operator, for selecting particles in the viewport with a mouse, for further processing
  • added tyFlex modifier, an alternative to 3ds Max’s Flex modifier, with caching and multithreading
  • added instance material overrides options to tyCache object

Bug fixes:

  • improved speed of tyCache viewport instancing in some situations
  • improved tyCache memory usage across multiple tyCache objects referencing the same cache sequence (particle meshes are now instanced across tyCache objects)
  • optimized the way in which tyCache objects reload mesh files
  • fixed tyCache mesh override frequency so that it won’t override all cached meshes if combined frequency values are less than 100
  • fixed a regression where particle mapping data wasn’t passing through to generated splines correctly
  • fixed a bug that could cause Alembic mesh exporter to crash

tyFlow v0.16135 is the last build of tyFlow that supports 3ds Max 2016 and 3ds Max 2017. Going forward, 3ds Max 2018 will be the minimum requirement for tyFlow.

tyFlow v0.16135 (January 26 2022)

Additions:

  • added new customFloat/nth-ID culling options to tyCache objects
  • added option in Resample operator to interpolate velocity of particles (previously this behavior was on by default, now it’s optional and off by default)
  • added event filter options to Particle Bind and PhysX Bind proximity bind options
  • added flip ordering option to Resample operator

Bug fixes:

  • fixed a bug that could cause 3ds Max to crash during startup
  • fixed a regression where spline paths were not inheriting particle velocity information
  • re-organized Script operator rollouts
  • fixed an issue where the Resample operator in parent/child mode was sorting particle pairs in a way that was causing some groups of resampled particles to be flipped in their orientation between parent/child
  • fixed an issue where tyActor input meshes with non-skin deformations would not respect pivot changes to input geometry

tyFlow v0.16134 (January 23 2022)

Additions:

  • added a floats rollout to the Script operator, where you can define script-accessible and animatable float values
  • added display options to Property Test neighbor mode, for visualizing search parameters in the viewport
  • added seed by time option to Resample operator
  • added filters rollout to Position Displace operator
  • added ‘closest vertex’ surface forward vector option in Rotation operator

Bug fixes:

  • fixed an issue in the Birth Flow operator where it could freeze if a reference flow’s shape had sufficiently-many vertices
  • fixed an issue where CCCS settings were duplicated in tyFlow’s main rollouts
  • fixed an issue where switching between modes in the tySlice modifier could cause max to crash when transforming the sub-object gizmo
  • fixed a regression where the tyBend/tySpiral subobject gizmos could not be moved
  • fixed an issue that could cause tyCache spline export to crash when exporting splines with no knots (and simultaneously an issue where tySpline objects could optimize splines in a way that could leave them with no knots left)
  • fixed an issue that could cause max to crash when using a small percent value in the tySplineMesher modifier, resulting in a spline being shrunk down to a single knot
  • fixed an issue where certain operators would ignore target data when targets imported from Birth Flow/Flow Update
  • fixed an issue where Max could crash when post-processing tyFlow meshes with NULL mapping channels
  • fixed an issue where Alembic point cloud mode would crash when exporting in quat mode
  • fixed a memory leak in the tySelect modifier
  • fixed an issue where Resample operator randomization/jitter was not properly tied to seed
  • fixed an issue where Position Displace operator was ignoring timing rollout
  • fixed a regression where the CCCS operating on regular particle binds would ignore their thickness/friction values
  • fixed an issue where the Shape operator would default to ‘triangle’ when switching to default 3d mesh mode, instead of tetrahedron
  • fixed an issue where FumeFX caches weren’t loading properly depending on time offset/playback parameters

tyFlow v0.16133 (January 15 2022)

Additions:

  • added cross section mode to tySlice modifier, for easily converting sliced mesh cross sections into splines
  • added temporal relax mode to tyRelax modifier, for smoothing meshes over time (reduce vertex jittering of deforming meshes)
  • added many new options to tyMeshToSplines modifier to weld and optimize the result
  • added option to enable render-only modifiers for export in Export Particles operator additional geometry rollout
  • added “Split Elements” option to Birth Voxels operator
  • added custom vector access to Export Particles object export maxscript rollout
  • added rotation channel options to Export Particles Alembic point cloud mode. Can now specify whether to save orientation data as a quaternion or a matrix3x3
  • added channel name options to Export Particles Alembic point cloud mode
  • Custom Properties operator can now set/get simulation/export group values
  • added “branch from parent if parent deleted” option to Branch operator (see docs for more info)
  • Branch operator now considers particle velocity when calculating whether spacing threshold met
  • added new linear array mode to Array operator
  • adding clustering options to Fuse operator
  • added temporal conform mode to tyConform modifier (see docs for more info)
  • added “open edges outwards” mode to tyPush modifier, for pushing open edges of meshes outwards perpendicular to their adjacent face normals
  • added splay settings to Branch operator, for evenly spreading child particles out by incremental degrees (rather than just by random divergence)
  • added ‘towards/away target’ mode to Spin operator (spin particles towards/away the central axis of their target particle)
  • added frame mode to tyMesher timing settings, allowing you to retime input geometry (not merely offset it by frame)

Bug fixes:

  • interpolation value in Modify Binds operator is now time step independent (note: this will affect the result of sims created with older builds, so be mindful about this before upgrading)
  • fixed a bug where weird issues could occur in Max if all nodes in a tyCollection are deleted from the scene
  • re-structured the way tySplines and Spline Paths operators work, hopefully fixing a few related bugs in the process
  • fixed tyConvexHull validity issue causing it to recompute when object transform changes
  • fixed an issue in the Surface Force operator where motion inheritance mode wouldn’t always work
  • fixed an issue where convex hull operations were retaining isolated vertices of the underlying mesh
  • Time Test now exports data to custom float in frames, not ticks
  • fixed time sampling issues in Alembic point cloud export
  • secondary Alembic point cloud properties promoted to “.geom” child, from “.arbGeomParams”
  • fixed a Collision operator issue where particles with thickness traveling perfectly parallel to collision surface wouldn’t undergo friction
  • fixed an issue where the Property Collect operator was ignoring filters/timings
  • fixed an issue where Property Test “distance to target” would always return true for particles with no target
  • tyParticleSkin modifier will no longer auto-update when the underlying particle system is set to manual reset mode or display-only changes are made. System notifications sent when doing things like enabling/disabling Display operators are now much less intrusive as well, resulting in fewer unnecessary stack/pipeline updates
  • fixed an issue where tySplineMesher in extrude mode with capping enabled would move all knots to z=0
  • optimized the tySplines object to prevent cases where large numbers of particles were causing huge slowdowns during cache clearing process
  • fixed an issue where enabling “prefer verlet velocities” in a tyCache’s settings would always treat “keep frames in RAM” as if it were enabled
  • tyFlow object CCCS settings moved to own rollout, from Particle Bind Solver rollout
  • tyConform “vert/face/hybrid” modes consolidated into “surface” mode, with added sample parameter to re-specify vert/face/hybrid accuracy
  • fixed an issue where use of the Subdivide modifier could cause Max to stop responding in weird ways

tyFlow v0.16132 (November 21 2021)

Additions:

  • added options in Particle Bind operator to re-bind broken bindings
  • added sim group filters to Cloth operator CCCS settings
  • added interpolation settings to Mass operator
  • added tyConvexHull modifier
  • added normalize time option to Property Test actor animation test
  • added simple interpolation option to tyActor helpers (see docs for more info)

Bug fixes:

  • fixed a bug that could cause Max to crash while loading a tyCache with empty map channels
  • fixed a bug where the y/z axis options in the Mapping operator were not working
  • fixed an issue with tyCache objects not updating properly when clamping the time range to a single frame
  • fixed issues with the way particle binds are displayed using the Display Data operator
  • fixed an issue with dead verts/faces/etc causing tySelect issues on edit poly objects
  • fixed an issue where ffmpeg-enabled audio tyPreviews could hang during re-encoding until the ffmpeg process was killed
  • fixed an issue where the Script operator could crash when trying to bind deleted/non-existent particles
  • fixed an issue where the Particle Physics op wasn’t detecting all collisions between differently-sized particles across multiple events properly
  • fixed an issue where binds displayed by the Display Data operator weren’t lining up with binds converted to splines
  • fixed an issue where group filtering in the Particle Physics operator wasn’t working as intended
  • improved performance of tyActor update routine
  • tyMeshToSplines modifier now carries forward material IDs
  • Actor Animation playback offset variation will now be a positive value between 0 and the specified offset variation value (previously it would be [+/- variationVal/2], which could lead to strange results especially when playback looping is disabled)
  • fixed an issue where Actor Animation operator speed variation wasn’t working correctly

tyFlow v0.16131 (November 7 2021)

Additions:

  • added sim groups options to Particle Bind operator CCCS settings
  • added vdb resampler options to Birth VDB file mode
  • added event particle count offset to Set Target operator (see docs for more info)
  • added option in Particle Break operator to not treat cloth bind breaks as tears
  • added “allow bind compression” setting to Particle Bind operator (see docs for more info)
  • added individual neighbor force enable/disable checkboxes to Flock operator
  • added “only-child” option to Property Test sibling index mode
  • added option to inherit spline material ID to Birth Spline operator
  • added sibling index value access to Custom Properties operator

Bug fixes:

  • actually fixed non-uniform object slicing with the tySlice modifier (previous build said it was fixed, but it still wasn’t working correctly)
  • fixed an issue where tyPush modifier axis spinners would not accept negative values
  • tySlice modifier gizmo now only drawn when necessary (not in object or recursive mode)
  • fixed an issue where various node-dependent tyFlow modifiers wouldn’t update properly if copied or instanced across multiple objects
  • fixed an issue where spline conform element matching wasn’t working in the tyConform modifier
  • disabled delay loading in Birth VDB operator (vdbs will now be read directly instead of being copied locally first, because a bug in the OpenVDB library isn’t cleaning up the temp files - this issue will be revisited at a later date, for now delay loading is simply disabled)
  • optimized tySelect to cache input mesh between parameter changes
  • optimized tySelect raycast mode
  • fixed a regression where the Extract Splines tool of the tySpline object stopped working
  • fixed an issue where assigning a different material to an Instance Material operator would not reset a flow
  • suppressed a missing channels error in the Export Particles operator, when particle export is disabled
  • fixed a memory leak which was preventing certain tyFlow-mesh internal data structures from ever being cleaned up properly
  • fixed a rare crash that could occur during editable poly input mesh processing
  • fixed an issue where the Rotation operator wouldn’t work if both mode and forward vector were set to “surface” (because a different surface might be needed for each of those settings, but only one object list would appear in the operator). The solution adds a new “forward vector objects” rollout to the operator when using those modes. Any existing scenes that use “surface” as the forward vector will need to be modified by adding the desired surface to the new “forward vector objects” listbox
  • fixed a regression where the Resample operator in sibling resample mode was setting the new particles’ parent to the original sibling particles, instead of setting the parent to the parent of the original sibling particles in order to retain their sibling relationship
  • fixed an issue where relative paths with no directories would prevent tyCaches from loading
  • fixed an issue where particle group options were only affecting alignment flocking in the Flock operator
  • fixed an issue where particles imported through a tyActor were not transferring over their material ID overrides

tyFlow v0.16130 (October 15 2021)

Additions:

  • added basic PhysX sweep/overlap/update functions to the Script operator
  • tyCache file info panel now displays load timer profiler data
  • added “prefer verlet velocities” option to tyCache particle interface settings (see docs for more info)
  • added checkbox to enable/disable tyCache particle ID sorting and tracking (see docs for more info)
  • drastically improved tyCache import/export performance (cache loader is backwards compatible, but new speed improvements only apply to caches imported/exported with this version or newer)
  • added option to remove explicit normals in tySmooth modifier
  • tyPreview and Export operator progress now displayed in Max taskbar icon
  • tyCache mesh overrides can now take tyCollections as input

Bug fixes:

  • fixed a regression where the tySelect modifier could crash when applied to editable poly objects
  • fixed an issue where particles at the scene origin (0,0,0) wouldn’t be affected by turbulence forces
  • fixed an issue where timer recursion was preventing proper tyProfiler printouts when using a Collision operator
  • fixed an issue where tyConform working on splines would sometimes not update its internal cache, resulting in splines not conforming to geometry properly
  • fixed an issue where tySelect soft selection curve data was not interpolated well enough, resulting in stepping artifacts in displaced geometry
  • significantly improved performance of Birth Flow operator, when importing lots of unique meshes (10x speedup on 25k unqiue fracture meshes imported from another flow)
  • fixed an issue where Property Test position delta magnitude test was not returning expected results for new particles
  • added Custom Vector Distance test to Property Test, for measuring the distance between a particle’s position and a custom vector
  • Resample operator now sets new particle parent to the particle with the target, when doing target resampling, also fixed an issue where source particles were having their parent changed
  • fixed an issue where too many overrides in a tyCache mesh override listbox would not trigger vertical scrollbars to appear
  • fixed an issue where the tySlice modifier was not working correctly in object mode, for input geometry with non-uniform scale

tyFlow v0.16129 (September 24 2021)

Additions:

  • added speed option to tyWind turbulence settings
  • tyPreview $frame symbol can receive numerical suffix to define digit count in filename (see [?] menu in tyPreview for info)
  • added Property Transfer setting to exclude current event’s particles
  • added option to resample target hierarchies in Resample operator (see docs for more info)
  • added particle include/exclude options to Rotation operator neighbor align mode
  • added proper distance weighting to Rotation operator neighbor align algorithm

Bug fixes:

  • fixed an issue where playback of lowres cloth could trigger unnecessary 100% CPU utilization
  • fixed an issue where children of a wobble particle would inherit the same wobble settings (which doesn’t make sense)
  • fixed an issue where wobble particles wouldn’t store the index of their parent particle
  • fixed an issue where enabling symmetrical mode on a tyWind helper wouldn’t affect its bounding box
  • fixed tyFaceExtrude scale/extrude variation (visible patterning was occurring despite expectations of randomness)
  • fixed issues where Resample operator child ordering could prevent proper Resample optimizations later on
  • fixed an issue where open edges mode of tySelect modifier was not working properly for edge sub-object mode
  • fixed an issue where the Limiter operator’s spin variation spinner wasn’t enabling/disabling properly
  • fixed an issue in tyPreview where the recursive path creation algorithm would sometimes fail when creating output files
  • fixed an issue where the frame deactivation mode of operator timing rollouts was not working properly
  • fixed race conditions that could occur in Script operator when setting/getting custom properties in a threaded loop

tyFlow v0.16128 (September 12 2021)

Additions:

  • added rotation align settings to Array operator
  • added “delete keys outside of time range” option to tyFlow spinner right-click menu
  • added export groups option to operator filters
  • added new Bounds Fracture operator options, giving more control over which bounding box axis is sliced
  • added tfMatrix rotation functions to Script operator
  • added interpolation curve control to tyLooper modifier
  • added seed by time option to Rotation operator

Bug fixes:

  • fixed an issue where VRay proxy data (loaded from an .abc file) containing multiple mesh sub-elements would not have proper sub-mesh transform offsets
  • fixed an issue with certain operators where timing modes wouldn’t work correctly if sim time step set to value not evenly divisible by frame tick count
  • Birth Objects operator now respects internal scale multiplier of input VRayProxy objects
  • Birth operator particle count over time made independent of simulation time scale
  • tidied up the Voronoi Fracture operator rollouts
  • fixed a regression where tySwitcher settings in the Export Particles operator stopped working correctly
  • fixed a Birth Skeleton crash that could occur when “cull tiny junctions” is enabled

tyFlow v0.16127 (August 11 2021)

Additions:

  • added tyVertexOrder modifier for re-ordering the vertices of a mesh, based on the proximity to another mesh or object

Bug fixes:

  • fixed a regression affecting VR5 CPU mode in Max 2022
  • fixed an issue where selecting a PhoenxFD container in relevant fluid operators would crash Max 2022

tyFlow v0.16126 (August 8 2021)

Additions:

  • added deformation relax mode to tyRelax modifier
  • added normalize-by-crease-angle setting to Modify Bindings cloth inflation parameters
  • tidied tySplines object rollout and added new sort splines setting
  • added “preload all” option to tyCache object
  • added surface option to tySelect normals mode, for selecting facing within some threshold to the closest normal on the surface of a mesh
  • added de-activation option to operator Timing rollouts
  • added ability to set export channel names in Export VDB operator

Bug fixes:

  • fixed a regression where the tyParticleController stopped working in the last build
  • fixed an issue that could result in tyLooper modifier freezing max
  • bounds fracture particle IDs should now be more consistently ordered
  • fixed a name duplication issue with the “exportObjectsObjectID” MXS property of the Export Particles operator
  • fixed an issue (in VR5) where tyCache/tyFlow instance material overrides would not render
  • removed an artificial limit on the max internal separation limit between chunks in the Voronoi Fracture operator

tyFlow v0.16125 (July 23 2021)

Additions:

  • added more sibling align options to Rotation operator

Bug fixes:

  • tyParticleInterface updated to v2
  • fixed a regression which prevented tySelect’s face selections mode from working
  • “Additional geometry” rollout of Export Particles operator can now take input that would have previously generated a circular dependency error, so you no longer have to create a secondary flow to export objects that are dependent on the flow
  • fixed an issue where the Shell operator was corrupting particle volume computations
  • flows with looping events (events that eventually connect back to themselves) will no longer be static, even if they only contain static operators
  • fixed an issue where the tySplineMesher modifier couldn’t be instanced across multiple spline objects
  • tyCollections will no longer import other tyCollections that are set to import objects of their same layer (to avoid infinite recursion)
  • fixed an issue where the CCCS thickness was internally clamped to a min value of 0.01, and spinners weren’t showing values in scene units
  • fixed an issue where the tyActor animation list didn’t have a vertical scrollbar
  • fixed an issue where inside/outside tests of the tyConform modifier would cause massive slowdowns
  • fixed an issue where PhysX calculations would still occur in a flow with PhysX ops that were all disabled
  • fixed a regression where “in order” mode of the Collision operator wasn’t working
  • improved performance of Birth Flow operator

tyFlow v0.16124 (July 5 2021)

Additions:

  • added tyMeshToSpline modifier, for converting the edges of a mesh into splines
  • tySelect now has an edge selection mode

Bug fixes:

  • fixed an issue where validity interval of tySlice modifier was affected by base node transform even when not in object slice mode
  • tyPreview now works with imported XRef Scene cameras
  • vastly improved speed of internal function from Max SDK used to collate spline data. Some scenes relying on heavy tySpline data (ex: hundreds of thousands of splines generated in a tySplineCache modifier) that previously took 15-20 seconds to compute now only take a couple of milliseconds
  • fixed an issue where the Edge Fracture operator would send particles to its output event even when the output event is disabled
  • fixed an issue where max could crash if the new “New Event” menu (from dragging the output of an operator to an empty place in the grid) operation was cancelled without clicking the menu item
  • fixed a bug in the tySelect modifier caused by improper dependent notifications being sent when a Texmap selector updates its texmap while evaluating
  • fixed an issue where .vrmesh files were not being properly loaded by tyFlow in Max 2022
  • fixed an issue where adding thousands of objects to a tyCollection could cause Max to freeze

tyFlow v0.16123 (June 26 2021)

Additions:

  • dragging the output node of an operator to an empty space on the grid will now give you a popup option to create and auto-connect to a new event
  • ALT + middle mouse drag can now be used to zoom the editor (as opposed to using the middle mouse wheel)
  • tidied up Actor Animation operator and also added specific pos/rot/scale exclusion settings
  • added “friction every substep” option to PhysX solver global settings
  • added custom float radius option to Particle Physics operator
  • added seed by time option to the Set Target operator
  • added absolute value mapping mode to Mapping operator
  • added symmetrical mode to tyWind helper
  • added axial proximity modes to Scale operator
  • added “align to binding neighbors” mode to Rotation operator (see docs for more info)
  • added seed by time option to Split operator
  • added individual axis constraints to tyRelax modifier

Bug fixes:

  • fixed some particle groups MXS name collision issues within various operators
  • fixed an issue in the Mapping operator where target channel was not selectable in both “mapping from target” modes
  • fixed an issue that could cause tyPreview to crash (in img sequence mode) once its internal buffers started to reach around 4gigs of RAM usage
  • fixed an issue where subframe interpolation of particles with modified pivot orientation would result in flipping
  • tidied ordering of tySelect modifier rollups
  • fixed an issue where multiple instanced Export Particles operators would still all export together even if some of them were disabled
  • fixed an issue where Mapping operator overrides assigned to disabled particle map channels were not working
  • fixed an issue where instancing multiple Script operators could cause one or more to fail, on file reload, with an “object not set to an instance of an object” error
  • distance/percent spinners in Birth Spline operator are now animatable
  • fixed an issue where merging tySpline objects between files could cause max to crash

tyFlow v0.16122 (June 13 2021)

Additions:

  • added per-frame variation parameter to Birth operator
  • added noise parameters to tySelect normals mode
  • added option in tyCache object to disable cache file enumeration (see docs for more info)

Bug fixes:

  • fixed an issue where tyFaceExtrude modifier could corrupt meshes with near-zero-area faces
  • fixed an issue where the Smooth operator would have no effect if auto smooth was disabled
  • fixed an issue where the “affect velocity” setting of the Link to Target operator wasn’t working correctly when time steps were less than 1 frame
  • fixed an issue where Rotation operator would reset the sim if a dependent object was modified, even while in rotation modes that don’t require dependent objects
  • fixed an issue where animating certain tyMesher parameters would not result in the tyMesher updating over time
  • fixed an issue where simulations set to manual reset mode would sometimes erroneously auto-reset
  • fixed an issue where certain operators could cause subframe transforms to generate incorrect
  • fixed an issue where clicking a multi-column operator would cause the editor grid to lose focus, resulting in keyboard input no longer triggering editor functions until the grid is clicked again
  • fixed various issues related to skinned actor mesh display and Camera Cull operators
  • fixed an issue where Bounds Fracture mesh center calculations were incorrect, causing incorrect slicing on meshes whose pivot isn’t centered
  • fixed an issue where Timing/Filter tests in the Property Test operator were also being done on target particles (erroneously), when properties themselves were tested from target particles

tyFlow v0.16121 (June 6 2021)

Additions:

  • Property Test actor animation test now works on both rig particles and root particles, so any particle from an actor rig can check where it’s playback animation is in terms of frames/percent
  • added “closest face on shape” mode to Rotation operator
  • added “affect particle shape scale” option to Scale operator, for changing particle scale independently of particle shape mesh

Bug fixes:

  • tyFlow can now utilize more than 64 logical processors
  • improved Alembic point cloud export (all properties are now saved on a per-particle basis, rather than a per-object basis)
  • fixed an issue where the Move Pivots operator was not working correctly if a Move Pivots operator had previously been applied to the same particle(s)
  • fixed an issue where the Edge Fracture operator was not properly assigning particle parent data to fractured particles
  • fixed an issue in the 3ds Max 2016 version of tyFlow, where sometimes the editor window would not draw correctly (operators appear as though they’re stretched to infinity and editor window is unusable)
  • fixed an issue where Surface Test first-vertex-distance mode would accidentally test true for particles within the distance threshold to [0,0,0]
  • fixed an issue where Spin operator travel direction mode wouldn’t work if particles were moving straight up
  • fixed a validity interval issue that could cause Redshift renderer to freeze after completing a frame, when a disabled flow with its retimer enabled is present in the scene
  • changed the behavior of the Edge Fracture operator, so that the “center pivots” option only affects new edge/corner fracture meshes, not the base mesh. This preserves the integrity of existing PhysX bindings
  • fixed an issue where tyActor mesh deformation velocities were being calculated incorrected, resulting in motion blur issues
  • fixed an issue where the Voronoi operator was not properly setting chunk siblings/parent values
  • fixed an issue where tyActor skinned mesh camera culling and cloth camera culling would not activate after adding a Camera Cull operator to the flow until the sim had been reset
  • fixed an issue where mesh velocities wouldn’t be imported properly, leading to invalid Surface Force results, in some situations
  • fixed an issue where tyActors importing meshes skinned to CS bipeds could have messed up deformations

tyFlow v0.16120 (May 19 2021)

Bug fixes:

  • fixed a modulus-by-zero regression in the Set Target operator (random mode)
  • fixed a regression in the Set Target operator (random mode) where the starting search index wasn’t random, only the successive search ordering, leading to heavily biased results
  • fixed an issue where Bounds Fracture extent ratios were not being calculated correctly for some particles, leading to improper fractures
  • fixed an issue where not all new fractures were being sent out of a Bounds Fracture operator with a valid output

tyFlow v0.16119 (May 15 2021)

Additions:

  • added volume culling options to tyCache object
  • added filter rollout to Spline Paths operator

Bug fixes:

  • fixed a regression causing various raycast-dependent functions to perform much slower (point inside surface tests, for example). Various operators are much faster now, when working with many particles (for example, Birth Voxels is now 25x faster in tests generating 2 million particles inside a volume)
  • fixed an issue where the real-world gravity value in the Forces operator (and global PhysX settings) was 2x as strong as it should be
  • fixed an issue where the target bindings mode of the PhysX Bind operator could crash once too many particles enter the event
  • fixed an issue where the tyPush modifier could give a strange result depending on the object’s smoothing group configuration
  • improved efficiency of custom property data structures (clearing a 5 million particle flow containing custom per-particle properties is now 20x+ faster in some tests)
  • fixed an issue where tyLooper MXS access was bugged
  • fixed an issue where the Weld operator could trigger a crash if particle pivots were centered afterwards
  • fixed an issue where Birth Flow/Flow Update were not reading instance materials from tyCaches
  • fixed a memory leak where VDB meshes weren’t being properly cleared when a simulation was reset
  • fixed an issue where tyPreview was generating a MAXScript Listener error when in two-lights mode
  • fixed an issue where subframe interpolation of per-frame actors/cloths in a tyCache was not working correctly, resulting in moblur artifacts, flickering particles, etc. (affected caches must be re-exported)

tyFlow v0.16118 (May 9 2021)

Additions:

  • added max breaks per frame option to PhysX Bind operator (see docs for more info)
  • added “first child only” option to Particle Bind operator family bind settings
  • added size multiplier to Display operator, and ability to set specified value as default
  • added position offset controls to Brick Fracture operator
  • added slice plane separation option to Voronoi Fracture operator, for creating gaps between fractures without having to scale particles down
  • particle bind solver steps is now an animatable property

Bug fixes:

  • fixed an issue where the Set Target operator’s “random” mode was not nearly random enough in certain situations
  • fixed an issue where Export VDB operator was not properly exporting velocity data
  • fixed an issue where deleted operators could still cause circular dependency errors
  • fixed an issue that could cause a crash when using Physical cameras in a Camera Cull operator
  • fixed an issue where Alembic point cloud orientation values were not obeying the Export Particles up-axis setting
  • fixed a crash that could occur during element mesh extraction
  • removed a 150/kdop hit limit in the CCCS which could cause collision failure when hires cloth hits a lowres collider
  • fixed an issue in the Modify Bindings and PhysX Modify operators where the min/max operations were not working correctly

tyFlow v0.16117 (May 2 2021)

Additions:

  • added Bounds Fracture operator, for slicing particles along their longest local bounding box axis (ideal for chopping up long, thin particles)
  • added ability in Export Particles operator to manually reseed operators with a particular value, also added tySeedIndex symbol to Export Particles path parser, so you can automatically export to a folder/filename containing the reseed value
  • also added tyFlowName symbol to Export Particles path parser

Bug fixes:

  • [tangential]: docs.tyflow.com and forum.tyflow.com both switched to https
  • fixed an issue where tyCarve smoothing groups would be all messed up
  • fixed an issue where PhysX bind deformations would be disabled if PhysX bind breaking was disabled
  • fixed a PhysX issue related to how convex hulls were cooked (in rare cases a crash could occur because PhysX was not allocating the proper amount of RAM for hull vertices)
  • fixed an issue where divide operation in VDB Modify operator could crash during divide-by-zero
  • fixed an issue where the Display operator single channel mapping display mode was displaying with flipped UVW.y coordinates

tyFlow v0.16116 (April 24 2021)

Additions:

  • added filter rollout to Position Raycast operator
  • added max neighbors setting to property transfer operator

Bug fixes:

  • fixed an issue where tyFlow was not compatible with Phoenix4.4 in 3ds Max 2022
  • fixed an issue where tyActor imported PhysX binds were having issues when connected source particles were scaled
  • fixed Particle Bind family bind functionality to match the fix that was recently applied to the PhysX Bind operator
  • fixed an issue where modifiers on top of VRay proxy objects were being ignored when the objects were input into a tyFlow system
  • fixed an issue where VRay proxy meshes loaded by tyFlow would have improper material IDs
  • fixed an issue where the center pivots option of the Element Fracture operator was not working correctly

tyFlow v0.16115 (April 15 2021)

Additions:

  • added Timing rollout to Script operator (see docs for more info since it works differently than other operators)
  • added stuck IZ limit option to Particle Bind Solver settings (see docs for more info)

Bug fixes:

  • fixed an issue that could cause the CCCS to crash with error 13 on newer GPUs during matrix-vector multiplication
  • further improved CCCS memory handling - CCCS now uses rolling memory buffer so that VRAM won’t overflow even when huge number of collisions are processed (this makes VRAM usage for extremely highres cloth meshes much more efficient). “Minimal/Tiny” VRAM usage modes also removed since they’re no longer necessary
  • further improved CCCS performance - IZs are now periodically optimized each IZ iteration, resulting in faster IZ processing overall. First IZ iteration now treated as hybrid impulse iteration due to non-overlapping impact results. Combined, these improvements result in solver speedups on very dense meshes
  • fixed a regression that could cause tyActors using tyParticleSkins to crash
  • fixed an issue where Max 2022 tyModifiers would all display their names as “Object”
  • fixed an issue where bind to parent and siblings wouldn’t work simultaneously in the same PhysX Bind operator
  • fixed an issue where velocity inheritance was not working correctly in Object Bind sticky mode
  • fixed an issue where copying an operator (non-instanced) would instance any internal spinner controllers
  • fixed an issue where Birth Voxels “nth” mode would emit on subframes
  • fixed an issue where Script operator “GetAge” function was returning particle age in ticks, rather than frames. Also added “GetAgeTicks” function to return age in ticks
  • fixed an issue where multiple Spline Paths operators in the same flow could not select the same tySplines object

tyFlow v0.16114 (April 4 2021)

Additions:

  • 3ds Max 2022 now supported
  • added new tyRelax vertex filtering modes
  • added “multiply original” mode to PhysX Modifiy operator
  • added tyPush modifier for pushing vertices along normals, or local/world directions
  • added fps multiplier to tyPreview, for implicit fps increases without needing to change scene time settings (example usage: export a slow motion image sequence without needing to change any scene frame range or timing settings)
  • added “short circuit” option to binding search mode of Property Test operator
  • added ability in tyProperties modifier to save scene node handle to custom float channel
  • added stuck IZ jitter option to CCCS settings (see docs for more info)
  • added impulse multiplier option to CCCS settings
  • added new VRAM usage modes to CCCS settings
  • added implicit parent option to tyProperties helper (see docs for more info)
  • added timing/filter rollouts to PhysX Shape operator

Bug fixes:

  • fixed a major issue causing CUDA to hang in many setups (on 2080ti GPUs and newer)
  • improved CCCS memory usage
  • fixed an issue where tri/quad layouts were skewing tyRelax results…also added setting to enable/disable invisible edge processing
  • fixed an integer precision error that could cause operator filters to work incorrectly when input values were very large
  • improved Modify Bindings operator performance when inflating many small, individual cloths
  • fixed an issue where the Export Particles tySwitcher override was not working
  • fixed an issue where tyCaches would not properly apply mapping overrides to cloth meshes in certain circumstances
  • fixed a divide by zero issue when particles have a mass of 0
  • (hopefully) fixed an issue where tyPreview progressive rendering would de-activate randomly, causing flickering
  • fixed an issue where tySelect was not adjusting soft selection correctly, in certain selection modes, when grow/shrink was not 0

tyFlow v0.16113 (March 18 2021)

Additions:

  • added new simulation reset mode > “Auto [on time change]“. The simulation will only reset, once it has detected a change, if the time slider is moved
  • added more clustering options to PhysX Bind operator
  • added “random” mode to Cluster operator
  • added filter rollout to Cluster operator
  • added mesh sampling options to tySelect Mesh mode

Bug fixes:

  • fixed a regression where viewport styles were not being properly restored after a tyPreview completed
  • fixed issue where Scale operator proximity multipliers were not all unbounded
  • fixed an issue that could cause the Subdivide operator to crash while querying the tyFlow’s node during threaded subdivision operations
  • fixed an issue where tyActors importing both particles and skinned meshes with “included unused particles” enabled would be glitchy

tyFlow v0.16112 (March 13 2021)

Additions:

  • added new “polygons” option to Birth Surface operator, and renamed “faces” option to “triangles”
  • added more options to the spinner right-click “set keys” menu
  • added trajectory interpolation settings to tySplines object
  • added option to delete particles in Camera Cull operator
  • split “default lights” tyPreview option into “1 light” and “2 light” options
  • Display operator “custom float” and “velocity magnitude” color modes will now be multiplied by operator color picker value (so they will tint the selected color, instead of merely appearing as a black and white gradient)

Bug fixes:

  • Shape operator instance material inheritance now works on group members, when “split group members” is enabled
  • changed Object Bind proximity setting to be more intuitive, using distance to closest surface point, rather than projected offset point to do proximity calculations
  • fixed an issue where instanced pblock controllers inside flows would not survive file save/load
  • fixed a PhysX Fluid operator race condition
  • fixed an issue where Growth operator SC algorithm was not sending particles out when connected to another event
  • fixed an issue where PRT export would not export all custFloat/Vec channels in some cases
  • fixed an issue where changing an operator’s timing from the right-click menu was disconnecting it from any attached events
  • fixed an issue where resample angle binds would result in a crash (by disabling angle bind resampling, since it should not be possible in the first place). Furthermore, made it so only stretch binds can be resampled (ie, shear/bend/volume are also excluded)
  • fixed an issue where duplicating a flow could result in incorrect Particle Bind operator viewport bind display
  • fixed some issues related to how the Resample operator determines siblings relationships between new particles
  • fixed an issue where changing a tyCache setting wouldn’t update viewport display until the time slider was moved
  • fixed a crash that could occur in some setups during cloth collision initialization

tyFlow v0.16111 (March 7 2021)

Additions:

  • added tyRelax modifier, which is an optimized alternative to the built-in Relax modifier, ideal for relaxing high resolution meshes with a lot of relax iterations
  • added spline normal option as the default extrude option for tySplineMesher in extrude mode
  • added “clamp to distance” option to Path Follow attraction settings
  • renamed Property Test “sibling type” option to “sibling index” and added option to specify a specific child index
  • added “oldest/youngest” sort filter to Set Target operator, for setting target to oldest/youngest particle within the search radius
  • added camera frustum select mode to tySelect modifier, for selecting vertices/faces within a camera’s FOV
  • added “unique ID per bind” setting to Particle Bind operator
  • added “cluster by ID” setting to tySplines object
  • added new color source options to Display operator

Bug fixes:

  • fixed an issue that was causing massive slowdowns during VDB nearest-surface operations
  • fixed an issue where tySelect particle simulation mode export groups setting was not working correctly
  • fixed an issue where tySplineMesher could crash if chosen extrude normal was parallel to all subsplines
  • fixed various other tySplineMesher extrude issues
  • particle link update routine is now multi-threaded, regardless of how deep the link hierarchy is (previously it was only threaded for a link hierarchy depth of 1).
  • fixed a regression that could cause a crash to occur in PhysX flows containing shape-less particles.
  • fixed an issue where simulations would reset at rendertime if a disabled operator had a render-only setting enabled
  • fixed an issue where Script calls to “GetObject” would return an object that would not respond to certain GetClosestXXXX queries, if the object was already added elsewhere in the flow
  • fixed some issues related to how the tySplines object does bind welding
  • fixed an issue where Tets operator matID value was being treated internally as 1-based instead of 0-based (so matIDs were offset by 1)
  • fixed an issue where PhysX linear Y/Z limits were not being inherited properly from tyBinds across multiple tyActor setups
  • fixed an issue where total particle count reported by the editor would be incorrect if any particles were deleted
  • fixed an issue where copy+pasting Display operator colors was pasting the wrong value
  • fixed an issue where Display operators were displaying geometry colors with the wrong gamma value
  • fixed an issue where Script operator function caching was not working in all cases, resulting in execution slowdowns

tyFlow v0.16110 (February 27 2021)

Additions:

  • tyFlow CUDA version requirements raised to CUDA 11.2. Please ensure your GPU driver version is at least 461.09 and that you download and install the updated tyFlow CUDA DLL pack.
  • added “de-activate smoothed particles” option to Temporal Smooth operator, so that it can work directly on Cloth/PhysX setups rather than needing to work in a reference flow. Additionally, the Temporal Smooth operator now evaluates at the end of the timestep for the same reason
  • added object index tracking to Position Object operator

Bug fixes:

  • fixed an issue where a crash could occur when duplicating an object in a layer referenced by a tyCollection
  • fixed an issue where the tySpline retimer settings were remaining greyed out despite the checkbox being enabled
  • (hopefully) fixed the issue where click the “Create New” button in the Spline Paths rollout could sometimes crash max
  • fixed an issue where an operator’s settings would not appear in the rollup panel when it’s first dragged into a flow, even if it’s selected
  • fixed an issue where quaternion values saved to exported Alembic point cloud files were not correct
  • fixed a rare issue where convex hull generation could hang during PhysX calculations, causing max to freeze
  • fixed an issue that could result in freezing/crashes when more than one PhysX sim is present in the same scene
  • improved performance of PhysX Convex/Mesh hull cooking

tyFlow v0.16109 (February 23 2021)

Additions:

  • added “sharp mitering” option to tySplineMesher spline orientation mode
  • added “multiply by density/age” options to tySelect particle selection mode, for softening selections based on various particle properties
  • added phase parameter to Script operator API noise functions
  • added curl noise function to Script operator API
  • tyCache can now export particle age data
  • added option for tySelect soft selections to respect starting soft selection intensity
  • PhysX Modify operator can now change PhysX Shape friction/restitution properties
  • added friction/restitution combine mode options to general PhysX rollout
  • added ability to access custom floats from maxscript during Export Particles object export (so you can assign floats as object properties) (click [?] box in Export Particles object export MAXScript rollout for more info)

Bug fixes:

  • fixed a regression where cloth inflation was not working properly when cloth tearing was enabled
  • improved tySplineMesher default mitering
  • fixed issue where tySlice random flip options weren’t working correctly
  • fixed some tyCache subframe interpolation issues (forward-integration of cloth/actor/etc velocities was causing jittering in moblur and slowdown retimings….which is now fixed by using more accurate backwards-integration)
  • fixed an issue where listbox “Add…” menus could allow circular references to be created
  • fixed an issue where the Force operator’s custom vector channel dropdowns were showing custom float channel names instead
  • Particle Break operator is now considerably faster in per-particle break mode

tyFlow v0.16108 (February 16 2021)

Additions:

  • added option to disable tapering on closed splines in tySplineMesher modifier
  • added editor buttons for enabled/disabling/refreshing a simulation
  • added ability to switch editor rollups to left side of editor grid (from editor “layout” right click menu)
  • Script editor API moved to secondary window so you don’t have to constantly scroll up and down to reference API functions
  • added GetObject(name) function to Script operator, for run-time access to any scene object without the need to add them to the Script operator object listbox
  • Script operator now has unified “tfMesh” class for retrieving both particle and object mesh data (use documented “GetMesh()” functions for retrieving a mesh). Legacy tfObj mesh data functions still work but are deprecated (for example, instead of tfObj.numVerts, now use tfObj.GetMesh().GetNumVerts(). All such functions are listed in the API documentation)
  • added “every nth” option to Display Data operator

Bug fixes:

  • fixed an issue where tySelect wasn’t calculating mesh selections properly if a world-space modifier was applied to the input object(s)
  • (hopefully) fixed a bug in the VDB Copy Out operator which could result in a crash due to problematic pointer referencing
  • fixed a regression where deconverted cloths would not inherit particle mapping overrides
  • fixed an issue where Collision operator bounce vectors were not being calculated correctly
  • improved the way the CCCS handles cloth tearing. Tears are now less likely to cause solver instability
  • fixed an issue where exporting particles to objects wouldn’t respect particle pivot modifications
  • fixed an issue where deleted particles were not always destroying their binds
  • Spline Paths operator now calculates particle velocities more accurately when “enable on substeps” disabled, leading to better retiming results
  • Particle Bind Solver partitioning now allocates double the partitions, which helps prevent indeterminacy issues when “strict determinism” is enabled
  • fixed an improper IKey->IBezFloatKey cast that could cause the tyFlow spinner right-click menus to crash max during calls to Set/GetKey
  • updated to latest build of OpenVDB, which also fixed issue with VDB intersection mode not working correctly
  • tyPreview camera list scene camera names are now sorted alphabetically

tyFlow v0.16107 (February 07 2021)

Additions:

  • you can now override particle meshes in tyCaches with scene geometry (new Meshes rollout in tyCache objects)
  • added the ability to offset the evaluation priority of any event
  • added the ability to display event evaluation orderings in the editor right-click menu
  • added “index is ID” settings to Birth Flow/Flow Update operators
  • added UVW source options to Scale operator (texture rollout)
  • added position offset parameters to Position Raycast rollout
  • added “zero distance if inside volume” option to Surface Test
  • added ability to execute pre/post-export MAXScripts in Export Particles operator (for scene object access/modification before/after exporting)
  • added option to sort binds in tySplines object, for consistent spline chain orientation
  • Birth Skeleton “max length” param now has ability to subdivide branches if value set to less than length of existing branches
  • added “target shape mesh random vertex pos” option to Move to Target operator
  • Brick Fracture operator now has timing/filter rollouts

Bug fixes:

  • fixed a bug where certain particle channels were not caching correctly
  • further improved performance of tySmooth modifier (ex: ~2.5x faster on editable mesh with 50 elements and 2 million verts)
  • Flow Update operator can now track particles even if they all have an ID of 0, using their index when the “track by ID” setting is disabled (previously it only worked if the ID was -1)
  • further improved performance of tySplineMesher in extrude mode (much faster now, tessellation is also cached between parameter adjustments)
  • fixed an issue where PRT sequences were not loading correctly if unsigned integers used for ID storage
  • improved performance of target linking algorithm on flows where maximum particle hierarchy depth is 1
  • fixed an issue where tySelect additive selections were getting reset for the wrong reasons when “auto update” enabled. Also set “auto update” default to false. Also made sure an initial bake would occur on file open if baking enabled.
  • fixed an issue where Temporal Smooth rotation/scale settings were swapped
  • Custom Properties operator multipliers can now take negative values
  • Scale operator can now take negative scale values
  • fixed a bug where raycasts in various operators would sometimes fail to hit proper faces if collider faces were scaled
  • Find Target operator set to follow particle targets will skip over particles if they have no target
  • improved time to initialize hires instances when rendering with VRay 3.x/4.x(ex: a piece of geometry with 500k polys that was instanced 100k times was taking 15+ minutes to initialize due to inefficiencies in calculating instance bounding boxes…now it takes mere seconds)

tyFlow v0.16106 (January 30 2021)

Additions:

  • added “View last tyPreview…” item to tyPreview File menu (and relevant “grab viewport” max menus), allowing you to open the last tyPreview file that was exported (requires at least one tyPreview to have been created using v0.16106+)

Bug fixes:

  • fixed an issue where tyFlow modifier initialization was contributing to significant lag when first opening the 3ds Max modifier panel dropdown list
  • improved performance of tyParticleSkin modifier on meshes with underlying deformations
  • fixed an issue where tySplineMesher in extrude mode could crash if the input spline has many coincident knots
  • improved performance of tySplineMesh “smooth” option in extrude mode
  • fixed unnecessary ffmpeg errors printed to MAXScript listener when no audio tracks active in scene
  • fixed some issues relating to flipped surface normals created by tySplineMesher in extrude mode

tyFlow v0.16105 (January 27 2021)

Additions:

  • tyPreview can now export mp4s with audio (note: see tyPreview docs for important information about activating this feature)
  • PhysX Bind operator in tyBind mode now has option to inherit break/deform settings
  • added “All Siblings In Event” test to Property Test, to check if all of a particle’s siblings are in the same event
  • PhysX Binds transferred from actor to flow will now scale with the actors properly
  • added proximity sphere display to Particle Bind operator
  • PRT export in Export Particles operator can now export custom float/vector data
  • added absolute direction mode to Position Raycast operator, as well as origin offset parameter

Bug fixes:

  • fixed an issue where distance/direction to target option in Script Properties operator weren’t returning correct results
  • fixed an issue where Custom Properties operator interval wasn’t being set properly for velocity-affecting modes, resulting in a static sim
  • fixed a regression where seed values in the Edge Fracture operator were not working
  • fixed a crash that could occur in the tyCarve modifier if a degenerate slice had less than 2 control points

tyFlow v0.16104 (January 22 2021)

Additions:

  • added $tySwitcherIndex as path symbol to Export Particles operator, for including switcher index override in filename
  • added MXS functions for submitting PRT/tyCache jobs to deadline from Export Particles operator
  • added GetParentID function to Script operator
  • added “Direction to Target” vector option in Custom Properties operator and “Distance to Target” float option in Custom Properties operator
  • added timing/filter rollouts to Shape Remove operator
  • added “On Shape Vertices” mode to Spawn operator
  • added line offset option to Display Data operator

Bug fixes:

  • fixed an issue where a tyActor referencing deleted/missing particles in a cache or flow could cause a crash.
  • vastly improved performance of tyConform modifier on input splines with a huge number of segments/knots
  • fixed an issue where putting a tyParticleSkin on a mesh with underlying deformations would give an improper result
  • improved performance of Modify Bindings operator on large collections of binds
  • fixed an issue where the Display Data operator was not displaying correct radius values
  • fixed a bug that could cause Max to crash if a particle hits a PhysX Mesh collider when CUDA is enabled
  • improved PhysX performance (up to 2x in some cases) when not using an operator reliant on contact reporting (contact reporting ops are: PhysX Collision [with valid output connection], Spawn [set to PhysX Contact mode], and Voronoi Fracture [set to PhysX Contact mode])

tyFlow v0.16103 (January 17 2021)

Additions:

  • tyActors can now take raw tyFlow/tyCache particles as input, allowing you to input one particle system as an actor into another
  • PhysX binds setup in the flow referenced by a tyActor helper, can now be auto-imported into the flow containing the resulting actors (using the tyActor mode of the PhysX Bind operator…similar to how tyBind importing works)…in other words, you can import entire PhysX setups into other flows.
  • PhysX Bind tyActor mode now can filter imported binds by ID
  • added clustering options to Property Test operator neighbors test - now you can test only neighbors from/excluding certain particle clusters
  • added “first sibling” option to siblings mode of Set Target operator
  • added checkbox in Cloth Bind operator so you can disable particle mass override
  • Property Transfer operator now has “cluster transfer” option, for transferring properties to members of a particle’s cluster, rather than its neighbors
  • Property Transfer operator now has “absolute” value transfer mode
  • added spline relax settings to tySplineCache modifier
  • option added to tyParticleSkin modifier to respect vertex selections
  • added “Delete” option to operator test actions (allows you to “send” particles to deletion event without requiring an actual event in the flow containing a Delete operator, which can help keep flows tidier)
  • added ability to set operator “test TRUE action” from operator right-click menu
  • Script operator has tfBind functions to control bind breaking
  • tyFaceExtrude operator now has segmentation options
  • added enable/disable filters option to operator right-click menus
  • tyProperties modifier has setting to assign particle mass
  • added GetParticleMassByIndex to tyParticleObjectExt interface, as well as tyFlow MXS interface

Bug fixes:

  • copy+pasted events will now retain their connections and relative positioning
  • fixed an issue where the CCCS repulsion multiplier value had no effect
  • improved performance of tyConform modifier on input splines with huge numbers of points
  • fixed the way inflation normalization works in the Modify Bindings operator (previously it would lead to strange results and almost always needed to be disabled)
  • fixed an issue where filters weren’t working correctly when one or more were disabled and then re-enabled
  • improved simulation reset time for internal PhysX system when many collision contact points are stored
  • fixed an issue where meshes derived from splines with only 2 knots could crash max when calculating their bounding box
  • fixed a bug where putting a Smooth operator before a Cloth Bind operator could cause a crash

tyFlow v0.16102 (January 9 2021)

Additions:

  • Spawn operator can now mark spawned particles with a custom float value
  • added forward axis settings to tySplineMesher (knots or world orientation mode)
  • simulation time scale parameter is now animatable
  • added Element Centers mode to Birth Surface operator
  • added “include dependent tyMesher geo” option to Export Particles operator (see docs for more info)
  • added point size options to VDB Display operator

Bug fixes:

  • fixed an issue where the axis buttons had no effect on spline orientation in world orientation mode
  • fixed a crash that could occur in the PhysX Modify operator due to improper joint-type pointer casting
  • fixed an issue where tyCache “blank” out-of-range type could cause issues when scrubbing the timeline
  • fixed an issue where the Subdivide operator was no longer working in Max 2021.3
  • fixed an issue where interpolated splines were not getting proper scale/tm/mapping/etc data from underlying tySplines, resulting in improper tySplineMesher results
  • fixed an issue where the Fuse operator would return incorrect results for small convex hulls (tolerance should now be accurate down to scales of 0.005 world units)
  • fixed an issue where tyMeshers were sometimes generating and filling a lot of unnecessary mapping channels
  • fixed a regression that could lead to a crash when tearing cloth (specifically when using tySlicers)

tyFlow v0.16101 (January 5 2021)

Bug fixes:

  • fixed an issue where tyBind local transform calculations didn’t factor in pivot point changes to input objects…so resetting object xforms was necessary for tyBind to work correctly, if object pivots had been moved
  • fixed an issue where the Spread operator’s noise function was not spreading properly in 3 dimensions
  • fixed a regression where PhysX Bind operator limits weren’t functioning the same way they used to (limits of 0 on binds would make the binds completely stiff and ignore spring values)
  • fixed an issue where multiple PhysX joints could be created between the same two particles by multiple PhysX Bind operators
  • fixed an issue where tyBind bounding boxes were not generating correctly
  • fixed an issue where tyBind twist limits would not produce a correct result, depending on input object orientation/order
  • stretch/compress controls enabled for PhysX Bind tether settings
  • operators which import FumeFX data should now respect “start frame” offset setting in FumeFX settings

tyFlow v0.16100 (December 31 2020)

Additions:

  • added tyBind helper object which allows you to precisely specify location of PhysX binds on input tyActor rigidbodies
  • Modify Bindings and Modify PhysX operators can now adjust bind break thresholds
  • tyCache objects will now automatically disable instancing in both viewport and render if modifiers are present on the object (previously you had to manually uncheck GPU/render instancing if modifiers were present)
  • added “convert input to mesh” override to tyParticleSkin

Bug fixes:

  • fixed a regression where tyParticleSkin could crash if input particles did not have assigned meshes
  • fixed an issue where Script operators could not assign UVW values to mapping channel 0
  • fixed an issue where the Particle Bind CCCS radius value was accidentally treated as a diameter value (it was resulting in binds getting half the collision radius they should be getting)
  • fixed a regression where tyParticleSkins imported into tyActors would not display their skinned meshes in the resulting flow
  • fixed an issue where max could crash when doing threaded deletions of native Mesh pointers
  • fixed a crash that could occur in the Modify Bindings operator if it modifies tearable cloth with aerodynamic forces
  • deprecated “tyActor node properties” rollout in tyActor helpers. Users should use tyProperties modifiers instead.
  • fixed an issue where the Speed operator noise value was not acting as an additive multiplier
  • fixed a regression where tyCache objects set to render as meshes would still render as instances in vray

tyFlow v0.16099 (December 20 2020)

Additions:

  • tyParticleSkin modifier can now use any particle object as its input (ex: tyCache) …(note…the physx tearing mode is only supported by tyFlow input objects)
  • tyParticleSkin modifier can now also take any mesh as input (treating vertices as particles), allowing it to act as an alternative to 3ds Max’s Skin Wrap modifier
  • added mode to taper by specific length in the tySplineMesher modifier
  • added particle bind count display to Display Data operator
  • Export Particles operator can now take generic path symbols in export filename (press [?] button next to path textbox for more info)
  • added MAXScript access to add/remove/enable/disable selector commands in tySelect modifier
  • added textbox in Script operator that can be used to auto-load in custom C# assemblies
  • added slice optimization checkbox to tyBend
  • typing keyboard characters into the operator listboxes now supports multi-character search (for example, previously typing “F” then “L” would select the first operator starting with “F” then the first operator starting with “L”, whereas now it will select the first operator starting with “FL…”)
  • added option to toggle tearing of de-activated cloth particles in Cloth operator
  • Property Transfer operator can now transfer mass values
  • added “per step” option to Spawn operator
  • added “reset age” checkbox to Grow operator. When disabled, makes it easier to terminate global growth by age/eventAge
  • added “flatten axis” option to Property Test neighbor test (see docs for more info)
  • added filters rollout to Fuse operator
  • tyCollections will now send change notifications to dependent objects when any object in its import layers are changed

Bug fixes:

  • fixed a bug that could cause a crash when breaking splittable bindings using the Particle Break operator
  • fixed a regression causing vertex normals on input meshes to be calculated in an un-weighted manner
  • Scale operator UI will display if Texmap/Proximity mode is enabled
  • fixed an issue where reseeding operators could enable “seed by time” settings
  • fixed an issue preventing the Export VDB operator from exporting data correctly
  • fixed an issue where certain Script operator errors were displaying as chinese characters in the message log
  • fixed an issue which could cause a Script operator (with a working script) to generate an error if ESC was held during execution
  • fixed an issue preventing particle mapping/matID properties from transferring to cloth meshes

tyFlow v0.16098 (December 14 2020)

Additions:

  • added “Add” operation to Modify Bindings operator
  • added mesh inflation setting to Birth Voxels operator
  • added Property Collect operator, for collecting particles with a matching custom float value from the rest of a flow into a particular event
  • tyConform modifier now has option to only conform vertices inside or outside the target mesh
  • added variation parameters to operator Timing nth frame controls
  • Temporal Smooth operator will consume considerably less memory when only smoothing position data
  • Convex Fracture operator renamed Convex Hull operator, now also includes ability to simply convert entire particle into its hull, rather than doing a slower convex hull decomposition
  • tyCache UI now shows parent folder name preview
  • Export Particles now has option to set name of auto-created tyCache object
  • improved functionality of “occluded faces” mode of tySelect modifier. Now it will do a straight-forward inside/outside test rather than the more confusing ambient-occlusion-esque test it was doing before
  • Particle binds can now be processed by the CCCS (colliding as 3D lines with an assignable thickness radius)…new option to enable particle bind CCCS is in Particle Bind operator
  • added ‘invert’ option to Scale by texture functionality
  • tyPreview now has nth frame option for skipping frames when previewing
  • Birth Intersections operator now has relative velocity setting, for only generating particles between intersecting faces whose relative velocity is greater than some threshold
  • added “bakeAdditiveSelections()” function to tySelect MXS API
  • tyCache format now supports custom property (float/vector/tm) importing/exporting
  • Birth Flow/Flow Update operators can now import custom property data from tyCaches
  • Alembic point cloud export can now include custom float data
  • upgraded OpenVDB library to version 7.2.0
  • added new algorithm to improve tyWeld ‘cull overlapping faces’ mode
  • added new particle bind break mode to Particle Bind operator (see docs for more details)
  • added “binding count” operator filter
  • adding new variation parameters to Resample operator

Bug fixes:

  • fixed a bug where the children of cloth particles couldn’t be converted to cloth
  • fixed an issue where calling SetBinds in a Script operator could sometimes result in binds not being properly updated inside the GPU solver
  • fixed a critical bug where the threadInx argument of the threaded Script operator function was not always returning a correct value, thereby causing any scripts dependent on it to function incorrectly
  • fixed a bug where auto-created tyCaches after export would sometimes not work correctly
  • controller particles from the same cloth will now be considered siblings
  • fixed a race condition that could cause instability in the results of the tySelect modifier in certain selection modes
  • increased speed of Spline Paths operator when in particle bindings mode
  • if your flow has accidentally begun to generate a gigantic mesh in the viewport (ex: you’ve assigned a mapping override to a million hi-poly particles without toggling their display mode or disabling mapping override display), you can now interrupt/cancel the mesh generation by holding ESC, whereas previously the viewport would have just eventually crashed
  • Property Test custom value dropdown now shows existing vector channel names (relevant for vector value tests)
  • fixed an issue where tyFlow could hang if a VPN interfered with the update checker during startup
  • offloaded spline-particle-data-clearing functions to separate threads. A wait time and progress bar are no longer necessary
  • (hopefully) fixed rare crashing issue caused by buggy threadpool implementation for pointer deleter

tyFlow v0.16097 (November 27 2020)

Additions:

  • added Temporal Smooth operator for smoothing particle motion over time
  • added relative float options to Modify Bindings operator (see docs for more info)
  • added auto-freeze option to the tyUVWFreeze modifier
  • added node-based raycast mode to tySelect modifier
  • added ‘pinched vertex’ selection mode to tySelect
  • added tyVertexChamfer modifier for chamfering (ideally pinched) vertices (see docs for more info)

Bug fixes:

  • fixed regression causing tySelect to crash when used on editable poly objects
  • improved performance of Modify Bindings operator on large cloth meshes
  • fixed a bug where keyframing settings could crash the Modify Bindings operator
  • fixed a bug causing a pretty substantial memory leak during cloth/actor mesh retrieval

tyFlow v0.16096 (November 20 2020)

Additions:

  • added setting in editor right-click menu to enable MANUAL simulation reset mode - see “Simulation: Reset” section of docs FAQ for more info
  • added Position Displace operator, for moving particles along nearest surface normals relative to the values of a texmap (for easy sychronization of particle positions to render-only displacements like VRayDisplacement)
  • tyParticleController will now work with any object that exposes the IParticleObjectExt interface (ie, non-tyFlow particle systems, tyCaches, etc)
  • added “index is ID” option to tyParticleController (see docs for more info)
  • added cull-by-ID functionality to tyCache objects, as well as an option to toggle viewport display of IDs
  • tyPreview now has layer filtering, so you can define which scene object layers will be visible/hidden in a preview
  • Particles Physics collision radius parameters now has more radius-type options

Bug fixes:

  • fixed an issue where the Particles to SDF operator was not respecting Camera Cull operators when including particles of the same flow
  • fixed a bug that would cause Max to crash when opening the Graph Editor to an Export Particles operator. The same bug was also causing instability in some other 3rd party plugins as well (Sini Software’s plugins, for example)
  • fixed a bug that could cause tySelect to crash when it’s placed on editable poly objects when additive selections is enabled
  • fixed an issue where the Tet operator would not generate proper mesh UVWs when ‘particle per tet’ was enabled

tyFlow v0.16095 (November 11 2020)

Additions:

  • improved handling of cloth forces through Force operator (can enable this new handling method with addition of “cloth aerodynamics” toggle in Force operator)
  • keyframe rollout added to Custom Properties operator
  • added verlet integration option to Object Bind operator’s rotation settings, for transfering angular momentum to particles from bind movement

Bug fixes:

  • fixed a critical issue that could cause Max to become unstable/crash when more than 30 tyFlows exist in a scene (operator icon GDI object overflow)
  • fixed an issue where new tyFlow ‘x’ menu items were not appearing in Max 2020 and below
  • fixed a bug where a tyMesher could crash in certain circumstances if UVW data on input meshes was corrupted
  • fixed an issue where the tySplineMesher modifier was not updating properly if its input meshes were animated/deforming
  • seed value in Scale operator is now keyable
  • fixed an issue where inflation applied to 2D cloth meshes would introduce a lot of angular momentum
  • fixed an issue in the Mapping operator where decoupling source/target UVW channels was not working correctly
  • fixed an issue where the tyConform modifier was not adjusting spline tangents
  • fixed an issue where tyActor animations were not properly transferring angular momentum to particles
  • greatly improved accuracy of tyMesher UVW inheritance
  • fixed an issue where tyCache objects weren’t properly processing certain simulation group comparisons

tyFlow v0.16094 (October 25 2020)

Additions:

  • tyFlow objects, helpers, modifiers, etc should now be accessible from 3dsmax’s global search (‘x’) menu
  • Rotation operator sibling/parent/target align modes now have extra forward vector alignment options
  • Scale operator proximity settings now have noise options
  • Path Follow operator now has ability to choose closest spline or random spline to follow
  • added material ID override setting to VDB to Mesh operator

Bug fixes:

  • fixed an issue where the PRTUpdate operator was not properly updating the color channel
  • fixed an issue where the Surface Test operator’s Normal test “flip” option wasn’t working
  • fixed an issue where the Export Particles batch export utility was running the same export multiple times if the source operator was instanced multiple times in the flow
  • fixed an issue where tyConform offset values were not working properly on meshes with rotated Transforms
  • fixed a bug where tyActor scale animation was not transferring properly to dynamic PhysX rig particles
  • fixed a regression where “deforming meshes” option of tyCache element display wasn’t affecting cloth/spline/etc data

tyFlow v0.16093 (October 11 2020)

Additions:

  • added tyLooper modifier for seamlessly looping the animation of underlying geometry
  • added “don’t GET if value is 0.0” option in Custom Properties operator (see docs for more info)
  • added local object coordinates mode option to tyMesher
  • tySwitcher switch index is now an animatable property
  • added multithreaded self-union mode to tyBoolean modifier, which attempts to union all elements of the input mesh together
  • added object to split input object elements in tyBoolean modifier
  • Display operator in 3ds Max 2020+ now has ability to display particles with mapping overrides in a particular channel as instances in the viewport (previously adding mapping overrides to particles would disable instancing for those particles)
  • added new radius type options to Fuse operator
  • added octahedron default 3D shape
  • added extra scaling option to convex hull mode of Fuse operator
  • added use raw tySplineCaches option to tySplineMesher (see docs for more info)
  • added ‘limit repulsion VRAM’ option to CCCS settings (see docs for more info)
  • added GetSimIndexFromID function to Script operator, for converting target ID values into simulation indices
  • you can now change operator timing from the operator right-click menu
  • added sibling type test to Property Test
  • added “select dependent nodes” option to editor right-click utilities menu
  • added particle axis options to Surface Test “normal” mode, for measuring angle between a particle and the nearest surface normal
  • tySmooth modifier now has option to prevent smoothing across material ID boundaries
  • added soft selection weld threshold in tyWeld modifier, and element weld settings
  • Time Test operator now takes float values so you can test subframe particle ages

Bug fixes:

  • fixed an issue where the Particle to SDF operator was adding deleted particles to the VDB
  • fixed an issue where clicking the velocity Z checkbox of a Stop operator would display a dropdown menu
  • fixed an issue where tyActor meshes would sometimes not export to tyCache properly, resulting in corrupted caches
  • set various Shape operator array parameters to writable in MXS
  • fixed a bug where the Object Bind proximity influence setting was not working properly
  • fixed an issue where the PhysX bind count test of the Property Test operator was not working properly
  • fixed an issue where holding ESC during tyParticleSkin evaulation could prevent the status bar progress prompt from being cleaned up properly
  • fixed a bug where assigning descending values to cycle mode of Material ID operator would crash max
  • fixed a bug where deleting particles in a flow could cause tyParticleSkin meshes in a tyActor setup to generate incorrectly on cached frames

tyFlow v0.16092 (September 10 2020)

Additions:

  • added ability to select which GPU to use for CUDA calculations on multi-GPU systems (new GPU rollout in tyFlow objects)
  • added option for tyWeld modifier to respect vertex selections
  • added keyframe rollout to Spread operator
  • added “compatibility mode” in GPU rollout of tyFlow, which allows tyFlow to bypass problematic CUDA functions which are crashing on some multi-GPU systems, at the cost of a bit of performance
  • Fuse operator can now do convex hull overlap test between particles, for tighter and more accurate fusing proximity

Bug fixes:

  • made various tyProperties modifier properties non-read-only, so that you can set custom properties through MXS
  • optimized GPU memory utilization of CCCS impact zone processor by avoiding buffer re-initializations between frames
  • fixed tyCache particle interpolation issues causing transform skewing on subframes

tyFlow v0.16091 (September 7 2020)

Additions:

  • added ability to set Object ID from custom float data in Export Particles operator (objects export mode)

Bug fixes:

  • fixed a regression causing PhysX instability due to improper inertiaMassScale value being set
  • fixed an issue where tyFlow was having troubling finding its CUDA DLLs
  • fixed (most) issues related to tyMatrix.cu crashing the CUDA collision solver
  • fixed an issue where the tyProperties modifier could cause Max to crash due to improper assignment of used geometry channels
  • fixed an issue where actors were not inheriting the instance material of input tyProp objects
  • fixed a regression resulting in memory leaks while processing cloth/actor meshes during rendering
  • fixed an issue where Export Particles operator MXS functions were not being recognized by max in production builds
  • fixed an issue where the tyBend modifier was clearing vertex color data when subdivisions were enabled
  • fixed a regression causing flickery playback when time configuration “realtime playback” mode is enabled
  • fixed an issue where the CCCS could fail when certain vertices of cloth faces were de-activated with a Particle Switch operator and then moved with an Object Bind operator
  • fixed an issue where tyPreviews in max 2020+ had a 4 pixel outline on the right/bottom of the frame

Example Scenes 016 (August 24 2020)

  • added tyFlow_cloth_CCCS_blobbyFill_001.max: using the CUDA Cloth Collision Solver to fill text with inflated cloth.
  • added tyFlow_cloth_CCCS_book_001.max: using the CUDA Cloth Collision Solver to simulate the pages of a book blowing in the wind.
  • added tyFlow_cloth_CCCS_papers_001.max: using the CUDA Cloth Collision Solver to accurately prevent cloth intersections with sharp colliders.
  • added tyFlow_cloth_CCCS_petriDish_001.max: using the CUDA Cloth Collision Solver to simulate cells moving around and colliding in a petri dish.
  • added tyFlow_cloth_CCCS_splineSoup_001.max: using the CUDA Cloth Collision Solver to prevent intersections between parts of complex, simulated splines.
  • added tyFlow_cloth_CCCS_twister_001.max: using the CUDA Cloth Collision Solver to prevent intersections in twisting, folding cloth.

tyFlow v0.16090 (August 24 2020)

Additions:

  • added CUDA cloth collision solver (see FAQ for more info)
  • added relaxation parameters to tyConform modifier
  • added Export Particles operator MXS functions for programmatically generating caches (see Export Particles operator docs for syntax info)
  • added “GetClosestFaceAccurate” function to Script operator
  • added option to make spawn offspring count relative to particle property
  • tyConform can now use vertex normals as the conform direction (raycast mode)
  • added recursive subdivide mode to tySlice modifier
  • added resample options to VDB Copy Out operator
  • tyFlow’s various element split operators (Birth Objects, Element Fracture, etc) can now work with spline meshes, allowing you to split input splines by element while retaining the spline data required to convert them later to things like cloth
  • added “set” operation option to Particles to SDF operator
  • added point cloud cluster settings to Voronoi Fracture operator for increasing density of fractures around initial point cloud points
  • Voronoi Fracture operator relative-count settings now include various threshold options
  • added “treat post-step particles as new” option in Timing rollout (see docs for more info)
  • added 16, 112 and 124 time step options

Bug fixes:

  • modified layout of tyPreview window so that it doesn’t get cut off on screen resolutions with limited height
  • fixed an issue where PRT operators would not work if the input PRTLoader object had a space in its name
  • fixed an issue where tyCache-exported splines weren’t properly retaining internal mapping/transform data after reconversion to mesh
  • fixed an issue where non-VRay renderers were not being sent proper motion blur transforms from tyFlow
  • fixed a rare bug where the PhysX convex hull algorithm could crash
  • fixed an issue where new particles generated during a cloth tear would not have their event age synchronized properly
  • bone display option in tyPreview now applies to biped/CAT bones
  • fixed an issue where the VDB Export operator progress bar was not updating during manual export
  • made various optimizations to the tySelect modifier relating to the extraction of ngons from an input Poly object
  • fixed an issue where “assign randomized multi-material” option in utility menu was not working in Max 2021
  • fixed a bug where tyPreview was not properly exporting alpha channels in 3ds Max 2021
  • fixed an issue where changing a tyProperties modifier property would not necessarily trigger a simulation reset of dependent flows
  • fixed a crash that could occur when a VDB Copy Out operator copies an SDF grid into an event with a different voxel size
  • fixed an issue where certain Birth Spline setups could cause the Resample operator to crash
  • pushed Spline Paths evaluation after link/physx evaluation in the simulation stack, to prevent de-coupling of spline paths data and PhysX/linked particle data
  • fixed an issue where animating a tyBend gizmo over time wouldn’t trigger a modifier update over time
  • fixed an issue where grouped objects imported into a Shape operator would not export to tyCache properly
  • various element extraction functions have now been multithreaded and should perform faster (ex: Birth Objects element separation option)
  • fixed an issue that could cause the tySelect modifier to evaluate recursively
  • fixed a crash that could occur in the Element Fracture operator, if any element meshes are empty
  • Voronoi Fracture operator “particle filter” settings have been removed (these were old settings not related to the common “Filters” rollout of the operator)…please use the common filters of the operator instead
  • fixed a divide-by-zero error that could occur if spin values were sufficiently small
  • improved performance of tyFaceFracture modifier, when working with editable poly objects
  • fixed an issue that could cause the PhysX Fluid operator to crash when calculating particle hulls
  • fixed an issue where proximity collisions in the Collision operator were not contributing to resulting particle velocities
  • fixed an issue where certain shape-affecting operators (Smooth, Relax, Subdivide, Edge Fracture, etc) were overriding existing pivot offset values
  • fixed an issue where the tySplineMesher would ignore spline-related modifiers between it and any tySplineCache modifiers below it
  • fixed an issue where capped faces of splines extruded by the tySplineMesher modifier would not be given relevant matID values
  • fixed an issue where corrupted baseObject retrieval could prevent VRay from rendering particles properly
  • Modify Bindings inflation logic now works on cloth meshes derived from splines (ie, 2d inflation)

tyFlow v0.16089 (May 29 2020)

Additions:

  • added option to transform input grids with a scene node in the Birth VDB operator

Bug fixes:

  • fixed a bug where the tySplineCache modifier could create splines with a single knot
  • fixed a bug where particle operators could not be dragged into an event connected to the output of a VDB to Particles operator

tyFlow v0.16088 (May 27 2020)

Additions:

NOTE: This build introduces the newly-consolidated VRay setup, where a single tyFlow.dlo (for each version of Max) is compatible with all VRay versions (3.x/4.x/5.x). However, it is possible that the method used to merge all VRay code is still unstable. Please download with caution and assume that this build is NOT yet production ready.

  • merged VRay builds - no longer need 3.x/NEXT distinction…each build of tyFlow should now work with VRay 3.x/4.x/5.x for all versions of max from 2016-2021
  • added VDB Copy Out operator, for splitting VDBs out to multiple events, SDF morphing, etc
  • added y-up to z-up switch in Birth VDB operator
  • VDB Clear operator now has options to choose which grids to clear
  • added Occluded Faces mode to tySelect
  • added density values display to VDB Display operator
  • Element Fracture now has seed by time option
  • VDB to Mesh operator now has option to toggle mesh rendering

Bug fixes:

  • fixed an issue where custom bitmaps used for Display operator sprite mode would not display properly
  • fixed an issue where the “unify colors” rc menu option for Display operators was not copying colors with the correct gamma
  • improved accuracy of Occluded Elements mode in tySelect
  • fixed an issue where pick/add/remove/etc buttons on the VDB Modify Particles rollout were not working
  • fixed an issue where a tyBend applied to a spline would convert the spline to a mesh
  • fixed a bug where VDB meshes were not exporting to tyCaches correctly
  • VDB Display operator will no longer draw density points with a voxel value of 0
  • fixed editor window minimum resize width when rollout count > 1
  • fixed an issue where “save hit location” in the Surface Test operator wasn’t working
  • fixed an issue where Element Fracture operator was not retaining original element count when percent < 100
  • fixed a divide-by-zero issue in the Cluster Force operator

tyFlow v0.16087 (May 21 2020)

Additions:

  • added adaptivity setting to VDB to Mesh operator
  • mapping operator now has mapping from velocity magnitude option, in addition to regular velocity option
  • Position Raycast operator can now cast rays from regular meshes, not just tyIcons
  • VDB Solver operator now has relax UVWs option, for smoothing out advected UVWs
  • added Particle UVW mode to VDB Modify operator, for assigning particle mapping coordinates to voxels

Bug fixes:

  • fixed a crash that could happen when loading .vdb files with BLOSC compression
  • fixed a regression where clicking a Shape operator could cause the sim to reset
  • fixed UVW advection issues in VDB Solver operator, when time step not set to frame

tyFlow v0.16086 (May 19 2020)

Additions:

  • Birth VDB operator can now load .vdb files from disk

Bug fixes:

  • fixed a crash that could occur when dragging the output connector of an event
  • fixed a crash that could occur when loading the quickType TAB menu over a VDB event

Example Scenes 015 (May 18 2020)

  • added tyFlow_shrinkWrap_001: simulating shrink wrap with tyFlow cloth
  • added tyFlow_hangingBinds_001: using a Script operator to generate particle binds
  • added tyFlow_lightPulse_001: using a Script operator to generate growing light pulses
  • added tyFlow_fishFlock_001: simulate schools of fish avoiding sharks with the Flock operator
  • added tyFlow_skeletonTree_001: create a dynamic tree rig with the Birth Skeleton operator
  • added tyFlow_folding_001: using the tyBend modifier to fold paper
  • added tyFlow_intersectingExtrude_001: artifact-free extrusions of intersecting splines with the tySplineMesher modifier
  • added tyFlow_clusterForce_001: using the cluster force to simulate surface tension in a waterfall
  • added tyFlow_vdbGrowth_001: simulating differential growth with VDBs
  • added tyFlow_vdbTeapotCloud_001: setting up a density field for atmospheric rendering with VDBs
  • added tyFlow_particleBoolean_001: using particles to carve trails on a surface using VDBs
  • added tyFlow_particleTrails_001: generating blobby trails behind moving particles using VDBs
  • added tyFlow_spherePack_001: using a VDB sphere packing function to fill objects with particles.

tyFlow v0.16085 (May 18 2020)

Additions:

  • added various VDB operators and a VDB FAQ page
  • tySplineMesher now has “extrude” mode
  • added tyBend modifier which can add segments along the bend axis, for smooth bending on any mesh
  • Added edge distance options to Surface Test
  • Surface Test distance mode can now use particle shape radius as base distance value
  • The Export Particles operator can now export raw spline data, and the tyCache object can import it (please see the docs for important info about this process)
  • added tySplineCache modifier, for extracting spline data from tyCache objects
  • adding variation parameter to Mass operator
  • Position Transfer operator now has interpolation settings
  • Matrix3 values in the Script operator now have index access (ex: tm[i])
  • Script operator tfFace values now expose their vertex indices by index (ex: face[0] is equivalent to face.v1)
  • added divergence damping option to Speed operator
  • added operator category tabs, which allow users to quickly browse color-coded operator categories
  • added “End” checkbox to Birth operator…when unchecked, the operator will birth particles from the start frame onward, forever (only possible in “per frame” and “repeater” mode)
  • tyCollections have an option to print their node name in the viewport
  • added option in tyPreview to maintain/display current object selection during previews
  • added edge scattering modes to Birth Surface
  • added “nearest edge” setting to Rotation operator when in surface align mode
  • added element matching parameter to tyConform, for ensuring all verts of an element will conform to only one particular element of the target mesh list (helps prevents stretching across element boundaries in some cases)
  • Position Transfer operator can now optionally save/load full relative surface transforms (allowing you to transfer full pos/rot/scale offset). This allows the operation to function as a lightweight Object Bind replacement, that can retain offset data between events (whereas Object Bind does not have that flexibility)
  • added refinement mode to tySlice modifier, with option to do multi-slicing
  • added tf.GetThreadedIteration() function for finding out which iteration of a mult-iteration thread loop is being processed (in a Script operator)
  • Mass operator “relative to volume” param changed to “relative to property” with the option to choose from a list of properties (including volume) to be the relative threshold
  • accuracy of tyParticleSkin improved when considering particle shape meshes. Subdivison parameter no longer necessary

Bug fixes:

  • re-organized the giant rollout of the Shape operator into multiple, smaller sub-rollouts
  • fixed a regression which caused the Flow Update operator to incorrectly import rotation values from a tyCache
  • fixed a crash that could occur when testing for dynamic collisions in the PhysX Collision operator
  • Notes operator moved to debug operator category
  • added progress overlay showing progression of spline paths data reset
  • mapping values in a retimed sim should now smoothly interpolate during playback
  • Surface Test will now save sampled matIDs as 1-based, not 0-based
  • fixed a bug where Point Forces weren’t working due to corruption of decay values
  • refactored all spline-related tyFlow code
  • fixed a bug where tySplines set to render-only mode would be visible in the viewport when the render completes
  • fixed a bug where cloning an object with a tySpiral modifier on it would crash max
  • fixed a regression that was causing PhysX Binds to ignore updates to their particles’ scale
  • fixed issues with tyCache clamping and frame offset
  • fixed an issue where spline paths were not properly generating on negative frames
  • fixed an issue where making changes to a Display operator would sometimes not update in the viewport immediately, or particles would disappear until the frame was changed
  • tySplineExtrude modifier has been deprecated since tySplineMesher has all of its functionality and more
  • fixed a bug in the Spawn operator where parent surface alignments were not working
  • fixed a bug where the Shape operator was sometimes not properly loading custom data for animation offsets
  • fixed a bug where tyPreview previewing a viewport with background set to “environment map” would restore a grey solid at the end of the preview, rather than the proper background color
  • fixed a regression which would cause inconsistencies in point rendering with PhoenixFD
  • editor option to display particle counts is now sticky (applies to all flows and is remembered between sessions)
  • fixed a bug where internal slice operations were sometimes not setting proper edge visibility when “optimize borders” enabled (affects Voronoi Fracture, Brick Fracture, tySlice, etc)
  • fixed an issue where Particle Bind break threshold variation wasn’t working as intended
  • fixed an issue where massive scene scales would cause certain nearest-point lookups to fail (ex: Rotation Look-at mode)
  • fixed an issue where the PhysX Bind operator “relative to property” option was not working properly

tyFlow v0.16084 (April 24 2020)

Additions:

  • by default, CTRL must now be pressed while dragging operators in order to overwrite existing operators. An option to revert to the previous mode is available in the editor right click menu.
  • individual operator filters can now be enabled/disabled
  • Export Particles operator Alembic point cloud mode can now export particle vertex colors

Bug fixes:

  • quickType should no longer ding (I previously thought I had fixed the dinging…turns out I just didn’t realize that system sounds had been muted on my machine, ha!)
  • fixed an issue where calling tyPreviewWindow without a proper camera argument would default the camera dropdown to the first camera in the list
  • further optimized Delete operator
  • fixed a regression where copying an operator was reloading defaults after loading param block settings
  • significantly reduced time it takes for Spline Paths operator to clear spline cache data on sim reset
  • fixed an issue where the Rotation operator was not retaining the applied forward vector setting after reloading the file

tyFlow v0.16083 (April 22 2020)

Additions:

  • added Angle Bind operator, which introduces a new particle binding type…which is integrated into the GPU solver, can be changed with the Modify Bindings operator, etc (see docs for explanation of what an angle bind is)
  • point/sprite display types in the Display operator now have the option to get their color from particle mapping vertex color data, or a specified texmap sampled using particle mapping channels
  • added mapping from velocity option to Mapping operator
  • Vertex Color operator can now sample colors from a specified texmap, using mapping channels assigned to particles
  • added tyVector texmap, for converting arbitrary vectors assigned to mapping channels into a normalized black/white mask for mixing colors/texmaps elsewhere (example: you’ve assigned particle velocity to a mapping channel, but want to normalize the value for use in a shader without resimming your particles)
  • added distance/falloff settings to Displace operator, for diminishing displace amount near faces not matching specified matIDs
  • added world/particle coordinate-space switch to Spread operator
  • added “prevent duplicate assignments” option to Set Target operator in proximity/random modes, so that each particle will try to get a unique target
  • added “blank” to tyCache out-of-range modes
  • added “match blend” param to Actor Animation operator, for smoothly blending to match poses
  • if you press/hold CTRL while dragging operators around, tyFlow will enter “no overwrite” mode where operators can be placed between each other, but not on top of each other….to prevent accidentally overwriting one operator with another
  • added “bind first and last siblings” options to Particle Bind and PhysX Bind operators, for creating sibling bindings in a loop
  • added birth index tracking option to Birth Splines operator
  • added “save all test values” to operator Test rollouts, for saving all test values to a custom property channel, regardless of whether or not the test condition is met (this simplifies the workflow of saving test values to a channel)
  • added “hide after adding” option to Birth Objects operator
  • added “relative to scale” option to Birth Spline distance mode, so that node scale will be taken into account when calculating steps along the spline’s length
  • Shape operator animation can now be controlled completely with a custom float, or simply by custom float offset
  • added “Simple Scatter Flow” to list of preset flows, which sets up a simple static flow designed to scatter/align particles on a surface
  • added “seed by time” option to Custom Properties operator
  • added “show info” setting to Particle Bind operator so you can see binding stiffness/length info in the view
  • Particle Bind Solver stiffness values can now be in the range of 0-2 instead of just 0-1. Values greater than 1 cause successive over-relaxation, which can increase convergence speed (but potentially cause binding instability, so use sparingly).
  • added option to disable bind length resampling in Resample operator (disabling bind length resampling makes differential growth effects easier to achieve)
  • added color channel (mapping channel 0) PRT export support in Export Particles operator
  • added color channel (mapping channel 0) PRT import support in Birth PRT and PRT Update operators
  • added relative strength options to Displace operator, for making displace amount relative to scale, surface area, etc.

Bug fixes:

  • fixed a crash caused by the relax setting in the Birth Skeleton operator
  • fixed a regression where Display Data operator randomly generated colors were too dark
  • greatly improved speed of Point Force operator
  • improved performance of Property Transfer operator
  • fixed an issue where some group buttons were overlapping in the tyProperties modifier
  • fixed an issue where very large positional inputs into noise functions within tyFlow could result in NaN values being returned (would cause tySelect to return improper selections on large pieces of geo, for example)
  • fixed a bug where if any rig particle in an actor setup was deleted, any skinned meshes attached to the actor would also be deleted, even if the deleted particle was not influencing the skin
  • Birth Spline operator will no longer generate coincident start/end verts on closed splines
  • fixed an issue where the Resample operator was not properly retargeting binds in certain circumstances
  • shifted “by value” mode in Custom Properties operator closer to top of dropdown, for easier access
  • fixed an issue which could cause render initialization to be extremely slow when rendering a tyParticleSkin mesh (“collecting TMs” would run for an unreasonably long time)
  • tidied up the Rotation operator so it’s not one giant rollout
  • skinned actor meshes generated by the Actor operator can now inherit the materials of their source nodes
  • removed mass z-bias setting from Particle Physics attraction settings (there was no practical use for it), same for stiffness solver setting of Particle Physics attraction parameters
  • tySplineMesher orientation mode “from world” can now set direction of forward axis (x/y/z)
  • fixed a bug where instanced force objects in a tyFlow would not work properly in a Force operator (only one of their transforms would be used)
  • in rare cases the Subdivide operator can hang on a mesh with a lot of overlapping vertices. Since the subdivide algorithm itself is part of the max API I am unable to directly fix the issue, however the Subdivide operator now attempts to separate overlapping vertices prior to subdivision as a workaround, to avoid this issue. In tests, this seemed to solve the issue.
  • fixed an issue where the camera_node argument of the tyPreview/tyPreviewWindow MXS functions was not working properly (settings would be applied to the selected camera but the window would instead toggle the first camera in the list)
  • tyPreview/tyPreviewWindow MXS functions can now take “undefined” as the variable for the camera_name and camera_node arguments. Instead of generating an error, it will just revert to default
  • fixed some issues resulting in incorrect line numbers printed for errors in the Script operator script window

tyFlow v0.16082 (April 12 2020)

Additions:

  • added base/tip bone segment channel data to Birth Skeleton operator, for marking the base/tip bone segments of a skeleton for future filtering
  • added output_openAfterCompletion flag that can be set in tyPreview MXS function, for controlling whether or not the preview file will be opened after export completes
  • Birth Skeleton operator now has pre-process relaxation setting, for smoothing out input meshes prior to skeletonization
  • Birth Skeleton operator now has matID filter, for choosing which mesh faces will be skeletonized
  • Birth Skeleton operator now has min bone width setting, to prevent overly-skinny branches
  • Birth Skeleton skeletonization algorithm will now process separate mesh elements in parallel (should dramatically increase performance on complex meshes)

Bug fixes:

  • fixed an issue where input objects with a scale of [0,0,0] at the birth frame would break animation inheritance in the Birth Objects operator
  • PhysX Bind “improve anchor accuracy” setting now works with regular colliders
  • fixed an issue where the Birth Skeleton status bar percentage prompt wouldn’t be properly cleared if you pressed SHIFT+ESC during processing
  • fixed an issue in the Script operator, where sampling multiple texmaps at different times would only update the first texmap at the specified time
  • fixed a bug where certain operator post-step functions were evaluated even if the operator itself was disabled
  • fixed a bug where cloths were not generating their velocity map channel data correctly
  • fixed various cloth slicer issues
  • fixed an issue where the Move Pivots operator was not respecting particle scale

tyFlow v0.16081 (April 10 2020)

Additions:

  • added PhysX CUDA support
  • added Birth Skeleton operator, for extracting the curve skeleton of a mesh
  • added Position Hair and Hair Bind operators for interfacing with Ornatrix hairs (NOTE: requires latest Ornatrix nightly build of either v6 or v7)
  • added “particles after random N” option to Split operator, which randomizes which N particles won’t be culled, as opposed to excluding them by event-entry order
  • PhysX Bind relative strength multiplier can now set various particle properties as the target threshold, not just volume

Bug fixes:

  • fixed an issue in the Script operator where GetClosestPointAccurate was not working
  • fixed an issue where the TGS PhysX solver was not able to maintain stiff binds
  • if auto-update is disabled in a tyMesher, it will no longer auto-update on scene load
  • tyPreview no longer relies on dynamic view panel creation during export (this was causing issues in max 2020)…this should hopefully fix several issues people were running into which were causing inconsistencies between preview settings and results
  • fixed an issue where viewport background image aspect ratio and animation settings were not being respected during tyPreviews
  • fixed various issues relating to exporting tyPreviews from MAXScript (improper framerate, appearance flags ignored, etc)
  • increased contrast of randomly-generated Display operator colors
  • fixed a crash that could occur in the tySplineMesher modifier in mesh mode
  • if an actor skinned mesh rig particle is deleted, now the skinned mesh will also deleted (previously the mesh would not be deleted and the skin would just be broken)
  • fixed an issue where bitmap gamma correction was causing values returned by the Script operator’s getColorVal function to be clamped, also added function argument to disable gamma correction

tyFlow v0.16080 (March 31 2020)

Additions:

  • added “Show Axis” option to PhysX Bind operator, so you can visualize twist (red) and swing (green) axes
  • added twist axis orientation setting, for controlling the twist (x-axis) vector direction of bind transforms (both swing axes are derived from the twist orientation so there is no specific override setting for them)
  • added copy/paste filter options to operator right-click menus, so you don’t need to navigate into the filter rollout to quickly transfer filters between operators
  • added option to display operator depot to the left of the editor grid in the editor right-click menu

Bug fixes:

  • fixed an issue where filters were not working correctly in the Particle Break operator
  • fixed an issue where alembic export wouldn’t respect the “export particles” checkbox
  • fixed an issue where alembic export wouldn’t properly export mesh normals
  • added Unreal Engine compatibility setting to alembic export
  • NOTE: added important info about importing/exporting alembic data for 3dsmax/maya/unreal to Export Particles docs
  • fixed an issue in the PhysX Bind operator where displaying binds was not working properly (bind endpoint local transforms were swapped)

tyFlow v0.16079 (March 28 2020)

Additions:

  • Display operators added to a flow that contains particle shapes will default to geometry display mode

Bug fixes:

  • fixed an issue where on some machines, quickType options would all appear to be selected
  • fixed an issue where 3ds max 2021 would crash when you enter the tyFlow modifier panel, if you have the latest VRay 4.x for max 2021 installed
  • fixed an issue where tyPreview mp4 files could not be played back in rv.exe
  • fixed an issue where tyMesher would create empty meshes during local sequence rendering
  • stub OpenCL.DLL files in Max root directory should not longer prevent proper OpenCL installations from loading

tyFlow v0.16078 (March 26 2020)

Additions:

  • added default/scene light switch to tyPreview
  • you can now double click operators to rename them

Bug fixes:

  • fixed an issue where multi-column layouts were crashing 2016 (unfortunately the fix requires multi-column layouts to simply be disabled in 2016, due to bugs in the 2016 SDK)
  • improved multi-column rollout distribution (previously with a lot of rollouts expanded, too many would be sent to the last column)
  • dragging operators around is more responsive, since rollouts are now only loaded when the mouse button is released
  • fixed an issue where arrow keys (up/down) weren’t adjusting quickType selections in the new c++ version of quickType
  • fixed an issue where tyPreview would check “shadows enabled” as an inherited viewport default even if shadows weren’t enabled for the viewport
  • tyPreview will internally enable High Quality mode when AO enabled (seems necessary)

tyFlow v0.16077 (March 24 2020)

Additions:

  • added ability to enable multi-column editor layouts (accessible from editor right-click menu)
  • added “delete parent” option to Array operator
  • added “apply force behind icon” option to tyWind
  • added Smooth operator for auto-assigning proper smoothing groups to particle meshes
  • added interpolation options to Mapping operator custom data settings
  • added “full interpolation on entry” option to Custom Properties and Spin operator
  • added pivot sample option to Rotation operator (specifically useful for look-at mode)
  • added framerate control to tyPreview mp4 […] menu
  • added evaluation frame offset setting to tyMesher
  • you can now import C# modules with “using XXXXX” syntax at the top of a Script operator script (example: “using System.Linq;”). Note: if a particular system module cannot be found, please let me know.

Bug fixes:

  • substantially improved performance of Voronoi fracture operator (an internal benchmark scene that previously took 190 seconds to complete now takes 30 seconds)
  • (hopefully) fixed a long-standing bug that would cause tyBoolean and tyCarve to instantly crash on some machines
  • fixed a crash that could occur when VRay not installed and tyCache destructor is called
  • fixed banding and low bitrate issues in tyPreview image output
  • changing aesthetic parameters on tyHelper objects (ex: enabling/disabling icon display in a tyIcon) will no longer reset dependent sims
  • fixed an issue where dragging texmaps into a Script operator UI would add unnecessary copies of the map if the operator is instanced
  • fixed pblock corruption issues in Script operator
  • fixed a crash that could occur in tyPreview when previewing with an image file background
  • Force operator influence values can now be negative
  • fixed various issues with tyCache subframe interpolations
  • QuickType popup rewritten in C++ (previously C#) and should no longer beep when closed. UI flickering should also be reduced
  • fixed an issue where certain internal mesh attach functions could corrupt texmap faces (ex: rubix cube sample scene would develop corrupted map data as sim progressed)

Example Scenes 014 (March 17 2020)

  • added tyFlow_windOcclusion_001: enabling tyWind helper collider occlusion
  • added tyFlow_voxelFluid_001: converting a PhoenixFD fluid simulation into animated voxels
  • added tyFlow_recombine_001: breaking apart and recombing an object fractured into many chunks
  • added tyFlow_collisionGroups_001: illustrates how to properly use simulation groups with PhysX
  • added tyFlow_bindSearch_001: binding search, to prevent floating chunks in a PhysX sim
  • added tyFlow_centerOfMass_001: demonstrates the effect of shifting a PhysX particle’s center of mass
  • added tyFlow_pills_001: simulating grains inside the collision hulls of PhysX particles
  • added tyFlow_physXFluid_001: breaking down a PhysX wall using a PhoenixFD liquid simulation

tyFlow v0.16076 (March 17 2020)

Additions:

  • added Weld operator for welding vertices of particle shape meshes

Bug fixes:

  • fixed an issue where MatID filters were not working properly
  • fixed issue in tyPreview where exported MP4 files were not loading properly in After Effects or Chrome

tyFlow v0.16075 (March 16 2020)

Additions:

  • tyPreview paths can now make use of relative path symbols (..) for signifying paths that are up level(s) from the current path (ex: “$scenePath\..\previews\preview.mp4”
  • added option to save/reset default tyPreview export paths in […] menus
  • added PhysX bind search mode to Property Test bind search
  • PhysX Break slicers are now more forgiving (slicing the span between connected particles’ mesh centers will register a slice, rather than simply the binding itself, which could potentially have a length of zero, making slicing impossible)
  • added AO/shadows toggles to tyPreview
  • added Nth frame activation options to operator Timing rollouts (allowing you to do things like have an operator be activate only on every other frame, or every 3rd frame, not activate on subframes, etc)
  • added PhysX center of mass controls to Mass operator
  • added center of mass display to Display Data operator
  • added inertia mult option to tyFlow PhysX settings

Bug fixes:

  • fixed an issue where the Shape operator was not properly interpolating reference shape animation on simulation subframes
  • fixed an issue where tyPreview was not properly restoring the visibility state of the viewport viewcube
  • fixed a bug where PRT operators were not reading scale values of PRTs exported from PhoenixFD
  • fixed a bug where tyPreview wasn’t displaying background images when rendering from an object camera
  • fixed rendering errors that could occur in VRay NEXT if instance transforms had a scale of 0
  • fixed an issue where Render-only meshes would be sent to the GPU immediately after a render finishes
  • improved accuracy of tyMesh slice operation, which can improve overall results of various slice operations (tySlice modifier, Voronoi Fracture operator, etc)
  • fixed an issue in tyPreview where batch previewing from cameras would not restore the proper camera settings after export and would break tyPreview window modality, among other things
  • consolidated the “found” and “missing” depth-first bind search property tests into a single test

tyFlow v0.16074 (March 12 2020)

Additions:

  • added local/global coordinate switch to tyMesher
  • “tyPreviewWindow()” MAXScript function can now take all the same optional arguments as “tyPreview()”. The optional arguments can be used to set UI control values when the window first opens.

Bug fixes:

  • fixed a bug where the Material ID operator in cycle mode wouldn’t cycle all the way to the end integer
  • fixed a bug where tyPreview was marking non-multiples-of-16 resolutions as invalid (ex: it was clamping 1920x1080 to 1920x1088)
  • fixed a bug where tyPreviews were not working correctly in max 2020
  • fixed a bug that would result in infinite velocity values generated by PhysX when a dynamic particle was bound to a moving collider using the TGS solver
  • improved Set Target operator “prevent target loops” behavior
  • fixed a bug in tyPreview where “High Quality” and “User Defined” modes were not previewing correctly
  • fixed an issue where mp4s generated by tyPreview would not load in a quicktime player

tyFlow v0.16073 (March 10 2020)

Additions:

  • added tyPreview, a more powerful replacement for max’s built-in animation preview tool
  • PhysX Fluid operator can now save the submersion percent of particles to a custom float channel
  • added “reseed all operators” options to event right click menus
  • added “transfer on subframes” option in the Property Transfer operator, that can be used to disable subframe evaluation in order to speed up simulations
  • Property Transfer can now filter particles by sim groups
  • added new PhysX Fluid convex hull interaction points mode, for more accurate fluid interactions
  • upgraded PhysX to SDK 4.1.1

Bug fixes:

  • fixed a regression where events with only a Display operator were being considered Global Export events
  • fixed a crash that could occur when sampling a texture on an empty map channel
  • fixed a bug where the tyParticleController was not respecting retimer settings
  • fixed spelling error of “continuous” in timing operator
  • fixed an issue where copying a Vertex Color operator would generate an error popup message
  • fixed a bug where PRT export was not including the W channel of UVWs
  • fixed an issue where splines converted to cloth could have corrupted UVW values
  • fixed a crash that could occur while using the Property Transfer operator, in “min” mode when a particle has no neighbors
  • fixed a bug that was resulting in inconsistent tyCache instance material ordering
  • fixed a bug that was crashing Phoenix operators if “#” symbols were in the Phx cache filenames at a location other than the end
  • fixed a bug where tyActor ref frames were not being interpreted properly

tyFlow v0.16072 (March 1 2020)

IMPORTANT NOTE: changes to the Shape operator in this version will make files saved with this version incompatible with previous versions of tyFlow. If you load files saved with this version into previous versions of tyFlow, the selected built-in 2d/3d shape indices will not be correct. In other words, if you save your file with version v0.16072, you will experience Shape operator issues if you load it into version v0.16071 or lower. Please keep this in mind if rendering to a farm or cloud computing solution - all machines will need to have version v0.16072 (or newer) installed for full Shape operator compatibility! This warning ONLY applies to Shape operators using built-in 2d or 3d shapes.

Additions:

  • added Property Transfer operator for spreading properties to neighbor particles
  • added PhysX Fluid operator for simulating two-way interactions between tyFlow particles and a PhoenixFD liquid sim
  • added Vertex Color operator for simple color assignments to particle mapping channels
  • added “export particles” checkbox in Export Particles operator…for easily disabling particle export (rather than having to select a non-used sim group as a workaround), for when you only want to export additional geo
  • added MXS helper functions for quickly getting an array of all particle values for a particular property (much faster than iterating all particles manually)
  • added tyParticleViewer data viewer to tyCache and tyFlow viewport menu, for spreadsheet view of basic particle properties
  • added tyProfiler data viewer to editor right-click utilities menu, for visual interface showing speed of various tyFlow processes during simulation
  • added ID param to Actor operator, which can be used to specify which actor meshes to export in the Export Particles operator
  • added tySpacewarp spacewarp, which can be used to wrap tyFlow forces (tyVortex, tyWind) and make them available to 3rd party plugins (ex: PhoenixFD)
  • added simulation group filtering to expansion particles parameter to Grow operator SC algorithm
  • Birth Fluid operator can now transfer particle radii from Phoenix to birthed particles
  • added “Sphere Cluster” 3D built-in shape to shape operator
  • added “Curvature”, “Face Angles”, “Self-Proximity”, “Self-Intersection” and “Coincident Faces” selection methods to tySelect modifier
  • tyWind helper now has collisions rollout, for occluding wind forces with collider meshes
  • added option in tySelect soft selection rollout to ignore hidden edges when in edge distance mode
  • Shape operator can now sync animated shape playback to a custom float value
  • added “Simple Reference tyFlow” to preset flow list, for quickly creating a new tyFlow that references the current flow with Birth Flow/Flow Update operators
  • added option to mass property in Cloth Bind operator, to keep mass proportional to vertex count of cloth
  • added tySlice modifier, an optimized alternative to Max’s slice modifier that allows you to reference scene objects as slice planes
  • Shape operator will now respect tyProperties modifiers assigned to reference objects and apply those properties to affected particles
  • added “pre/post render refresh” option in tyCache for enabling or suppressing render reset notifications (see docs for more info)
  • added “load all frames in timeline” button to tyCache, for quickly buffering entire cache sequences into RAM for faster playback
  • tySplines now has retime by speed params

Bug fixes:

  • fixed an issue where tyCache objects would fail to load tyCache files that contained more than 2GB of uncompressed data
  • fixed an issue where selecting an event could trigger a sim reset notification (when using tiered flows)
  • fixed an issue where tyParticleSkin mesh velocities were not being exported corrected
  • fixed an issue where adding non-sim operators to a Global Export event would cause the event to revert to a normal event
  • fixed an issue where color values return by GetColorVal in the Script operator were clamped to 0-1
  • fixed a bug that was preventing tySlicers from working properly on particle binds
  • fixed an issue where calling “gc()” in maxscript after accessing a tyFlow’s properties could result in a crash
  • fixed a bug where the Export Particles operator was animating reference light intensities, even if it was set to ‘instance’ mode
  • fixed an issue where Birth Flow operators were unnecessarily duplicating input shapes in memory
  • Particle Force operator no longer requires manual enabling of particle interface on input tyFlows/tyCaches
  • improved Export Particles export object performance when working with a lot of particles over a long frame range
  • fixed an issue where Export Particles in render auto-export mode would export even if the flow was disabled
  • fixed a bug where maxscript-accessible particle interfaces were returning wrong tm/pos values

tyFlow v0.16071 (February 15 2020)

Additions:

  • added tySmooth modifier, for much faster mesh auto-smoothing than max’s built-in Smooth modifier
  • added offset and speed options to operator keyframes rollout
  • added “at rendertime only” settings to cloth/actor mesh generation
  • added “max neighbors” setting to Particle Physics operator (see docs for more info)
  • added MAXScript listener performance warnings to Particle Physics operator
  • added ability to save current animation frame to a custom float channel in the Shape operator
  • added “current selection” and “relax” selectors to tySelect modifier

Bug fixes:

  • fixed an issue where the Subdivide operator would crash if the max Macrorecorder is enabled
  • fixed a bug that was causing tyParticleSkin to run much slower when “use mesh verts” is enabled, but no particles have mesh vertices
  • fixed a crash that could occur in the Grow operator if clustering is enabled
  • fixed an issue where the “real-world value” gravity menus weren’t respecting system unit scales (they were assuming 1 unit = 1 inch)
  • fixed a crash that could happen while processing a mesh with no faces
  • fixed a rare bug that could result in NaNs being generated by surface proximity tests (side-effects were things like particles jumping to wrong locations within Object Bind operators)
  • fixed an issue where a retimed sim that’s an input object of another sim wouldn’t update properly
  • fixed an issue where tyConform wouldn’t update after landing on a keyframe where the influence amount is 0%

tyFlow v0.16070 (February 12 2020)

Additions:

  • added MAXScript interface to tyFlow/tyCache objects, for accessing particles using MAXScript (see docs for more info on available functions)
  • added Array operator for spawning particles in circular patterns around other particles
  • Subdivide operator is now multithreaded and further optimized, and displays progress percentage in status bar
  • added accuracy spinner to tySpiral modifier, for cleaner results on high resolution meshes

Bug fixes:

  • fixed a crash that could occur when GPU instancing is off on a tyCache

tyFlow v0.16069 (February 8 2020)

Additions:

  • added “Keyframes” rollout to various operators (Scale, Speed, Force, Rotation, Slow, etc), for syncing parameter keyframes to particle age (note, this new rollout has replaced the previous “keyframe offset” parameters in the Scale operator…so if you were using that setting in a mode other than “absolute”, you’ll have to re-apply your settings using the equivalent option in the new Keyframes rollout)
  • added clustering options to Particle Bind “ignore starting penetration” settings, for only ignoring the penetrations with certain particles
  • Face Fracture operator can now be seeded by time
  • added filter rollout to Split operator
  • added “Closest Point” mode to Position Object operator
  • added weld option to Element Attach operator, and further multi-threaded the attach process
  • added “by ID” mode to tySelect modifier, for selecting sub-objects by id
  • the Custom Properties operator can now set/get current animation frame of tyActor root particles
  • added “Separator” to operator depot, for creating visual separation between operators in an event

Bug fixes:

  • fixed an issue where Birth Objects wouldn’t auto-update the input geometry if the flow is disabled, causing the old cache to persist when the flow is re-enabled, forcing the user to manually update
  • improved an issue where the Edge Fracture operator was causing motion blur artifacts
  • fixed an issue that would cause the Script operator to generate errors in certain circumstances, like after instancing a Script operator
  • improved result of face-parallel displacement in Displace operator
  • Export Particles prt exporter will now display proper partition number during export

tyFlow v0.16068 (February 2 2020)

Additions:

  • added Filters rollout to Resample operator
  • added Particle Bind ID filter to Resample operator
  • added “limit per particle” option to Particle Bind Modify, for only affecting a certain number of bindings per particle
  • added additional custom data settings to Resample operator in interpolation mode
  • added surface area culling to tyCache
  • tyConform raycast mode can now cast rays along an object z-axis
  • “open edges only” option added to tyWeld modifier
  • tyCache scale multiplier now has x/y/z controls
  • added global breakability override to PhysX Bind break settings
  • Element Attach operator now has filters rollout
  • Find Target alignment settings now have interpolation parameter for smoother docking
  • Script operator GetMonoVal/GetColorVal functions can now take Point3 arguments (ie, they respect ‘w’ coordinates)

Bug fixes:

  • fixed an issue with the tySelect modifier where vertex colors assigned to channels other than zero do not properly update over time
  • fixed an issue where tyMesher in input geometry mode wouldn’t apply matID/mapping overrides assigned to particles
  • fixed an issue where exporting a tyParticleSkinned actor to tyCache wouldn’t result in a properly deforming mesh
  • fixed an issue where GetMonoVal/GetColorVal functions of the Script operator would take orders of magnitude longer to evaluate when time input not equal to current time
  • removed the not-very-useful “facing average” Rotation operator mode
  • “facing closest” Rotation mode renamed to “Look-at” and fixed it so that it now properly accepts mesh objects (it accepted them before, but would only compute look-at points on the input object’s pivot location)
  • fixed an issue where Birth Flow/Flow Update were not loading mapping channels from input tyCaches
  • fixed an issue where tyCaches would load empty basemeshes as particles

tyFlow v0.16067 (January 26 2020)

Additions:

  • added “auto-export on render” mode to Export Particles objects mode
  • added new settings/filters to Edge Fracture operator, for isolating corners, filtering edges by length, etc.
  • Timing rollout now allows for both frame inclusions and exclusions
  • you can now copy and paste filters between operators
  • added options to all animatable spinner right click menus within tyFlow interface, allowing you to quickly set keys, change out-of-range types, etc
  • Birth Objects operator will now apply tyProperties modifier settings on input geometry to created particles
  • added “include unused particles” option to tyActor, for importing particles from a tyParticleSkin-skinned mesh that are not weighted to any vertices
  • added out-of-range frame settings to tyCache
  • added split elements option to tyBoolean for disabling the parallel processing of input mesh elements
  • tyFaceExtrude modifier now carries vertex selections forward properly
  • added modal progressbar overlays to Export Particles functions
  • added world space noise mode to Displace operator

Bug fixes:

  • fixed issues with the Export Objects operator not properly animating object transforms
  • fixed an issue that could cause the Voronoi Fracture operator to crash in certain circumstances
  • fixed an issue where the PhysX Collider operator wouldn’t necessarily update properly if you changed its input geometry and reset the simulation
  • fixed a bug where the tyConform modifier was not respecting vertex selections when applied to a spline
  • fixed a bug where tyCache scale overrides were not affecting render instances
  • fixed a bug where the Set Target operator was not properly working in actor rig parent mode
  • fixed an issue in the Birth Voxels operator where surface mode wasn’t working if min dist to surface was greater than 0
  • fixed an issue where some modifiers would ignore tySelect selections if “display sub-object in view” was disabled
  • fixed an issue where particles behind a camera were still having their data displayed in incorrect screen locations by a Display Data operator
  • fixed an issue with improper transforms being generated for particles from the Shape operator when originating nodes are part of a group
  • fixed a potential crash caused by tyFlow’s internal mesh pool
  • fixed an issue where tyActors with multiple deforming meshes weren’t updating properly
  • fixed a bug where tySpiral parameters were not animatable

Example Scenes 013 (January 17 2020)

  • added tyFlow_UVWByScale_001: controlling particle UVWs/color by scale
  • added tyFlow_rigidTearing_001: demonstrates the tyParticleSkin PhysX Bind tearing solver
  • added tyFlow_UVWProjection_001: locking projected UVW coordinates onto particles at an arbitrary frame of the sim
  • added tyFlow_faceExtrude_001: fractal face extrusions using the tyFaceExtrude modifier on animated geometry
  • added tyFlow_selectExtrude_001: procedural, animated face extrusions using a combination of tySelect and tyFaceExtrude modifiers
  • added tyFlow_edgeFracture_001: demonstrates the new Edge Fracture operator on simple geometry

tyFlow v0.16066 (January 17 2020)

Additions:

  • added “frame exclusions” options to Timing rollout, for specifying specific frames or frame ranges that should be excluded from operator execution
  • Growth operator (DLA) growth bounds mode can now accept force influences
  • Spread operator now has seed by time option, as well as proper turbulent noise controls
  • added “actor rig parent” option to Set Target operator
  • added “preserve local offset” param to PhysX Bind deformation options, for controlling how strongly position offsets between bindings will be preserved after deformation

Bug fixes:

  • fixed a regression where the Birth Objects operator would crash if you disabled “inherit geometry”
  • fixed a bug where the tyProperties modifier was not working on skinned mesh bones
  • fixed a bug where tyParticleSkin modifiers imported into a tyActor were not properly transferring custom property values
  • Birth Objects now supports all node types as input
  • fixed an issue where tyFlow was not properly rendering with the PhoenixFD foam shader

tyFlow v0.16065 (January 15 2020)

Additions:

  • in case OpenCL initialization crashes on startup (usually due to bad/outdated drivers), tyFlow will automatically skip OpenCL initialization the next time max is run
  • added parent/sibling display to Display Data operator
  • added “time (frames)” test to filters rollout
  • added Edge Frature operator for fracturing the convex corners of shape meshes

Bug fixes:

  • fixed a regression causing the Brick Fracture operator to give results with missing bricks
  • fixed a regression where tyActors using a skin modifier could crash max
  • improved rigidity of PhysX Bind deformation function - position offsets of particles will now be preserved properly, whereas before deformations could cause particle bindings to stretch apart
  • fixed an issue where the Resample operator was corrupting certain particle parent/child relationships
  • fixed a bug where the DLA growth algorithm was not being affected by the built-in growth forces
  • fixed a regression where tyCache cloth/actors/etc were not inheriting assigned material IDs
  • Export Particles will now respect render-only Shape parameters

tyFlow v0.16064 (January 12 2020)

Additions:

  • Birth Objects operator can now birth particles over a range of frames

Bug fixes:

  • fixed an issue where non-instanced meshes were not being properly initialized at render time

tyFlow v0.16063 (January 11 2020)

Additions:

  • Instance Material operator now has filters rollout
  • Material operator can now inherit material from particle parents
  • Actor/Cloth meshes are now rendered as individual entities in VRay, and accept instanceID/Material overrides assigned to their actor root particle.
  • Actor/Cloth meshes now retain per-vertex velocity information, which VRay can translate into proper deformation motion blur
  • added “enable/disable all instances” options to operator right-click menu, for quickly enabling/disabling all instances of a certain operator
  • added option in Script operator to toggle display of script-generated lines/markers (allows you to disable drawing methods without changing code and resimming)
  • added “full interpolation on entry” setting to Rotation/Scale operators, for ignoring interpolation values less than one when a particle is new in an event
  • added face transform mode to Position Transform operator
  • added tyProperties modifier as an easier alternative to adding tyActor node properties to objects without having to use the tyActor Node Props floater window and/or having to manually assign user defined properties to objects
  • added tyUVWFreeze modifier for efficient freezing of UVW coordinates on an animated mesh at a given frame (will not lose frozen UVWs if underlying topology changes, unlike UVWUnwrap modifier)
  • added tySpiral modifier for deforming meshes around a central deformation axis with a radial falloff
  • added new options to Export Particles operator for object export: ability to call custom MAXScript code to objects when their particle is first exported, ability to simply update existing objects rather than create new ones, ability to randomly scatter reference objects onto particles from a list

Bug fixes:

  • fixed a tyActor regression that could cause max to crash if non-skin deformations was enabled
  • fixed a regression in the tyWeld modifier causing some incorrect weldings to occur
  • fixed a crash that could occur while exporting particle meshes to tyCache that have empty map channels
  • improved actor/cloth mesh update performance when caching enabled
  • fixed a bug where the tyConform modifier could try to update while saving
  • improved speed of tyActor skinned mesh generation
  • improved performance of tyCache mesh loading (for unique non-instanced meshes)
  • fixed a bug where the Flow Update operator was not importing custom data into the proper channels in some cases
  • fixed a bug in the tyVortex helper that was preventing axial distance falloff from having any effect
  • fixed issue where Time Test couldn’t take negative time values
  • fixed various bugs in various operators related to null mapping channels
  • fixed an issue where spawned particles that are linked to other particles, don’t immediately update their link status
  • fixed an issue where empty maps were still being exported by the tyCache exporter, resulting in inflated cache sizes
  • fixed an issue where the Mapping operator was not properly sourcing mapping values from particular channels, when “all channels” was disabled
  • fixed an issue in the Split operator where particles would eventually stop being sent out properly in “per frame” mode
  • fixed an issue where tyActors were not properly importing certain skinned objects if they had other modifiers above the skin in the stack
  • fixed an issue where Birth ops were not birthing the correct number of particles if the time step was less than 1
  • fixed an issue where certain meshes were not being sliced properly by the Brick Fracture operator
  • fixed an issue where the Spline Paths operator was not properly exporting certain particle binds

tyFlow v0.16062 (December 24 2019)

Additions:

  • added new PhysX tearing mode to tyParticleSkin modifier
  • added new ‘distance from shape’ options to Path Follow operator, for easier control over how closely particles follow a path shape
  • added “every nth” filter to Filters rollout, for filtering out repeating patterns of particles
  • added “every nth” selection mode to tySelect modifier for selecting repeating patterns of mesh verts/faces/etc
  • added “distance to target” filter to Filters rollout
  • added ID filter to Display Data binds mode
  • added helper connector in Editor at bottom of events for quickly creating output operators which connect to existing/new events
  • the Flow Update operator can now send out missing particles, rather than delete them
  • added new options to Split operator for splitting using Birth ID as the metric rather than event index
  • Speed operator noise params now have iterations/roughness/frequency/etc settings
  • added noise settings to Property Test neighbors parameters
  • added subdivide setting to “use particle mesh verts” option in tyParticleSkin

Bug fixes:

  • made improvements to the Voronoi fracture cap border optimization algorithm, which should reduce slice artifacts
  • fixed a bug where the internal version info of tyFlow was not updating properly
  • fixed a transform validity interval issue throughout tyFlow that could cause certain modifiers (ex: tyConform) to stop updating over time when certain input objects are added to it
  • fixed an issue with the Resample operator not resetting the flags of new bindings
  • fixed a crash that could occur in the Resample operator when using decimal values for the subdivision parameter
  • fixed an issue where particles marked as VRay instances would be converted into meshes if a VRay compatibility issue was detected
  • fixed an issue where a Face Fracture operator placed after a Voronoi operator would do nothing
  • fixed a race condition in the PhysX Modify operator
  • fixed an issue where TMs interpolated up from a scale of zero by various operators were generating NaN values
  • fixed an issue where the Move Pivots operator was having problems with scaled particles
  • fixed an issue where the mesh of a tyFlow referenced by a tyParticleSkin modifier wouldn’t update properly
  • fixed an issue with the “inherit material ID” setting of the tySplineMesher not working
  • tyMesher in “input geometry” mode now sorts input particles for more consistent face/vert ordering in resulting mesh
  • fixed a bug where assigning map channels >1 to particles could cause the tySplineMesher to crash, when referencing those particles
  • improved speed of tyWeld modifier (NOTE: the new weld algorithm appears to be producing some artifacts in a few cases…this will be addressed in the new build, in the meantime you can defer to max’s built-in Vertex Weld modifier)

tyFlow v0.16061 (December 5 2019)

Additions:

  • added max children parameter to space colonization growth algorithm
  • Property Test operator can now test for export groups
  • age/eventAge tests added to filters rollout
  • tySplines object now receives full particle TMs from source particles, rather than a specific orientation axis specified in the Spline Paths operator…this allows you to change particle-based orientations in the tySplineMesher modifier directly, rather than changing it in the Spline Paths operator and having to recalc the entire sim in order for tySplineMesher to receive the change
  • added noise settings to tySelect mesh mode

Bug fixes:

  • normalized the height of certain built-in shapes to a value of 1.0 (cylinder, pyramid, tetra, etc)
  • improved speed of PhysX particle initialization
  • fixed an issue with the tySpline object where knot age was not being interpreted correctly from source particles
  • fixed an issue in the tySpline object where neighbor searches were not being conducted correctly if age filtering was culling certain particles
  • Spawn operator scale/spin inheritance values can now be greater than 100%
  • fixed an issue causing certain setups to pass along wrong radius values to spline knots through the Spline Paths operator (when in bind mode)
  • fixed issues with the filter rollout not working properly in the PhysX Break operator
  • fixed an issue with the PhysX Break operator not working in some situations
  • fixed an issue with the bind solver, where a freeze could occur when registering binds in certain internal data structures when particle counts are very high
  • fixed a bug in the Particle Force operator that could cause a crash while running the debugging profiler
  • fixed a memory leak that could occur in tyCaches if ‘keep frames in RAM’ was off but the particle interface was used as the access method
  • fixed a freeze that could occur if the Spin operator in rare situations when relative velocity was enabled
  • improved multithreading performance of tyCache export
  • fixed a bug where the sim wasn’t resetting when the time scale was changed
  • fixed a bug where custom floats being used as a test value in an operator’s filters rollout were not working
  • fixed a bug where particle actors were not being properly recycled in the particle memory pool
  • fixed a bug where max could freeze when saving a file containing a hidden tyMesher that has been modified
  • fixed a regression causing the Birth Objects operator to always separate group members, even when “group members” was unchecked (also fixed a similar regression in the Shape operator)
  • the Particle Physics OpenCL solver should be more forgiving on GPUs with low VRam (was previously more succeptible to allocation failures when particle count is high)
  • fixed a bug causing incorrect OpenCL memsize printouts from the debugging rollout

tyFlow v0.16060 (November 28 2019)

Additions:

  • Birth Shape operator can now update particle pos/rot/scale to match transform animation of input objects
  • added ping-pong option to Material ID cycle mode
  • added Edge Count selection method to tySelect modifier
  • Actor operator can now load actors by index, and/or save the chosen actor index to a custom float channel
  • tyFlow version can now be queried directly from .dlo file using windows API, or by calling “tyFlowVersion()” within 3dsmax
  • particle-space displacement added to Displace operator
  • Slow operator proximity mode now has sample options
  • tyFaceExtrude polygon mode now computes polygon centroid more accurately, resulting in smoother transitions between extrusions in a mesh with changing topology
  • tyFaceExtrude now has selection weight settings, for more refined extrusion/scale control by vertex selection weights
  • Rotation operator now has parent align mode
  • tyMesher can now take a group as an input node, and it will mesh the group members
  • Push operator offset value will now affect all particles within that distance to the surface. So for example, when set to “push outside” with an offset of “10”, it will affect all particles inside the surface, as well as any particles within 10 units to the surface. Essentially, it is now a more useful operator for moving particles away from geometry
  • proximity mode of Scale operator now has x/y/z affect spinners
  • Brick Fracture now supports assigning different mat IDs and custom properties to bricks/mortar
  • tySelect additive mode now has a substeps param for more accurate selections over time
  • tySelect now has “occluded elements” mode, for selecting mesh elements that are fully inside other elements, have all their face normals flipped, etc.
  • Birth Shape operator has option to inherit vray instance material from reference objects

Bug fixes:

  • fixed a typo in the Flow Update operator, where the shape channel checkbox was labelled “mass”
  • tySelect modifier will no longer auto-update after loading a file unless auto-update is enabled in the settings
  • fixed a bug where the Resample operator could potentially copy properties from a particle in a resample pair that is not in the current event
  • fixed a bug where object listbox “sort by name” option was not working correctly
  • fixed a bug that was causing a big slowdown when adding many (hundreds/thousands) of objects to a listbox
  • fixed a bug where a tySelect modifier could add its owner object to the Mesh select listbox, resulting in a freeze
  • fixed an issue that could cause scenes with certain material setups to load slowly when tyFlow references those materials
  • fixed a bug where sometimes texmap select mode of the tySelect modifier would fail to do proper selections on tiny faces
  • fixed a bug where selected connector points wouldn’t move along with events, when dragged
  • fixed a bug where tyMesher in input geometry mode wouldn’t mesh particle meshes
  • alembic export path can now contain non-english characters
  • improved accuracy of spin integrator, which was causing wobble along particle axes when spin rates were high
  • fixed an issue where the Actor Convert operator was not working correctly
  • fixed bug in PhysX Bind operator where some bindings would not form properly if particle deletions had occurred in the flow on a previous frame
  • fixed an issue where more than 2 actor animations blended together would cause the resulting particle transforms to jump/jitter - actors now support blending 3 or more animations together over time

tyFlow v0.16059 (November 16 2019)

Additions:

  • Mapping operator can now do per-vertex mapping overrides on particle meshes
  • Mapping operator now has camera mapping options
  • tySplineMesher has more options for when inheriting radius from knots
  • “Taper by age” option added to tySplineMesher
  • added ‘sort knots’ option to tySplines weld parameters, for more consistent weld ordering even if knot count changes
  • Surface Force texture mode has face/vertex normal option
  • improved multithread performance in tyBoolean modifier for input meshes with multiple elements
  • added a rudimentary particle (point) display option to tyCache object, for displaying particles with no meshes
  • added “recursive child count” property to Property Test
  • Scale operator scale by sibling/target now has individual axis affect spinners

Bug fixes:

  • PhysX Collider operator will now properly interpret pivot offset transform of input geometry
  • fixed a bug where moving an Export Particles operator in/out of active events would reset the sim
  • PhysX bend angle breaking/deforming now more accurate and intuitive: operates on relative angle of rigidbodies rather than angle of binding relative to local pose (NOTE: this has a side effect of making bindings seem less deformable overall, since previous angle deformation settings were very sensitive to changes in relative positions of bound rigidbodies. If you were working with a rigidbody deformation setup, you may need to re-adjust your deformation angle settings to compensate)
  • fixed a regression that allowed non-fluid-containers to be selectable within Birth Fluid/Fluid Force operators
  • fixed issue with uvToWorld conversion in Surface Force
  • fixed a bug where linking within the Set Target operator was not working
  • fixed a bug where the Spin operator “relative to speed” option wasn’t working properly
  • fixed a bug where the motion of Phoenix containers was improperly influencing particles advected through them
  • fixed an issue with tyFlow’s surface intersection calculations which could cause inaccurate results at extreme scene scales (affects tySelect, Surface Test, Birth Intersections, Birth Voxels, etc)
  • fixed issues with the Custom Properties operator interpolating scale/spin/pos/vel magnitude values incorrectly in GET mode

tyFlow v0.16058 (November 11 2019)

Additions:

  • added a PhysX Modify operator for modifying the properties of PhysX bindings
  • added PhysX Bind setting to enable bind drive, for improved stability of stiff PhysX bindings
  • Resample operator has a new optimize mode, that can reduce number of particles in family/target relationships based on angle/distance thresholds
  • added Shape-oriented bounds mode in Rotation operator, for aligning particles to the oriented bounding box of their shape mesh
  • Flow Update operator can now update particle shape meshes
  • added scale mult param to space colonization growth algorithm
  • added Spline Paths option to evaluate in operator order, instead of at the end of the time step
  • added ‘set target to seed particle’ option in Grow operator space colonization settings
  • Display Data operator can now display simulation index
  • Growth operator now has built-in noise options
  • adjusted the space colonization Grow operator algorithm to account for cases where particles could continue to spawn in the same place
  • Scale by target distance mode added to Scale operator. By scale by target and scale by sibling distance modes now treat scale spinners as multipliers on the effect, and compensate for existing scale values

Bug fixes:

  • fixed a memory leak in the tyConform modifier causing RAM usage to continually increase over time
  • fixed a regression where texmaps sampled by the Surface Force operator were not returning correct values
  • fixed a bug where Particle Export could crash if retiming enabled
  • fixed a bug where tyFlow operator keyframes would be buggy, undraggable, etc, in the timeline
  • fixed a bug that could crash max when opening a file from an earlier version of tyFlow than v0.16056 that had a filter enabled on an operator
  • fixed a regression that could cause tyFlow for VRay 3.6 to fail to load on machines missing libmmd.dll
  • Force operator built-in noise2 will now apply additively against the resulting position of built-in noise1
  • fixed a bug where Spline Paths operators set to ‘on entry’ wouldn’t work
  • fixed a bug in the space colonization Grow operator algorithm where the seed radius value was not being interpreted correctly
  • fixed bugs related to the way in which tyCloth inherits mapping values from driver particles

Example Scenes 012 (November 4 2019)

  • added tyFlow_positionTransfer_001: transferring particle positions between meshes with the same topology
  • added tyFlow_spaceColonize_001: growing a tree with the space colonization algorithm in the Grow operator
  • added tyFlow_voxelDance_001: generating dynamic voxels in an animated character.
  • added tyFlow_clusterTears_001: art-directing tears in a cloth mesh

tyFlow v0.16057 (November 4 2019)

Additions:

  • Property Test neighbor radius param now has variation setting
  • Particle Export (tyc) should no longer export .mat files if no actual materials are assigned to particles, even if the sim is recognized as one that could potentially have materials (previously .mat files would be written even if all materials were NULL)
  • added ref frame option to tyActor helper
  • added noise settings to all Surface Test tests
  • added support for PhoenixFD4.xx (current beta)
  • Face Fracture rollout now has timing/filter params
  • added group filter params to tySelect particle mode
  • added “show name” option to tyMesher, tyCache and tySplines objects

Bug fixes:

  • fixed an issue in the Display Data operator where “lineToTarget” would not display properly if particles had been deleted
  • fixed a bug where moving a particle pivot with the Move Pivots operator would cause incorrect hulls to be generated for PhysX Shape operators
  • fixed an issue where changing particle pivots with the Move Pivots operator would place particle shapes and PhysX convex hulls in the wrong location if the particle scale was not equal to [1,1,1]
  • fixed a bug where Point Forces with a negative strength would be killed off too soon.
  • forced tyMesher to ignore reset notifications during save
  • fixed a bug where forces were not affecting the space colonization Grow algorithm
  • Shape operators that reference a group of objects will now respect the pivot point offset of the group head

tyFlow v0.16056 (October 31 2019)

Additions:

  • added Space Colonization algorithm to Grow operator
  • the editor will now report if OpenCL crashed
  • Position Object operator can now scatter on mesh edges
  • added noise settings to Object Test operator
  • added option to disable subobject display and set vertex color map channel in the tySelect modifier
  • filter rollouts can test against a custom float value for all properties
  • Custom Property operator can now set/get particle mass
  • added phase params to Force operator built-in noise, for manual control of overall noise evolution
  • added parent/target modes to Spline Paths operator

Bug fixes:

  • fixed a regression that could cause particles in a non-bind sim to ignore position changes made to them
  • fixed a bug that could cause massive slowdowns when loading certain files containing tyFlow that reference a lot of texmaps/mtls
  • fixed an issue where the Surface Force operator was not reading RGB values from textures with the correct gamma conversion
  • fixed a bug where setting particle mass with a Script operator would sometimes not work
  • removed unnecessary AuraLoader MXS printout
  • fixed a bug where tySelect was calculating baked selections during a scene file load, even if it was not an enabled modifier in a stack
  • tySelect additive selection mode will now hold on the first/last frame of the cache, if the time slider is outside of the cache range
  • fixed an issue with the tyParticleSkin modifier, where tyActors importing it could potentially reference the wrong particles of the underlying flow being used by the skin
  • fixed a regression that could cause the Script operator to crash when clicking the […] menu button

tyFlow v0.16055 (October 27 2019)

Additions:

  • tySelect modifier can convert selections into Vertex Color channel values
  • improved the tySplineMesher modifier with new controls, ability to deform any mesh along splines, etc
  • Material ID operator has the ability to seed values by time
  • Rotation op facing average/closest now having forward vector options (NOTE: rotation facing direction is now along the Z-axis, not X-axis)
  • added “Extract splines” button to tySplines object
  • the Camera Cull operator can perform proximity tests now, and can take any object as a culler
  • added “skip existing files” option to PRT exporter
  • added noise options to gizmo mode of tySelect modifier
  • added orientation settings in Spline Paths operator (corresponds to tySplineMesher knot orientation setting)

Bug fixes:

  • fixed a crash that could occur in the Voronoi fracture operator if the input mesh had a null map channel
  • fixed a bug affecting texmap sampling accuracy (affects texmap mode in the tySelect modifier)
  • fixed a bug where tySelect in additive selection mode wouldn’t always update the current frame’s selection after computing an additive selection cache
  • fixed a crash that could occur during element extraction in the Birth Objects operator
  • tySelect additive selection baking should now be faster when other modifiers are present on the stack above the tySelect
  • fixed a bug that could cause OpenCL to crash on successive runs if no binds exist at the beginning of the sim
  • tyFlow can now read FumeFX post-process/wavelet caches

tyFlow v0.16054 (October 20 2019)

Additions:

  • changing a float value controlled with a tyRateOfChange controller will automatically adjust the controller’s offset value accordingly
  • added new per-particle break mode to PhysX Break and Particle Break operators

Bug fixes:

  • fixed a regression that could cause particles to stop moving when Particle Physics is used and OpenCL is enabled, if no cloth or particle bind constraints exist
  • fixed an issue where pivot point adjustments to a mesh using as a skinned tyActor could result in broken skinning within the flow, requiring a resetXForm operation.
  • fixed a bug where the Move Pivots operator was not displaying the right info in the operator name
  • fixed a bug where choosing various local export options from the viewport menu would still attempt a network export
  • implemented a measure which should prevent a tySelect from being able to choose a tyFlow which is referencing the object the tySelect is on (creates an infinite evaluation loop)
  • fixed a bug that could crash the Script operator if an invalid map channel was referenced with the GetClosestUVW function
  • fixed a bug causing certain “GetClosestX” Script operator functions to crash, when called in multithreaded mode

tyFlow v0.16053 (October 17 2019)

Additions:

  • added Position Transfer operator
  • added tyRateOfChange float controller for keyframe-independent control of linear float value animation
  • added tySelect additive selection baking, for temporally continuous selections with ability to decay over time
  • axial influence params added to Path Follow operator’s attraction settings
  • value clamp/exponent settings added to tySelect modifier
  • added ‘duplicate selected’ option to tySelect selector list menu
  • additional UV generation options added to tySplineMesher
  • added new variation/face area/direction settings to tyFaceExtrude modifier
  • added ID filter for Property Test binding count tests

Bug fixes:

  • fixed a crash that could occur in tySelect when selecting by texmap
  • fixed an issue where tySplineMesher would sometimes stop evaluating after changing its settings
  • fixed an issue where changes to input texmaps would not necessarily cause tySelect to update until the viewport is redrawn
  • fixed an issue where custom property data was not transferring properly between flows using the Flow Update operator if particles were deleted in the first flow
  • fixed an issue where the Test operator would not write test values to custom data channels if send type set to “ignore”
  • fixed a bug where the Particle/PhysX Break Test rollout channel params were broken
  • fixed a bug where cloning a tyFlow node wouldn’t properly update any currently open editor tabs
  • fixed a bug where OpenCL driver could crash if all bindings are torn
  • fixed a stability issue with the tyFaceExtrude modifier
  • fixed a bug in the Script operator where “SetBindsActive” would always de-activate particles
  • fixed a bug where calling “NewBind” in the script operator would not create active bindings
  • tyFaceFracture modifier is now multithreaded, and much faster when set to fracture all triangles individually
  • fixed a race condition in the tySelect modifier that could occur in selectors that use a random seed for calculations
  • cleaned up the Property Test operator so unnecessary conditions are not displayed for incompatible properties
  • fixed a bug where the Spline Paths operator (in bind mode) was not splining binds created with the Script operator

tyFlow v0.16052 (October 9 2019)

Additions:

  • tySelect modifier can select by particle proximity
  • Displace operator now offers texmap-independent noise displace mode
  • Voronoi operator will now show fracture progress in status bar

Bug fixes:

  • fixed issues with tySelect mesh mode that were affecting accuracy and performance (tySelect mesh mode should perform much faster than max’s Vol. Select mesh mode now, whereas before it was considerably slower)
  • triggers with identical channels in a tyActor will no longer override each other
  • fixed a crash that could occur in tySelect if Mesh selection sub-object set to faces
  • fixed a bug where “On event entry” timing modes would sometimes not trigger for particles looped back to the event in a single time step
  • fixed a long-standing bug causing overall PhysX indeterminism after PhysX binds were broken
  • turning on collision sphere display in the Collision operator will no longer reset the flow
  • fixed a bug where tySelect in gizmo-plane mode was performing inverted selections by default

tyFlow v0.16051 (October 4 2019)

Additions:

  • tyCurveControls are now clamped at [-1,1] which allows for negative soft selection values
  • added right click option in tyCurveControl to snap points to various rounded y values

Bug fixes:

  • fixed an issue where particles sent to another event could potentially leak through a collider on the first frame in that event
  • fixed an issue where deforming or moving meshes in a tySelect wouldn’t update the selection with their animation

tyFlow v0.16050 (October 3 2019)

Bug fixes:

  • fixed a regression affecting many test operators that slipped into the last build (max could crash if the test operator had no output)
  • fixed a crash that could occur while saving a scene with a tySelect modifier in it, in 3dsmax 2019 and above
  • fixed an issue where tySelect would not update when input texmaps are animated

tyFlow v0.16048 (October 3 2019)

Additions:

  • added tySelect modifier as a feature-rich, robust replacement for max’s Vol. Select modifier
  • Limiter operator now has position variation setting
  • Display Data operator can display event index
  • Link to Target operator now has settings to disable linking of pos/rot/scale
  • tyFaceExtrude “exponent” parameters replaced with curve controls for defining custom soft-selection curves
  • Speed operator now has interpolation parameters as well as the ability to choose between setting/adding to existing velocity values
  • “Has Shape mesh” test added to filter rollout and Property Test operator
  • Shape operator now has timing/filter rollouts
  • tyParticleSkin can now filter input particles by groups
  • Object Bind “verlet integration” setting allows particle velocities to match their relative motion of the surface they’re attached to, regardless of surface stickiness
  • added option in Face Extrude modifier to select affected faces
  • added options in Property Test neighbor search to use neighbor radius or combined radius in proximity test
  • added event index property to Custom Properties operator
  • adding the word “noseed” into an operator’s name will prevent it from being re-seeded during a PRT partition export operation
  • added “grayscale force multiplier” option to Surface Force texture parameters for dampening accumulated Surface Force velocities with a texmap

Bug fixes:

  • fixed a bug where the tyFaceExtrude modifier scale setting was not properly interpolating soft selections
  • fixed an issue where selecting a tyCollection could cause its dependent flows to reset
  • fixed an issue that could cause tyFaceExtrude and tyEdgeWeight modifiers to crash in some circumstances when operating on editable poly meshes
  • fixed an issue where Export Particles could not create UNC paths
  • fixed a bug where tyCache’s GetParticleTMByIndex function was not returning properly interpolated TMs
  • fixed a bug where tyFaceExtrude was ignoring vertex selections if soft selection disabled
  • fixed a bug where tyCache objects would not adopt VRay global mtl overrides
  • increased default value of Voronoi operator “max fractures per frame”
  • fixed a bug where the Split operator could crash if its test action was set to increment custom float
  • fixed a crash that could occur in the Path Follow operator if input splines have no internal shape
  • fixed an issue with editable poly inputs to tyFlow functions not properly reading hidden edge flags
  • fixed a bug where dragging an Export Particles operator to the top of an event would cause the event to disappear
  • fixed a crash that could occur if you chose to include spline paths geo in the Export Particles operator, and also deleted the actual spline paths object in the scene

tyFlow v0.16047 (September 23 2019)

Additions:

  • added Event Index test to operator filters
  • added breadth-first bind-by-ID search to property test
  • added “inflate whole cloth” option to Modify Bindings inflate parameters
  • added planar distance test options to Object Test operator
  • added option in Tets operator to assign box-projected UVWs
  • Flow Update has an option to disable Birth Flow ID tracking, so that it can be used on its own without a corresponding Birth Flow operator.
  • added tyFaceFracture modifier which has equivalent functionality to the Face Fracture operator
  • added tyEdgeWeight modifier for procedural assignment of edge weights to an editable poly (for use in combination with Meshsmooth, Quad Chamfer, etc)
  • added tyFaceExtrude modifier for procedural face extrusion/scaling using vertex soft selection values as a multiplier for the extrusion/scale amounts
  • tyExtrude modifier renamed tySplineExtrude
  • tyMesher “input geometry” mode can now filter matIDs in order to cull certain pieces of input geo
  • tySpline weld parameters now apply to all knots on a segment, not just matching endpoints
  • added “per frame” mode to spawn operator
  • Birth Burst operator can now save per-burst groups/properties
  • added “Current Value” options to Custom Properties operator, for transferring existing channel values to/from target particles

Bug fixes:

  • fixed a crash that could occur in the Cloth Bind operator if the input mesh has invalid texture vert indices
  • fixed an issue where Cloth Bind constraints would not get a proper ID if the cloth ID was set to 0.
  • delete operators show timing info in editor (reversion of previous removal)
  • fixed an issue where Surface Test occlusion test was saving numRays instead of numHits in custom data channels when told to in the Test rollout
  • fixed a regression which could cause the PhysX Bind operator to crash
  • fixed a bug where converting multiple particles into tets in the same time step would result in their tet resolution getting progressively denser.
  • fixed a bug where “random” break mode in the Particle Bind operator was not actually random, and bindings would not break properly
  • fixed a bug where Export Particles additional geo was not exporting in the correct coordinate system
  • fixed a bug where where “Channel (Target)” option in the Custom Properties operator was displaying the incorrect text “Change Existing”

Example Scenes 011 (September 13 2019)

  • added tyFlow_actorTriggers_001: demonstrates how to track footsteps with actor triggers
  • added tyFlow_bindPoseMatch_001: demonstrates rigid animation transfer to PhysX actors
  • added tyFlow_clothRigidbodyInteraction_001: demonstrates 2-way interaction between cloth and PhysX rigidbodies
  • added tyFlow_splineDisturbance_001: demonstrates procedural creation and disturbance of dynamic, spline-base meshes
  • added tyFlow_sliceCube_001: demonstrates recursive slicing and spinning of a mesh
  • added tyFlow_trianglePeel_001: demonstrates procedural face-by-face peeling of mesh triangles
  • added tyFlow_tetTear_001: demonstrates tet-based mesh tearing
  • added tyFlow_tetTearClusters_001: demonstrates controllable tet tears using particle clusters

tyFlow v0.16046 (September 13 2019)

Additions:

  • added ‘shape sample’ option in Move Pivots operator
  • added custom vector modes to Move Pivots operator
  • added “Closest edge on shape” alignment mode to Rotation operator
  • added additional radius settings to Set Target proximity mode
  • added “closest to object” and “furthest from object” neighbor selection options to Set Target proximity mode
  • added “must have overlapping edge” option in Set Target operator
  • added options to Shell operator for surface-area-relative extrusion amount, and beveling
  • shell operator now has timing and filter rollouts
  • added float lerp functions to script operator
  • custom properties operator “tm” mode can now assign to/from various combinations of pos/rot/scale
  • Limiter can now limit min magnitudes as well as max magnitudes for various properties
  • more options added for defining raycast/wrap direction in Conform modifier
  • option added to exclude parent from sibling Spline Paths mode
  • you can now select multiple operators and connect their outputs to an event simultaneously
  • listbox menus now have add-from-list option
  • tyCollections can now select scene layers, which allows you to procedurally include layers in tyCollections (and thus automatically add all their objects as inputs)
  • tyCollections can also import objects by name, and supports wildcards (ex: “Sphere*“)
  • value variation is now distinct from interpolation variation in the Custom Properties operator
  • added “cluster within radius” setting to Set Target operator, for creating logical groups of particles with a single target
  • added “move to target” and “link to target” options to Set Target operator for quickly moving/linking to target without the need for Move to Target and Link to Target operators
  • tyConform modifier can now conform material IDs
  • added “stitch 0-length binds” to Particle Bind operator as a post-step measure to ensure particles joined by binds with a rest length of zero stay perfectly together.
  • Property Test can now use particle x/y/z for neighbor forward search direction
  • improved tyMesher auto-update behavior
  • added velocity projection options to Object Bind operator in sticky mode
  • added tets mode to tyMesher
  • added Tets operator
  • added tyWeld modifier with options to help weld interior tet faces of converted meshes
  • added “cycle through target list” option to Find Target operator, for cycling through targets until last target reached, starting with target index defined by custom float channel
  • added “round to nearest frame” option in tyCache to prevent subframe evaluation (can alleviate some VRay render issues caused by changing topology, but will prevent motion blur)
  • added option in Cloth Bind operator to fix inverted tet cloths
  • Slow by surface can now take any object as input, not just meshes
  • added “ignore start penetrations” option to Particle Physics operator, to ignore penetrations between particles that are already intersecting on their entry to the event
  • added “optimal sort for tets” option to proximity Particle Bind
  • Property Test neighbor search now has more radius options
  • Particle Physics “draw shapes/draw tolerance shapes” are now separate options
  • Find Target closest point “spread” option is now more accurate
  • added option to disable legacy particle interface in tyFlow/tyCache (can improve compatibility with some 3rd party plugins)
  • added max length break condition to PhysX Bind operator
  • added Actor Convert operator for converting actor skinned meshes into particle shape meshes
  • added the ability to save particle shape indices to a custom data channel to the Shape operator
  • added extrude direction settings to tyExtrude modifier

Bug fixes:

  • fixed a bug where max would sometimes crash after creating a new icon flow, changing the birth count, and then moving the icon (note: this bug may have been responsible for other crashes as well)
  • fixed an issue where exporting spline geo in the Export operator with caching disabled could cause the simulation to recompute the entire flow for each successive frame
  • fixed a bug where the by-travel mode of the Spawn operator would generate overlapping particles
  • fixed a bug where the “projected” option of the Position Raycast operator was not working
  • fixed issues related to the Spline Paths operator splining dead bindings, and the tySplines object not welding bindings properly
  • fixed an issue where VRay motion blur was not working when simulation retiming was enabled
  • fixed a bug where the Flow Update operator was not importing particle velocities at the correct unit scale
  • fixed an issue where the tyCache particle interface was not properly interpolating subframes
  • fixed an issue where new PhysX binds would not regenerate after being previously broken
  • fixed an issue where broken PhysX binds would not display when playing back cached frames
  • fixed an issue where putting a Turbosmooth on a tyCache was still laggy
  • increased default PhysX substeps in order to decrease jitter

tyFlow v0.16045 (August 27 2019)

Additions:

  • tyConform operations can now be interrupted with the ESC key

Bug fixes:

  • fixed a bug where Rotation operator divergence in travel direction mode was not being applied in particle space
  • fixed a bug where tyMesher UI not visible in max 2016

tyFlow v0.16044 (August 25 2019)

Additions:

  • Added clustering options to tyMesher for meshing different parts of input points separately
  • Added Birth Spline operator for more control over spline-based particle birth
  • Spin operator spin axis can now be in particle space
  • Delete operator now has ability to delete particle parent or target
  • added Move to Target operator for moving particles to their target particle’s location
  • Surface Test in raycast mode can save hit location to custom data channel
  • improved “Hybrid” surface sample mode accuracy
  • options added to get mapping values from target particle in Mapping operator
  • added option to save corresponding cloth mesh vertex index to custom data float channel in Cloth operator
  • added option to interpolate strength of inflation force over event age in Modify Bindings operator, for better gradual inflation
  • option to delete parent added to Branch operator
  • add option within “spawn by travel” in the Spawn operator to spawn particle at beginning of distance interval
  • simulation group filter added to Export Particles operator
  • clicking the on/off icon on a selected event or operator will also toggle the enabled state of all other selected events or operators
  • can now set forward vector for custom vec/travel modes in Rotation operator.
  • added button to extract the current mesh in the tyMesher settings
  • added old “divergence” force mode of the Surface Force operator back in, renamed it “steering”.
  • Voronoi Fracture operator will now set proper smoothing groups on slice cap faces
  • added “optimize” option in tySplines object for culling spline knots based on angle threshold
  • Displace operator now allows multiple IDs in matID filter
  • “Absolute position” mode added to Move Pivots operator
  • Interpolation spinner added to Move Pivots operator
  • added ability to save event age to custom data channel when test TRUE in operator Test rollouts
  • added ability to save test value to custom data channel when test TRUE in operator Test rollouts
  • Relax operator now has timing/filter rollout
  • tyMesher now has the ability to inherit the raw meshes of its input objects (as opposed to converting them to a blobmesh). This functionality is similar to max’s “Mesher” object functionality, with the benefit of tyFlow being able to add a list of objects instead of just a single object.
  • added repulsion settings to Flock operator
  • Property Test operator now has position delta magnitude test, for testing the distance between a particle’s current position and it’s position at the beginning of the time step
  • by default, when no Instance ID operators are assigned to particles, their instance ID will be their birth ID (prevents inconsistent IDs assigned by VRay itself)
  • Birth Objects element split algorithm is now multithreaded
  • added noise options to Cluster operator voronoi mode for better cluster deviation
  • added auto/manual update options to tyMesher

Bug fixes:

  • fixed a serious bug in the Flock operator that was causing particle positions to be misinterpreted during the neighbor search phase of the force calculations
  • fixed an issue in the Particle Force operator, where influence falloff was not working and spin forces were not working if particle velocities were zero
  • fixed an issue where dragging the arrows of the distance spinner in the Set Target proximity settings had no effect
  • fixed a bug where deconverted cloth meshes were inheriting mapping overrides, which was overriding deconverted cloth UVWs
  • fixed issues with tySpline object knot welding functionality.
  • fixed a bug where maxscript listener sim printout was sometimes displaying huge frame range values for flows with no particles to sim
  • fixed instability related to renaming tyFlow nodes
  • fixed a bug where static flows would sometimes not calculate proper bounding box around particles, causing them to disappear in the viewport
  • fixed a bug where tySplineMesher parameter names were not displaying in the track view

Example Scenes 010 (August 11 2019)

  • added tyFlow_fractureDisplace_001: increasing Voronoi fracture detail with Displace operator
  • added tyFlow_findTarget_001: using particle targets to make particles follow each other
  • added tyFlow_proximityBind_001: creating cobwebs by bindings particles to their targets
  • added tyFlow_proximityLink_001: creating sticky particles by linking particles to their targets

tyFlow v0.16043 (August 11 2019)

Additions:

  • added “Set Target” operator for particle target assignments
  • added “Link to Target” operator for linking particles to their targets
  • added “Displace” operator for displacing particle shape meshes with a texmap
  • “Display Particle Counts” option in editor right-click menu allows you to see particle counts for each event
  • tyCache object input path can be manually-entered relative path
  • added tyLibMtl Material for directly referencing a material from a .mat file [experimental]
  • Resample operator can now resample by target
  • Custom Properties operator now has the ability to get from target, set to target, etc, for saving/loading data to/from target particles.
  • Custom Properties operator now has filters rollout
  • “Valid Target Count” test added to filters rollout and Property Test operator
  • added “Display in viewport” option to tyMesher, for disabling viewport mesh generation
  • Property Test can use custom float as the test value
  • event age/particle age properties added to Property Test
  • added resampling settings to tyMesher for filling in surfaces with sparse vertices
  • tyMesher generation can be interrupted/cancelled by holding ESC
  • group and spin channel inheritence added to Flow Update operator
  • Birth Flow/Flow Update can now cull imported particles by export groups
  • Speed operator now accepts any object as input, for ‘Center Out’ and ‘Axis out’ modes
  • Actor Animation operator now has filters rollout
  • Resample operator can now resample all affected particle’s binds (if ‘particle binds’ checkbox is enabled), not just those joining family/target pairs
  • Particle Bind and PhysX Bind operators support binding by target
  • PhysX Bind sibling/parent mode will now attempt to find more accurate closest points between input meshes to anchor bind endpoints from, rather than simply the particle centers
  • Find Target operator has new setting to find particle’s target
  • Property Test now has “distance to target” test
  • Property Test has ability to test properties of target particle
  • tyMesher can now smoothly interpolate UVWs when inherit UVWs is enabled
  • added raycast offset spinners to tyConfrom modifier, for offseting raycast origin points
  • Boundary operator behavior can now be inverted (delete/send if inside)
  • Send Out operator now has timing/filter rollouts
  • Property Test now has filter rollout
  • Subdivide operator now has timing/filter rollouts
  • added ability to change birth event evaluation priority
  • added weld tolerance setting in tySpline objects, which also allows you to close open spline loops
  • all Surface Force modes now have divergence setting
  • Material ID operator settings consolodated into more organized rollouts
  • Material ID operator now has 20 frequency slots
  • Material ID operator has ability to bake ID overrides into particle meshes
  • added “Target Align” option in Rotation operator

Bug fixes:

  • fixed a regression where Shape operator was not processing multiple shapes in the list
  • fixed a bug where Split operator “per frame” mode was ignoring operator timing settings
  • fixed a bug where tyCache particle interface was returning velocities in units that were too large
  • fixed an issue where tyCache particle interface would crash if tyCache had no particles loaded
  • fixed a bug where the Subdivide operator was not optimized properly when “relative” mode disabled and particle scales were not uniform
  • fixed a freeze when retrieving particle meshes from the particle interface
  • fixed an issue where tyMesher was unnecessarily re-evaluating in certain situations
  • fixed a crash that could occur in Birth Flow/Mesher/Flow Update when reading data from a particle source that doesn’t return proper data values
  • fixed a crash that could occur in the Birth Voxels operator, if input meshes had multiple elements and min dist to surface value was greater than zero
  • fixed a bug where Display Data operator was not properly displaying names of material overrides
  • surface area tests throughout tyFlow now consider particle scale during calculations
  • fixed an issue that could cause VRay to crash when rendering empty meshes in tySplineMesher
  • fixed a bug that could cause crashes in some rare situations when using built-in Shape meshes due to improper topology update interval being defined for all default meshes
  • fixed a bug where the tyCache particle interface was not respecting the assigned coordinate mode of the tyCache when returning TMs
  • fixed a crash that could occur if an input spline object has a segment with no knots
  • fixed a bug where tyCache group filters were having opposite effect (ex, filter sim group 1 and all groups except 1 would be displayed, when only group 1 should be displayed).
  • optimized generation of tyCarve slice meshes
  • fixed a bug that could cause tyCarve to freeze during long slice operations that involve self-intersecting slice meshes
  • fixed a bug where the Flow Update operator with an input tyCache or IParticleObjectExt interface would not update correctly if the particle count changed over time
  • fixed a bug where the Flow Update operator was not properly flagging velocities from tyCaches/IParticleObjecExt interfaces as integrated
  • fixed a crash that could occur when importing FBX data into a scene with existing tyFlow nodes
  • Surface Force “diverge” mode removed, as its functionality was neither clear nor particularly useful
  • fixed some bugs preventing the Particle Physics operator from working properly in non-integrated mode when particles enter the event at different intervals

tyFlow v0.16042 (July 25 2019)

Additions:

  • added render index override for tySwitchers
  • DeleteParticle function added to script operator
  • Export Particles operator supports typed-in relative paths

Bug fixes:

  • Shape operator now compatible with tySwitcher, tyCollection (although it can only use the first member of a tyCollection array)
  • fixed a regression affecting VRay instance voxel bbox size calculations, which could result in a VRay render error
  • fixed an issue where unescaped special characters in the vrmesh exporter output path would prevent the export from completing properly.
  • improved Bind Solver sim stability when a large disparity exists between various particle radii

tyFlow v0.16041 (July 24 2019)

Additions:

  • Resample operator optimized, hanging bug fixed when dist threshold is 0, particle-pair limiter added, for limiting the total number of resample particles that will be generated between any two matching sibling or parent/child pairs.
  • Custom Properties operator can get matID of first face in assigned particle mesh (for quick sampling of matID from particle mesh to data channel)

Bug fixes:

  • fixed crash in Birth Voxels operator when set to ‘surface’ mode and using ‘accurate’ samples
  • fixed an issue where in some rare circumstances VRay proxies loaded directly into a Shape operator were looping their animation even though Shape operator playback was not set to loop
  • fixed an issue where VRay wouldn’t render particles if motion blur interval set to certain values
  • fixed a regression where VRay wasn’t properly rendering certain render elements (ex, velocity)
  • Alembic mesh export now exports mesh materialIDs inside “.materialids” property. NOTE: this may not be compatible with some Alembic importers.
  • fixed an issue where the Custom Properties operator was getting/setting matID values from particles in a 0-based manner instead of a 1-based manner consistent with other operators

tyFlow v0.16040 (July 23 2019)

Additions:

  • added a “%” spinner to Particle Bind operator controlling the percentage of bindings that the break settings will apply to (bindings outside of this percent will not be breakable).
  • due to bugs in max’s Alembic implementation (causing repeated rogue change notifications in some situations each time the viewport refreshes, which causes tyFlow to continually reset the simulation), ALL Alembic notifications are now ignored when “ignore .abc notifications” is enabled in the Debugging rollout (and it is enabled by default), rather than just those sent when the time slider moves.

Bug fixes:

  • fixed a regression where non-instanced meshes would not carry over mapping overrides
  • fixed an issue where Property Test was returning the wrong matID values to test (note: if you were previously using a Property Test to test for Material IDs, increase your test value by 1 to be compatible with this change! So if your test value was 3, change it to 4, etc.)
  • fixed a crash that could occur during Voronoi fracture if the input mesh has no faces
  • fixed a bug where tyMesher would sometimes not update properly
  • fixed a bug where Particle Bind “break max length” was not having the proper effect
  • fixed an issue with Particle Bind display showing binds as black instead of the operator color, or were not showing until a sim refresh

Example Scenes 009 (July 21 2019)

  • added tyFlow_spiderWeb_001: simulating flies caught in a dynamic spiderweb
  • added tyFlow_conveyorBelt_001: simulating dynamic boxes on a moving conveyor belt
  • added tyFlow_fray_001: simulating cloth tearing with thread fraying
  • added tyFlow_freiOtto_001: simulating Frei Otto attraction forces on particle strands
  • added tyFlow_ropeBridge_001: simulating a dynamic rope bridge with actors running across it
  • added tyFlow_pathFollow_001: simulating particles following along multiple branching paths.
  • updated tyFlow_chainLinks_001 so that the chain geometry is seamless

tyFlow v0.16039 (July 20 2019)

Additions:

  • filters added to Material ID operator
  • new cloth tear particles now considered children of their adjacent tear parent parents
  • Resample operator can now resample child/parent particles
  • tyCache file info panel shows instance material channel/lib availability
  • texture-sampling operators (Position Object, Surface Test, Property Test, etc) now support VRayDistanceTex
  • tyActor helper now supports actor triggers, which can be used to trigger events in a particle system based on trigger object intersections in the reference rig (ex: footsteps in the reference animation trigger particle spawn in the flow)
  • Particle Force operator now supports multi-system input, default particle systems, tyCaches, etc
  • tyCache export now supports spin channel (to be compatible with Particle Force)
  • Speed operator given “simulate substeps” option for artificially spreading out particles with a uniform velocity
  • added ability to disable color value normalization in Surface Force operator
  • binding pose-matching option added to Actor Animation operator, for rigid pose matching to source animation
  • [experimental] added support for Temporal Gauss-Seidel PhysX solver
  • due to Alembic objects sending rogue reset notifications (when not in performance mode) a new option has been added to ignore alembic object reset notifications in the Debugging panel (it is on by default)
  • added an ‘expand editor rollout’ option in the Debugging rollout, for manually expanding the width of the editor operator rollout, in rare cases where a Windows screen scale glitch causes the editor rollout to get cut off. This is a sticky setting that affects all tyFlows and saves/loads with max.
  • added option in Camera Cull operator to apply to particle interface

Bug fixes:

  • fixed a bug where inter-dependent flows would sometimes reset when rendering begins
  • fixed an issue where tyCache particle interface was crashing when accessing the velocity channel (this would crash a tyMesher trying to mesh a tyCache, for example)
  • disabled auto-clear of tyCache memory when in network render mode, because it was causing extremely long render times in certain situations (cache clearing can still be enabled in tyCache settings)
  • fixed an issue where tyFlows referencing a tyCache would not use their proper render settings at rendertime
  • fixed a bug where Vray Proxy objects referenced by the Shape operator would not pass their materials to the Shape operator even when the inherit material option was chosen
  • fixed a bug where the ‘colliders’ checkbox in PhysX Bind was greyed out

tyFlow v0.16038 (July 16 2019)

Additions:

  • added ability in Shape operator to load preview data from .vrmesh file for viewport display
  • added ability in tyCache object to display simplified mesh in viewport containing subset of original faces
  • added new distribution option to Shape operator (index from custom data float)
  • added Instance ID operator for controlling VRay instance IDs (for use in vray multimat)
  • added ‘first or last vertex’ to Surface Test (for testing against proximity to spline start/end)
  • Birth Shape operator renamed to Birth Objects, ability to inherit input object meshes is now optional….disabling mesh inheritance will speed up transform copy from objects to born particles.
  • added local/world coordinate options in Export Particles operator
  • added default frame option to Shape operator for choosing which frame to query in the view when animation updates are set to render only
  • added ‘remove duplicates’ option to listbox […] menu to listboxes that allow duplicate entires (tySwitcher)
  • “No material” option added to instance material override operator, for clearing material assignments
  • filters added to Particle Bind operator
  • added sequential clip playback option to Actor Animation operator, for automatically playing through multiple animation clips without having to switch events
  • Scale operator proximity/texmap multipliers now respect scale mode (for example, in ‘relative add’ mode the multipliers will apply to the spinner values, not the result as a whole). This allows for additive scale effects using the texmap/proximity settings.
  • Birth Voxels and Spawn operators given “minimum distance from surface” setting, for culling voxel particles within a certain distance to their parent surface

Bug fixes:

  • fixed a crash that could occur when exporting tySplines in a tyCache
  • fixed an issue where applying a Meshsmooth/Turbosmooth to a tyFlow or tyCache would take an extremely long time to calculate
  • fixed an issue where tyMeshes matIDs/UVWs were not transferring properly when multiple mesh objects were added to the input list
  • fixed a bug where Find Target ‘by time’ mode would not work with a custom data value as the target location.
  • fixed a bug where tyCaches would continually reload internal meshes if cache files contained no particles
  • fixed a bug where tyCache validity intervals would not be set properly if clamp and frame offsets were both applied
  • fixed a bug where max could hang when exporting many objects
  • fixed a bug where tyCaches in local coordinate mode rendered with VRay would render with incorrect normals when rotated
  • fixed a bug where adjusting Cloth operator shell matID overrides would not update the mesh until the sim was reset
  • fixed a regression where Object Bind operator was having issues since the previous integration of particles filters
  • fixed a bug where Shape operator would assign material override if .mat file was specified even if mtl override mode was set to “none”
  • fixed incorrect behavior in Fuse operator when fusing with other particles in the same event whose event age is greater than 0
  • fixed an issue where tyFlows would reset when any object in the scene was moved, if they were using a tyCache as an input object
  • tyCollection no longer allows duplicate listbox entries
  • fixed an issue where the listbox […] menu of tySwitchers would crash max
  • tyCaches in local coordinate mode will no longer reload/regenerate their mesh when their transform changes
  • VRay Proxy objects that are used as tyFlow input objects will consider proxy node animation playback settings before loading directly from file.
  • fixed an issue where layering mutliple tyBoolean modifiers on top of each other could prevent input operand animation from updating
  • fixed an issue where trajectory tySplines were not interpolating smoothly when slowed down using the retimer
  • Scale operator ‘relative add’ mode now actually relative to existing scale values rather than (1,1,1)

tyFlow v0.16037 (July 8 2019)

Additions:

  • alembic mesh export support added to Export Particles operator
  • tyConform modifier supports conforming splines
  • Object Bind, Find Target and Modify Bindings operators have all been given timing/filter rollouts
  • added sort and randomize options to listbox […] menus
  • added “add selected” button to all relevant helpers, objects and modifiers (use max’s “pin stack” feature to add a new selection to a helper/object/modifiers node listbox)
  • added value multiplier for float/vector channels of Custom Properties operator
  • cleaned up Modify Bindings operator UI and added “multiply original” operation.
  • deconverted cloth particles will inherit the properties of their source cloth driver particles (inherits from the first particle of the driver array)
  • Property Test operator can now test texmaps using particle mapping coordinates
  • Added option in tyCache exporter to only create tyCache node if existing node for the sequence is not already in the scene, otherwise the existing node will simply have its internal cache updated/cleared.

Bug fixes:

  • fixed a typo where export group button labels were sometimes out of order
  • fixed a bug where groups instanced by the Shape/Birth Shape operator were not retaining their UVW coordinates
  • fixed crash that could occur when using tyConform on a spline with UV conform enabled

tyFlow v0.16036 (July 4 2019)

Additions:

  • added sweep test option to Property Test neighbor search, for searching for neighbors along the entire trajectory of moving particles
  • added field of view option to Property Test neighbor search, providing the option to limit a particle’s search field of view along its trajectory (for example, so it only finds neighbors in front of it, and skips neighbors behind it)
  • tyBoolean modifier can now take multi-object input, and an option to hide objects after they’re added has been implemented
  • tyBoolean modifier now has option to convert coplanar triangles into polys
  • editor tabs have icon showing which flow is selected

Bug fixes:

  • fixed an issue where tyMesher would only operate on the last particle system in its input objects list
  • fixed an issue where Property Test neighbor group results were not always returning correct values
  • modified operator drag/drop behavior so any selected events are deselected after an operator is dragged around

tyFlow v0.16035 (July 2 2019)

Additions:

  • Export operator now supports exporting animated Vray Proxy files
  • tyMesher now has an option to mesh particle shape meshes
  • expanded “export all” utility menus
  • Shape operator animation settings now have playback speed controls
  • added “flip” option to Wobble operator axis selection

Bug fixes:

  • fixed a regression in v0.16034 where the Branch operator no longer worked
  • fixed a regression in v0.16034 where input geometry vertex normals were being calculated incorrectly, which could have a detrimental impact on how certain operators (like Object Bind) calculate particle velocities
  • fixed a bug where actor particles were not affected by Wobble operators applied to them
  • fixed an issue where tyFlow validity interval was returning incorrect value in some cases, which was affecting renders of dependent objects like tyMeshers.
  • fixed a bug where actor rig particles would have incorrect velocities applied to them on the frame of their birth
  • fixed a bug where File->Evaluate was not properly evaluating scripts in the Script operator script editor
  • fixed a bug where “seed by time” in the particle filters rollout had no effect

tyFlow v0.16034 (June 28 2019)

Additions:

  • added a “filters” rollout for many operators, that allows fine-tuned activation control for particles
  • increased the width of the operator rollout UI so it’s less claustrophobic, longer names can be viewed in listboxes without the need to scroll, etc.
  • [experimental] tyFlow should now respect pivot point changes on input geometry/transforms of Shape operator, Actor operator, Object Test, Find Target, etc.
  • Birth Flow/Flow Update operators can now take any particle systems that expose the IParticleObjectExt interface (pflow, tyCache, etc) as input.
  • added ‘Vertex (first)/Vertex (last)’ option to Birth Surface for easy spawning of particles at the start/end of splines.
  • distance to first/last vertex option added to Surface Test. An example use of this option is testing whether a particle has reached the end of a path it is following.
  • added ‘remember parent’ option in Spawn operator which can be disabled so that particles will not retain parent information. Disabling this is helpful is certain complex setups where you have multiple Spawn operators that are generating particles and you don’t want all of them to be considered siblings.
  • compacted the Surface Test UI by changing options to dropdown instead of radiobuttons
  • tyMesher can now filter input tyFlow particles by group affiliation
  • PhysX joint local poses between rigidbodies will now scale properly if the corresponding particles are scaled
  • added “Shape Mesh MatID” test to Property Test for testing the matID value of the first face on a particle’s shape mesh. This is different from a regular matID test which tests the matID override of a particle, independent of any meshes assigned to it.
  • added ‘sort by surface area’ option to PhysX Bind (proximity)
  • added surface/pivot target object selection options in Move Pivots operator

Bug fixes:

  • fixed an issue where rendering tyMeshers with tyFlow input in a sequence would stall after the first frame
  • fixed an error where VRay could crash or hang during rendering when rendering the first frame of a sequence when tyFlow caching is enabled
  • fixed a bug where Birth Surface “save birth index” option was saving surface element index instead of object index
  • fixed a crash that could occur when cloth tearing is enabled on degenerate mesh faces
  • fixed an issue where the Mass operator was not setting values correctly in some situations
  • fixed a crash that could occur when doing a breath-first mass assignment with PhysX particles that are bound to collision geometry or the ground
  • fixed radiobutton selection issues in Move Pivots operator

tyFlow v0.16033 (June 23 2019)

Bug fixes:

  • fixed a crash that could occur if more than 1 object was added to a tyMesher

tyFlow v0.16032 (June 23 2019)

Additions:

  • tyMesher object added for meshing point clouds
  • move item up/down option added to listbox menus

Bug fixes:

  • fixed a bug where Particle Physics operator validity was not remaining static when in non-integrated position mode
  • fixed a bug where tyCaches rendered on a network would not render as VRay instances
  • fixed a bug where tyCaches would not export Material ID channels properly if an Instance Material operator was in the flow

tyFlow v0.16031 (June 15 2019)

Additions:

  • double-clicking a flow tab in the editor UI will select the corresponding tyFlow in the scene
  • the max asset manager should now track all tyCache files in a sequence, allowing for archival of the entire sequence rather than the single file from the sequence that was chosen by the user in the cache file pick dialog
  • tyCaches will attempt to load missing caches from relative paths if the absolute path is not found, so loading caches from archived files should be possible without manual retargeting
  • unnecessary rig particles are no longer generated for tyActor skinned meshes

Bug fixes:

  • fixed a crash that could occur when using the Camera Cull operator
  • fixed a bug where the Fluid Properties operator was not returning the correct z-axis velocity value
  • fixed a bug where certain operator listboxes were not generating horizontal scrollbars to show long node names
  • fixed a bug where spherical overrides in the PhysX Shape operator were not working
  • fixed a crash that could occur in the Shape operator when using animated VRay proxies
  • fixed a bug where Wobble operator initialization was happening at the end of the simulation step, rather than in the proper operator order
  • fixed a bug where Cloth operator shell matID overrides were not working
  • highres input mesh evaluation is now substantially faster

tyFlow v0.16030 (June 14 2019)

Additions:

  • added tabs at top of tyFlow UI that allow you to easily switch between flow editors
  • added a Camera Cull operator for culling occluded particles from display/render
  • all single-node pickbuttons now have a dropdown menu for selecting or removing the picked node
  • tyActors now support mesh deformations on non-skinned input meshes
  • the tyCache exporter will now include particle render instance material overrides in tyCache files

Bug fixes:

  • tyActor mesh deformations will now interpolate properly when simulation is slowed down with the retimer
  • fixed a crash that could occur when rendering particles using VRay instancing
  • fixed a bug where “Update in render only” for animated shapes in the Shape operator was not working for static flows
  • fixed bugs related to the particle interface that was causing it to return velocities of improper scale in some circumstances (this bug was preventing particle velocities from properly influence FumeFX simulations, for example)

tyFlow v0.16029 (June 9 2019)

Additions:

  • Fluid Force now supports accurate loading of data from retimed PhoenixFD sims
  • added a tyExtrude modifier which is a modification of the built-in extrude modifier, except tyExtrude respects spline matIDs on extrusion caps
  • Actor operator now has the option to inherit material from actor nodes for VRay render instances
  • Display Data operator has the option to display assigned instance material name
  • added aerodynamic cloth forces to Modify Bindings operator (lift/drag)

Bug fixes:

  • fixed an issue where ‘weld bindings’ in the tySplines modifier was welding incorrectly
  • fixed an issue preventing PhysX particles from being converted into cloth
  • fixed a bug where deactivated cloth particles could still be affected by inflation forces

tyFlow v0.16028 (June 7 2019)

Code optimization within the tyBoolean and tyCarve modifiers has been temporarily disabled in this build, while I work on fixing a known bug. These modifiers will run slower in this build.

Additions:

  • added ‘do nothing’ option to Integrate operator’s integration action.

Bug fixes:

  • fixed a bug where a tyConform modifier with affect keyframes set to 0% would stop updating
  • fixed an issue that could prevent particles from being converted into cloth, if they were recycled from another particle that had previously been converted
  • fixed a bug where Object Bind was not respecting particle velocity integration flags
  • fixed a bug where actor rig particles were not properly inheriting the custom float values of their parents

Example Scenes 008 (June 7 2019)

  • fixed slowdown in tyFlow_flag_001 caused by profiler being enabled
  • fixed slowdown in tyFlow_scaleScript_001 caused by script printing to listener each frame
  • added tyFlow_branchFrost_001: growing frost example using the Branch operator
  • added tyFlow_neighborVirus_001: particle event propagation using neighbor tests to simulate viral growth
  • added tyFlow_cellularInflate_001: cloth inflation using an animated gradient ramp and cellular map
  • added tyFlow_chainLinks_001: PhysX simulation of interlocking, concave chain links

tyFlow v0.16027 (June 6 2019)

Additions:

  • added tyConform modifier for conforming mesh surfaces to each other
  • added a “postSimulationStep” function that is called after “simulationStep/simulationStepThreaded”, which can be used to synchronize threaded data in the Script operator
  • Export Particles: Objects will now instance the trimeshes of exported mesh objects wherever possible

Bug fixes:

  • fixed a bug where Birth Fluid could freeze when birthing from a FumeFX grid
  • fixed a bug where Fluid Force was deleting dead Phx liquid particles even if “Delete if dead” was disabled
  • fixed a bug where deleting cloth particles could result in other cloth meshes no longer simulating properly

tyFlow v0.16026 (June 1 2019)

Additions:

  • texmap controls adding to Modify Bindings operator
  • added ability to read fire channel data from FumeFX in Birth Fluid and Fluid Properties operators
  • added option in Subdivide operator for edge length to be relative to particle scale
  • added ‘remove scene selection’ to remove menus for easily removing groups of specific objects from listboxes
  • added option in Cloth Bind operator for cloth vertex particles to inherit the UVW coordinates of the originating mesh

Bug fixes:

  • fixed a crash that could sometimes occur when copying a selected operator
  • fixed an issue where spline knot selections were not being carried over into tyFlow

tyFlow v0.16025 (May 30 2019)

Additions:

  • added preliminary FumeFX support to Birth Fluid, Fluid Force and Fluid Properties operators
  • added dropdown to gravity force spinners to set value to real-world value
  • added vert/face normal option for Surface Force normals
  • added ability to disable VRay Interface in tyCaches
  • added visual cue in editor when retimer is enabled
  • added option in Display Data operator to show currently playing animation clip of actor particles

Bug fixes:

  • fixed a bug where PhysX timesteps were not properly adjusted to framerate
  • tyCache rotation values are now exported as full floats instead of half floats, which were causing imprecision errors
  • fixed a crash where dragging an Export Particles operator into a flow when another operator was selected would crash max
  • fixed a bug where Export Particles additional geometry listbox was not working
  • fixed a bug where adding certain operators to certain flows could crash max
  • fixed a bug where enabling frame clamping in a tyCache could prevent it from properly updating when scrubbing forward in the timeline
  • fixed a bug where choosing “File->Evaluate” in a script operator instead of pressing Ctrl+E would result in a script error
  • fixed a bug where certain operators that do surface inside/outside checks would crash if the input object has no faces
  • fixed an issue where changed to a PRTLoader’s settings would not update a flow using it as a Birth PRT input
  • fixed a bug that was allowing users to add tyCollections to an Actor operator, which was causing a crash when multiple tyActors were contained in the tyCollection

tyFlow v0.16024 (May 25 2019)

Additions:

  • menus have been added to all custom data channel text boxes to allow quick selection of existing channel names for each data type
  • Particle Force operator can now use particle shape/scale as influence radii
  • Added tyWind helper that has more advanced falloff parameters than built-in wind spacewarps

Bug fixes:

  • fixed an issue that was causing simulation indeterminism when using input objects with more than 10k vertices
  • fixed a bug where multiple references to the same input node within a tyActor setup would result in multiple particles being generated for the same node within tyFlow
  • fixed a bug that caused a crash when assigning a material override to an entry within the Shape operator
  • fixed an issue where Time Test values were not animatable
  • fixed a bug where deactivated particles would still fall asleep

tyFlow v0.16023 (May 23 2019)

PhysX sleep functionality has been temporarily disabled in version 0.16023, due to some issues with the current implementation.

Additions:

  • added Integrate operator for immediately integrating particle velocities into particle positions, instead of at the end of the time step
  • Resample operator can now send out created particles
  • right click menu options to batch export all particles set to export with Export Particles operators
  • Birth Fluid operator given new channel threshold overrides, for more precise control over which cells will birth new particles
  • added ‘parent deleted’ property test
  • added button to center the tyFlow editor window over the max window in the tyFlow main rollout
  • added a “Max dist” setting for tySplines in sibling mode, so you can control the maximum distance allowed between sibling particles in order for them to become conjoined with a spline
  • added ‘face center’ location for Position Object
  • added more force influence options to Point Force operator (radius by shape/scale)

Bug fixes:

  • fixed a bug where max would crash if a tyCache object was added to a VRay light include/exclude list
  • fixed a bug where particles spawned from deconverted cloth could not be converted back into cloth
  • fixed a bug where VRayMetaballs was not rendering tyCache particles at the proper scale
  • fixed an issue where Script operators with errors would terminate a network render task even if they are disabled or not used in the flow
  • fixed an issue with the Find Target operator producing strange/buggy results in some circumstances
  • fixed a rare corner case where tyFlow would continually recalculate the simulation if the retimer was enabled and the active time was at a subframe not included in the cache
  • fixed an issue where particle sleeping could cause jittering in cloth, especially when applying cloth inflation
  • fixed an issue where enabling “weld bindings” in a tySplines object could scramble the direction of UV coordinates on each subspline
  • fixed a bug where certain Object Bind controls were not updating their UI properly

Example Scenes 007 (May 11 2019)

  • updated tyFlow_bindParticleToParticle_001.max to comply with updates to PhysX group collision rules
  • electricity arc scene added
  • voronoi fracture using particle source scene added

tyFlow v0.16022 (May 11 2019)

Additions:

  • Added per-axis affect controls to force operator

Bug fixes:

  • fixed a bug (which showed up as a regression in v0.16021) where Voronoi operator would crash when added to a flow
  • fixed group logic issue affecting PhysX rigidbodies (previously, rigidbodies with a group would collide with those with no group, but not vice versa). Now, any PhysX rigidbody with no groups will not collide with PhysX rigidbodies that have groups set, and vice versa. If you set simulation groups on particles and wish to have them collide with the default PhysX ground plane, please ensure those groups are also applied to the ground plane in the main tyFlow PhysX settings.
  • fixed a bug where certain shapes would appear incorrect in the viewport or render, if they had a custom matID override set

tyFlow v0.16021 (May 10 2019)

Bug fixes:

  • fixed an issue where Particle Force would crash if no particle groups were assigned in the flow
  • fixed an issue where a voronoi cloud point at the origin (0,0,0) would be created when using a source flow as the cloud source
  • fixed an issue where the Material ID operator would crash if set to get IDs from a surface with zero faces
  • fixed an issue that could cause scenes containing tyCaches to crash on reset
  • fixed a bug where the “$(tyFlowLayer)” layer keyword was not working in the tyCache exporter layer selector
  • fixed a bug where Scale operator “relative add” mode was not working when time steps were smaller than 1 frame

tyFlow v0.16020 (May 9 2019)

Additions:

  • you can now change the display wirecolor of tyFlow object icons
  • listbox […] menus now have hide/unhide options
  • Spin operator now has interpolation setting
  • Particle Force can now use the flow’s own particles
  • Export Particles will now respect tyFlow retimer settings (an additional option has been added to ignore retimer settings)
  • added the ability to query the particles of any event in the flow, by event name, in the Script operator (see API for “GetEventParticles(name)” function)

Bug fixes:

  • fixed a bug where Voronoi Fracture points derived from an external flow were positioned using the wrong coordinate system (therefore offset from target particles).
  • fixed a bug where Rotation operator interpolation variation was not being computed correctly
  • fixed an issue where small simulation time steps could cause the PhysX sleep settings to activate prematurely
  • fixed an issue where tyCache would keep evaluating forever if retiming (by speed) was enabled on the flow
  • fixed a bug where Particle Force was not resetting properly, resulting in incorrect behavior upon resimulation
  • fixed a bug where the Rasterize operator “Delete if overlapping” option was not working properly

tyFlow 0.16019 (May 7 2019)

Additions:

  • spline paths objects can filter neighbors by simulation group
  • added layer selection for tyCache node in tyCache (Export Particles) settings
  • added materialID test to Surface Test operator
  • added option in tySplines object to delete particle trajectory as soon as particle is deleted
  • added Property Test test for actor bone particles
  • Particle Switch operator can be used to activate/de-activate wobble solver for affected particles
  • Scale/Rotation/Custom Properties/etc operator interpolation settings are now time step independent
  • “Seed by time” option added to Speed/Voronoi operators, for allowing per-particle randomization to change each time step
  • Voronoi Fracture operator point cloud can be created from the particles of a source flow, allowing for fine-tuned control of fracture locations
  • added ability to set particle pivot to source fracture point in Voronoi Fracture operator

Bug fixes:

  • fixed an issue where PhysX rigidbodies were not falling asleep even when satisfying the sleep velocity/duration thresholds (resulting in a lot of extra jittering)
  • fixed an issue with built-in turbulence force not generating x-axis values correctly
  • fixed a bug where values >100 had no effect in the Scale Operator for scale by texture mode.
  • fixed a bug in the Shape operator where selecting a member of a closed group would not select the whole group, but instead, just that member
  • fixed a bug where enabling particle age cache would display improper age data (-1)
  • fixed an issue where “Face (accurate)” sampling mode was not working in Find Target operator
  • fixed a bug where exported objects would not have matID/mapping overrides assigned within the flow
  • fixed a bug where tyFlow would not respect global VRay material overrides
  • fixed a crash that could happen if a PhysX Bind operator was added to an event that was not an active event
  • fixed a bug where Rotation operator divergence settings weren’t working properly for certain rotation modes
  • fixed a crash that would occur when loading a flow that contains baseline operators
  • fixed an issue where deleting certain operators would refresh the simulation, even if they weren’t in an active event
  • fixed an issue where VRay Proxy input objects would use their viewport-display mesh, instead of their internal highres mesh in a flow
  • fixed a potential crash that could occur while calculating input object vertex normals
  • fixed some issues with VRayVelocity render elements (empty when motion blur disabled, improper vectors when enabled)

tyFlow 0.16018 (May 2 2019)

Additions:

  • added support for VRay 3.7 in tyFlow for 3ds Max 2020
  • added X/Y/Z affect controls for Scale operator texmap multiplier
  • An option has been added to the Particle Switch operator to force particles awake for a minimum duration after activation, to prevent them from falling asleep again too soon.
  • asleep/awake display added to Display Data operator
  • added a simulation group match type dropdown to replace the radiobuttons for certain operators, that allows you to filter matching particles by the group of the source particle rather than by groups specified by the group checkboxes in the UI. This allows for much easier particle filtering in many cases.

Bug fixes:

  • fixed a regression where 3dsmax would crash on startup if the system paths PATHS variable was too long
  • fixed a regression where tyFlow would fail to load certain reference targets, resulting in listboxes displaying for nodes that previously loaded fine
  • fixed a regression where certain scenes involving tyActors would crash
  • fixed a crash that would occur when applying a procedural map as a custom sprite bitmap

tyFlow 0.16017 (May 1 2019)

Additions:

  • a tyParticleObjetExt interface was created for tyFlow, for accessing tyFlow custom data channels through the IParticleObjectExt interface. 3rd party SDK developers who wish to access tyFlow custom data can request the header for inclusion in their projects.
  • Limiter position mode has ‘affect velocity’ control
  • Spawn operator has new option to align child particles to the surface of their parent

Bug fixes:

  • fixed a .NET DLL error that would popup on certain machines when loading tyFlow
  • fixed a Display Data operator bug where particle age was never retrieved properly
  • fixed a bug where texmaps would not query the proper W-coordinate when “use offset as W” was disabled
  • fixed a bug that caused a crash when copying + pasting certain operators to a different flow
  • fixed a bug where tyCache retimer settings couldn’t be switched from frame to speed
  • fixed a bug where tyCaches were not properly loading frames if their particle interface was referenced by a separate plugin first
  • fixed a bug that was causing certain tyActor setups to cause tyFlow to endless reset the simulation over and over
  • fixed a bug where a threading race condition would cause cloth meshes to flicker on and off in the viewport

tyFlow 0.16016 (April 28 2019)

Additions:

  • Script operator can now sample texmap color values
  • Baseline operator has options to exclude display/mesh/etc operators
  • Collision operator has pass-through option for controlled particle leaking
  • a tyCollection helper object has been added. You can add multiple objects to it, then add it anywhere in a flow and it will pass all of its objects into the flow. It makes multi-object management much easier.
  • preliminary support for Alembic export added. Particles can be exported as Alembic point clouds. Mesh export is still on the todo list.

Bug fixes:

  • fixed issue with particle birth/death scale up/down in tyCache which was causing particles with a lifespan of 1 frame to be removed instantly after birth
  • fixed an issue introduced in v0.16015 where tyCaches were not rendering when VRay motion blur is enabled
  • fixed a bug where tyCaches weren’t properly displaying mapping overrides even if “ignore UVW overrides” was disabled
  • fixed an issue where tySplines object properties were not displaying properly in the track view
  • fixed an issue causing tyFlow to immediately crash when created on machines with CPUs that do not support SSE4 instruction sets
  • fixed a crash when doing a ‘surface area’ property test

tyFlow 0.16015 (April 25 2019)

Additions:

  • you can now select which GPU will be used for OpenCL acceleration within the Particle Bind Solver settings
  • MXS: $[…].editor_open() method added (use maxscript to open the editor of a tyFlow object)
  • you can now use the arrow keys on your keyboard to align selected events in the editor
  • particles scattered on spawn parent meshes are now scattered uniformly
  • you can now spawn particles on the faces of parent particle meshes with specific matID values
  • Rotation operator surface align can now use particle velocity as the forward vector, for better contouring of surfaces when particles are moving, as well as using the particle’s own TM forward vector
  • Position Raycast operator now has a timing rollout, and some additional settings
  • improved tyCache loader performance outside of clamp range when frame clamping enabled
  • Property Test operator can now test event/flow particle counts

Bug fixes:

  • fixed a problem where the editor wouldn’t redraw properly after window maximization
  • fixed a bug where a file would crash while loading a Material operator
  • fixed a bug where the RGB channel name textbox of the Fluid Properties operator wasn’t working
  • fixed a bug where negative frame time values were causing the Force operator’s built-in turbulent noise to return incorrect values
  • tyCache will no longer save unnecessary frames in RAM during network rendering
  • fixed a crash in the Rotation operator when a helper icon is added to the object list in ‘surface align’ mode.
  • fixed a Shell operator crash when “open edges only” is enabled.

tyFlow 0.16014 (April 21 2019)

Additions:

  • tyActor bones will no longer export into tyCaches by default. An optional checkbox has been added to the Export Particles settings to override this new behavior
  • the resample operator can now properly resample closed loops of sibling particles (ie, particles generated on the surfaces of closed splines)
  • Particle Bind and PhysX Bind operators now have color pickers to define colors for their bindings
  • default PhysX gravity value is animatable
  • Particle Switch operator can be used to put particles to sleep
  • improved particle sleeping behavior, particles no longer auto-wake on static colliders

Bug fixes:

  • reduced UI flickering
  • fixed an issue where Birth Burst values were not being saved properly
  • fixed an issue where spawn by travel was causing particle trails to start from [0,0,0] in some situations
  • fixed a bug where the simulation would reset each frame when rendering with VRay NEXT GPU
  • fixed a bug where VRayVelocity render element was returning no data on rendered tyFlow meshes
  • fixed a VRay instancing bug where geometry would appeare where it shouldn’t, disappear or render with the wrong shape mesh, etc. General visual glitches.
  • fixed a bug where Force operators were not importing custom vector source data properly
  • optimized tyParticleSkin modifier so that highres meshes don’t freeze max when search radius is very large
  • fixed a bug where Fuse operator always acted like its timing was set to “Continuous”
  • improved display performance (a bug was causing display slowdowns when using Particle Bind operators)
  • Bind solver mass z-bias now properly compensates for large particle masses.

Example Scenes 006 (April 21 2019)

  • dynamic cloth flag scene added
  • arrow attack on dynamic crowd scene added
  • discretize particle velocities scene added
  • sand castle destruction scene added
  • PhysX rolling follow scene added
  • upres simulation scene added
  • resample spline scene added

tyFlow 0.16013 (April 17 2019)

Bug fixes:

  • rebuilt with latest PhoenixFD libraries
  • fixed a bug that was causing full flow corruption when outputting particles from a Voronoi Fracture operator (resulted in intermittent particle disappearances)
  • fixed a bug that was preventing PhysX shapes from inheriting proper particle velocities and forces when simulation timestep is less than 1
  • fixed a bug where tyFlow would crash if “print calculation times” was enabled in the tyCarve modifier
  • fixed a bug that would cause Actor Collect to crash when it doesn’t have an output operator.
  • fixed a bug where resample operator was not properly integrating affected particle velocities
  • tyFlow should now appear in proper ‘standard primitives’ location in non-english versions of 3dsmax

tyFlow 0.16012 (April 16 2019)

Additions:

  • added export layer selector for Export Particles operator object mode
  • added checkbox in Display operator to disable material display on geometry
  • PhoenixFD source can now be set to use tyFlow/tyCache particle shapes as input meshes when tyFlow particle interface is enabled

Bug fixes:

  • fixed an issue where bump mapping was not rendering when vray interface is enabled
  • fixed an issue where cloth meshes would have incorrect vertex locations in some circumstances if tearing is enabled.
  • fixed crash when duplicating a tySplines object

tyFlow 0.16011 (April 14 2019)

Additions:

  • experimental 2016 build added
  • tyParticleSkin initialization phase is now multithreaded
  • operator timing parameters are now keyable
  • listboxes will display horizontal scrollbar for long node names
  • you can now assign verlet velocity to vector channel in Custom Properties operator
  • Custom Properties operator can reset particle age
  • Custom Properties TM channel can now save/load orientations
  • Position Object/Scale/Surface Test/etc texmap option now supports deriving the map directly from the target object’s material
  • renamed “Material” operator “Instance Material” operator, to help avoid confusion
  • Growth operator can output born particles
  • additional logging added to try and track startup crashes/errors (contact support@tyflow.com for more info)
  • added variation spinners to Flock operator for per-particle variation of parameters.
  • tyCache will now export all particles, even ones that do not have an assigned shape
  • added a timeScale setting to tyFlow objects, to allow the scaling of simulation time during the resimulation (as opposed to the retimer which scales time afterwards)
  • the ‘particle to object’ exporter will now apply materials to exported meshes, including materials assigned to particles with an Instance Material operator.
  • Display operator can now filter by simulation groups
  • Property Test operator can now test particle surface area
  • Display Data operator can now display particle surface area
  • Fluid Properties operator can now read fluid RGB values
  • added a Cloth Collect operator for collecting particles of the same cloth mesh together that had been previously separated into other multiple events.

Bug fixes:

  • fixed a bug where VRay NEXT would render tyFlow geometry black if render elements were present
  • fixed a bug where VRay IPR would crash (the fix is a workaround: instancing is now automatically disabled when in IPR mode)
  • fixed bug where max could hang during save in certain circumstances during a save when the flow is retimed
  • fixed a bug where tyCache retime-by-speed spinners not working
  • fixed bug where tyParticleSkin wouldn’t initialize properly if reference flow birth frame wasn’t 0
  • fixed a bug where the operator depot wouldn’t stay resized if high DPI window scaling is turned on
  • fixed a bug where Export Particles would unnecessarily reset the simulation after export in some circumstances
  • fixed bug where Display operator export groups where not working
  • fixed bug where pressing ‘…’ menu button in Script operator would cause a crash
  • fixed bug where changing time units could crash a cloth sim if tearing is enabled
  • fixed an issue with PhysX velocity integration causing resulting values to display incorrectly
  • fixed crash that could occur during simulation reset when using PhysX bindings
  • fixed rogue materials sending incorrect reset notifications to “Instance Material” operator
  • fixed a bug where deforming meshes were not colliding with particles properly
  • fixed a crash when setting particle groups in the Particle Physics operator, when in non-integrated mode
  • fixed an issue where the presence of a PhysX shape operator would always override particle mass even if override mass was disabled
  • fixed issue with Spread operator where the noise function is not properly reseeded each frame
  • fixed a bug where Script operator custom property names were treated as case-insensitive
  • fixed a bug where Rotation operator object alignment would give improper rotations if the target objects’ scale was skewed
  • fixed a bug where having a mapping override on cloth vertices would scramble cloth mesh in some circumstances
  • fixed a bug where the tyParticleSkin modifier wasn’t working with the tyFlow retimer
  • fixed a bug where a Collider that sends a particle to another event containing a Collider could kill particle velocities if a collision occurs in the first collider
  • fixed a bug that was causing actor rig parts to playback with their animated transforms out of sync
  • fixed a bug where the reseed function wouldn’t affect all operators
  • fixed a crash that can occur when instantiating certain tyFlow helpers (tySpline, tyIcon, etc)
  • fixed a crash that occurs if you add a tySlider to a Particle Break operator without enabling tearing on a prior Cloth Bind operator
  • fixed a bug that would cause the Particle Bind solver to skip some collisions when OpenCL acceleration was off
  • fixed a bug that would cause the Path Follow operator to crash if one of the input splines was deleted
  • fixed a bug where particles moving over an Object Bind surface with ‘scale’ bind enabled would random change scale at different frames

Example Scenes 005 (April 14 2019)

  • all scenes updated to be compatible with 3ds max 2016

Example Scenes 004 (April 7 2019)

  • actor balloon example added
  • occlusion vine growth example added
  • simulation retimer example added
  • wobble operator example added
  • deforming fracture example added

tyFlow 0.16010 (April 7 2019)

  • fixed particle matIDs not shown properly by Display operator in “Geometry” mode
  • Rotation operator in “surface align” mode now supports input splines. Particles will be aligned to the tangent vectors of the input shape.
  • tyFlow/tyCache retimer now supports retiming by speed %
  • occlusion testing added to Surface Test operator
  • you can now copy operators by holding shift while dragging them, and instance operators with shift+alt+drag
  • Speed operator magnitude/direction can be derived from parent particle
  • Speed operator direction can be derived from outward vector to parent particle
  • Spawn operator parent shape spawn offset controls added
  • “Remove All” button near listboxes replaced with more detailed option menu
  • global helper functions added to Script operator, for static math functions of Quat/Matrix3/Point3 libraries

tyFlow 0.16009 (April 6 2019)

  • fixed bug where non-english windows/keyboard setup prevented scripts from running, QuickType from displaying, etc.
  • fixed a bug where certain renderers (Scanline, possibly others) wouldn’t render sequneces of frames
  • fixed subdiv/relax operators clearing out mesh matIDs
  • fixed another bug that would cause VRay IPR to crash when moving the timeslider
  • fixed an issue where undoing a make-unique operation would unlink grouped spinners
  • added reseed options in right-click menu for selected operators. Global reseed option also added to utilities right click menu

Example Scenes 003 (April 5 2019)

  • actor crowd example scene added
  • scripting example added
  • parent/child PhysX example added
  • particle UVW gradient example added

tyFlow 0.16008 (April 5 2019)

  • VRay 3.6 supported in tyFlow 2017/2018/2019. VRay NEXT supported in tyFlow 2017/2018/2019/2020
  • particles can override cloth UVs
  • fixed improper face distribution when spawn particles set to ““parent shape surface””
  • fixed bug where Birth Surface operator would crash if target object had no selection and mode was set to “selected vertices/faces”.
  • “Particle Age” added to animation offset keying for Scale operator
  • Scale operator’s “uniform” checkbox now works when in velocity mode
  • fixed a bug where colliders in continuous interaction mode would still stop particles if their thickness was greater than 0
  • fixed a bug where particles exported to objects at frame 1 don’t get a proper transform keyframe at frame 0
  • fixed a bug where resizing the tyFlow window would reset changes made to the height of the operator depot
  • fixed error with mapping operator modifying incorrect mapping channels

tyFlow 0.16007 (April 4 2019)

  • fixed certain renderers crashing during flow initialization
  • fixed Physx Break operator crash
  • fixed freeze when running VRay mesh exporter on a tyFlow
  • script editor log box scales properly on high DPI screens
  • fixed crash when switching to Corona IPR
  • fixed freeze when updating Corona IPR
  • fixed bounding box bug on deforming meshes preventing update in Birth Voxels operator
  • fixed motion blur artifacts when rendering tyCache with VRay
  • fixed issue with tyCache where it would render as mesh instead of instances
  • fixed tyCache incorrectly reporting that VRay 3.6 is missing on 2017/2018/2019
  • fixed a bug where certain scenes cannot be reset/closed
  • fixed crash that occurred when converting certain meshes into PhysX meshes

tyFlow 0.16005 (Aprl 2 2019)

  • fixed crash when disabling skin modifier on tyActor mesh

  • fixed crash when loading tyFlow on Windows 7

tyFlow 0.16003 (Apr 2 2019)

  • fixed high DPI (4K monitor) scaling issues

  • fixed crash when pressing ESC in QuickType menu

Example Scenes 002 (April 2 2019)

  • cloth self-collisions example added

tyFlow 0.16002 (Apr 1 2019)

  • fixed startup “missing module” error

tyFlow 0.16000 (Apr 1 2019)

  • initial public beta release