Tyflow Multi Fracture Visual Help Ver 01 - May 2024
Tyflow Multi Fracture Visual Help Ver 01 - May 2024
Page # 1
Multifracture Rollout BACK
NOTE
The Voronoi fracture mode requires at least 2 or more fracture points in
order to generate proper Voronoi cells. Read the “Fracture points” rollout
documentation for more info.
Page # 2
Multi Fracture Rollout Continued:
Operation
Slice (surface): when enabled, meshes will be sliced as if they are thin shells
- the resulting fracture chunks will not have thickness or depth.
Slice (volume): when enabled, meshes will be sliced as if they have volume
- the resulting fracture chunks will have thickness and depth.
INFO
In order for the volume slice mode to function correctly, input meshes
should be composed only of closed surfaces. The surfaces may self-
intersect, but should not have any open edges. If open edges are
present, topological artifacts may appear in the resulting fracture
chunks.
The Fracture display rollout offers controls for how intermediate fracture data is displayed in the viewport. This data can
be useful to visualize aspects of the procedural multifracture workflow.
Page # 3
Fracture input Rollout BACK
The Fracture input rollout has parameters which allow you to tune how input meshes are pre-processed, prior to
fracturing. Certain parameters are only visible when using the Multifracture operator, over the tyMultifracture
modifier, and vice-versa.
Page # 4
Fracture Input Rollout Continued:
Relative to surface area: when enabled, various fracture point counts
will be multiplied by the ratio between an individual element’s surface
area relative to the specified threshold values.
TIP
Adjusting the “relative surface area” parameters can give you fairly
fine-tuned control over how many fractures an element will undergo,
relative to its size. This prevents scenarios where fracture settings
which apply to very large elements will also apply equally to very tiny
elements, and vice versa. For example, you may want to fracture a
large element 1000 times, but fracture tiny elements only once or
twice. By tuning the “relative surface area” parameters, you can exert
this level of fracture control over elements in a single
modifier/operator.
Page # 5
THIS IS AVAILABLE IN THE OPERATOR ONLY (Not the Modifier)
Channel: the custom float channel where the fracture depth for a given
particle (and its children) will be stored.
TIP
By enabling “limited recursion”, you can have a Multifracture operator’s timing set to something other than ‘on
entry’, without re-fracting the same particles over and over, leading to an exponential explosion of particles. For
example, you may want to ensure a particle is only refractured once (so it will be fractured, and then it’s children
will be fractured, but its children’s children won’t be fractured) by setting the “max depth” to 2.
Limit affected particle count: when enabled, the total number of particles fractured by the operator per time step will
be limited by the specified value. If the initial number of particles to be fractured is greater than the specified max
value, the particles will be sorted by size (largest to smallest) and the sorted list will be clamped to the max value.
Page # 6
FRACTURE BOUNDS ROLLOUT BACK
The Fracture bounds rollout contains parameters for the “fracture bounds” fracture mode.
Mode: controls whether the bounds fracture operation will compare the
length of the specified fracture axis to the length of the next-shortest
fracture axis (and compare that ratio to the specified length ratio thresh), or
compare the length of the specified fracture axis to the specified length
threshold directly.
Axis: controls which OOBB axis will be used for the bounds fracture
computation.
Length thresh: the initial number of slices will be computed by dividing the
length of the specified object-oriented bounding box axis by this value.
Length ratio thresh: the initial number of slices will be computed by dividing
the ratio between the length of the specified object-oriented bounding box
axis and the length of the next-shortest object-oriented bounding box axis by
this value.
Max slices: the maximum number of slices that will be assigned to a mesh
along the primary object-oriented bounding box axis.
Uniqueness
Seed: the seed value for all varied parameters.
Page # 7
Fracture edges Rollout BACK
The Fracture edges rollout contains parameters for the “fracture edges” fracture mode.
Edge settings
Edge fractures are generated along edges of the input mesh’s convex hull,
that meet the angle threshold criteria.
Angle thresh: the minimum angle that must exist between the faces of an
edge on the mesh’s convex hull in order for a fracture mesh to be assigned to
the edge.
Probability %: the random probability that a given edge (which meets the
angle threshold) will be assigned a fracture mesh.
Depth: fracture meshes will be placed at this depth along the negative
surface normal of each qualified edge. Larger values will move fracture
meshes inward towards the center of the mesh hull.
- -
Corner settings
Angle thresh: the minimum angle that must exist between the faces of a
vertex on the mesh’s convex hull in order for a fracture mesh to be assigned
to the edge.
Probability %: the random probability that a given vertex (which meets the
angle threshold) will be assigned a fracture mesh.
Depth: fracture meshes will be placed at this depth along the negative
surface normal of each qualified vertex. Larger values will move fracture
meshes inward towards the center of the mesh hull.
- -
Cull fractured meshes: when enabled, fractured parts of the input mesh that
lie above the fracture meshes will be culled. Disable this setting to retain all
fracture meshes after the fracture operation is completed.
Page # 8
Fracture hull Rollout BACK
The Fracture hull rollout contains parameters for the “fracture hull” fracture mode
Points: the number of random fracture points to generate on the convex hull
of an input mesh. A fracture mesh will then be placed at every generated
fracture point.
Depth: fracture meshes will be placed at this depth along negative surface
normal of each random fracture point. Larger values will move fracture
meshes inward towards the center of the mesh hull.
Cull fractured meshes: when enabled, fractured parts of the input mesh that
lie above the fracture meshes will be culled. Disable this setting to retain all
fracture meshes after the fracture operation is completed.
Page # 9
Fracture paint Rollout BACK
The Fracture paint rollout contains parameters for the “fracture paint” fracture mode.
Stroke segments
Min length: when enabled, stroke segments will be reduced so that the
minimum length of any given segment is no less than the specified value.
Stroke meshes
Iterations: when set to a value greater than 1, the stroke meshes will be
duplicated N times (where N is the number of iterations greater than 1), and
each iteration of stroke meshes will be assigned a different set of per-vertex
noise values, offset by the specified phase variation values.
Amount: controls how much to offset stroke meshes generated after the first
iteration (ie, iteration 2 and above, unless symmetrical mode enabled - see
below), along their vertex normals.
Symmetrical: when enabled, all stroke iterations will be divided into two
groups, and each group will be offset in the opposite direction of the other.
So, if your iteration count is 2 and your offset amount if 1, one stroke mesh
will be offset by 0.5 units along its surface normals, and the other by -0.5 units
along its surface normals.
Page # 10
Fracture planes Rollout BACK
The Fracture planes rollout contains parameters for the “fracture planes” fracture mode, as well as any other modes
which generate intermediate fracture planes for their fracture meshes (ex: edge fracture mode).
Fracture planes are initially scattered at the center of any fracture points generated by the specified fracture mode.
Then, based on the current fracture mesh settings, they are subdivided prior to any noise that is applied and finally are
used to fracture the input mesh.
Spread
Radius: controls the maximum spread radius that the fracture planes will be
spread within.
X/Y/Z %: controls the percentage of per-axis effect the spread radius will have
on the fracture planes.
Orientation
Orientation mode: controls which axis of the input mesh the fracture planes
will be aligned to. “[Default]” mode will use the up vector of the fracture
points as the alignment vector, which may not be oriented to a particular axis,
depending on the fracture mode (for example, fracture planes of the hull
fracture mode will be aligned to the nearest convex hull surface normal.
X/Y/Z %: controls the percentage of per-axis effect the divergence will have
on the fracture planes.
Page # 11
FRACTURE PLANES ROLLOUT CONTINUED
Normals scale
X/Y/Z: these are multipliers applied to the orientation vector for the fracture
planes. You can use them to bias the orientation of the fracture planes along
a particular axis.
Size
Full coverage: when enabled, the fracture planes will expand to cover the
plane-oriented bounds of the underlying input mesh’s convex hull. This
ensures that all fracture planes will fully cross the input mesh surface
boundary, leading to more consistent fracturing. When disabled, depending
on the size parameters, planes may not fully cross the mesh surface boundary
and therefore may not generate a fracture at those locations.
Length/depth: the size of the fracture planes when full coverage is disabled.
Noise
[Noise A/B] Element-space: when selected, noise distortion applied to planar
cutting meshes will be applied in the coordinate space of the input mesh
element (direction of noise displacement from initial plane mesh surface will
be independent of plane mesh orientation).
Affect X/Y/Z %: controls how much influence noise values will have on
displacement of fracture mesh vertices, relative to the corresponding local
fracture plane axis.
Phase variation
Noise A/B: controls the amount of per-plane noise phase variation to apply to
fracture meshes generated from fracture planes. Increasing these values
ensures that fracture planes do not share identical noise distributions.
Page # 12
FRACTURE PLANES ROLLOUT CONTINUED
Enable child planes: when enabled, each fracture plane will generate the
specified number of child fracture planes. Their corresponding spread and
noise parameters have the same effect as those affecting their parent.
Page # 13
Fracture radial Rollout BACK
The Fracture radial rollout contains parameters for the “fracture radial” fracture mode. In this mode, a radial fracture
pattern is generated and applied to fracture planes scattered over fracture points on the input mesh.
Radial fracture patterns consist of two elements: radial lines and concentric lines. Radial lines extend outwards from the
center of the fracture pattern, and concentric lines trace around the center of the fracture pattern, connecting the radial
lines.
Count: the number of radial lines to generate outward from the center of the
fracture pattern.
Resolution: the number of sub-segments each radial line will be composed of.
Probability %: the probability that a given radial line will not be culled.
Decreasing this value will increase the chances that a given radial line will be
removed from the fracture pattern, thereby increasing its randomness.
Size %: the overall size of radial lines, relative to the size of the underlying
fracture plane.
Crop center: crops radial lines, from the center outwards, by removing sub-
segments. Increasing this value decreases the density of radial lines closer to
the center of the fracture pattern.
Crop border: crops radial lines, from the outward edges inward, by removing
sub-segments. Increasing this value decreases the length of radial lines.
Random walk
Enable random walk: when enabled, radial lines will be affected by random
walk noise as they expand outwards, causing them to expand outward in more
random patterns.
Influence
Distance/falloff: controls the amount of influence the random walk noise will
have on radial lines, from the center of the fracture pattern outwards.
Page # 14
FRACTURE RADIAL ROLLOUT CONTINUED
Every nth: controls how many concentric lines will be generated, relative to the
resolution of the radial lines. For example, if radial lines is set to 100 and “every
nth” is set to 5, then 20 concentric lines will be generated (1 for every 5 radial
line sub-segments).
Ring %: controls the probability that a given ring of concentric lines will not be
culled. Increasing this value decreases the density of concentric lines.
INFO
Normally, concentric lines will connect at the same sub-segment index
located on its start and end radial lines. For example, if two radial lines
have a resolution of 100, the concentric line that connects them at their
center will start at sub-segment 50 on the first radial line, and connect to
sub-segment 50 on the second radial line. However, by increasing the
jagged parameters, the sub-segment indices that the concentric line
connects at will be more random. If the “jagged max” parameter is set to
5, the start sub-segment index might be 45, and the end sub-segment
index might be 55. This would tilt the concentric line relative to its
start/end radial lines, giving the interior fracture a more jagged
appearance.
Density curve: this curve allows you to control the density of concentric lines
within the fracture pattern, relative to their distance from the center of the
fracture pattern.
Noise influence: allows you to control how much influence fracture noise A/B
will have on the pattern, relative to the center of the pattern
Page # 15
Fracture animation Rollout BACK
The Fracture animation rollout contains parameters which allow you to control how fracture patterns (patterns
generated in radial/texmap fracture modes) are animated.
Grow %: controls the growth of a fracture pattern, outwards from the center
of a given fracture plane.
Branch offset: controls how much to offset the growth of a given pattern
branch, randomly.
INFO
Pattern branches are continuous groups of pattern sub-segments. For
example, in a radial fracture pattern, each radial line is considered a
branch. When “branch offset” is set to a value greater than 0, the growth
of each branch will be offset/randomized by the specified amount.
Distance mode
Distance along branch: branches will grow relative to the distance of each
sub-segment along the branch.
Distance to center: branches will grow relative to their distance from the
center of the fracture pattern.
Page # 16
Fracture texmap Rollout BACK
The Fracture texmap rollout contains parameters for the “fracture texmap” fracture mode. In this mode, a fracture
pattern is extracted from a texture map and applied to fracture planes scattered over fracture points on the input mesh.
Texmap: the texture map from which to derive the fracture pattern.
Preserve aspect ratio: when enabled, the aspect ratio of the texmap will be
preserved, even if it does not match the default scale of the underlying
fracture plane onto which the fracture pattern is applied.
Resolution: the sampling resolution used to extract the fracture pattern from
the texture map.
Threshold: pixel values in the texture map above this luminosity value will be
extracted as white, all other pixels will be extracted as black.
TIP
Fracture patterns extracted from texture maps are derived from
black/white pixel values only. The threshold value allows you to control
how a texture map is converted into a purely black and white image (with
Auto-invert: when enabled, the
no intermediate grayscale values).
pattern extraction engine will
automatically invert the black and
Normalize: when enabled, input texture maps are normalized based on their
white values of the converted image,
min/max luminosity, prior to conversion to purely black/white images.
if it appears as though the black
values are what should be
Trace edges: when enabled, the edges of the input texture map will be traced
skeletonized, based on the ratio of
black-to-white pixels within the prior to conversion into a fracture pattern.
converted image.
INFO
Invert: controls whether the image The fracture pattern extraction algorithm works by finding the “skeleton”
will be manually inverted, when auto- of a black and white image (a “skeleton” in this case is a minimal set of
invert is disabled. lines that follow shaded areas of the image). By first tracing the edges of
the image, a more intuitive “skeleton” may be extracted, if the image is
not already composed of lines.
INFO
The fracture pattern extraction algorithm will create a skeleton from
white pixels, rather than black pixels (black pixels are assumed to be
bordering the patterned areas. Therefore, if the image appears to be
inverted (more white pixels exist than black pixels), the auto-invert
parameter will flip the values for optimal skeletonization.
Weld extracted curves: controls whether the splines of the extracted fracture
pattern will be welded together, prior to meshing.
Page # 17
Fracture voronoi Rollout BACK
The Fracture voronoi rollout contains parameters for the “fracture voronoi” fracture mode. In this mode, convex cells
are generated from fracture points and converted into a fracture mesh.
Full mesh coverage: when enabled, the cell walls generated from the
fracture points will have full coverage over the hull of the input mesh.
When disabled, cell walls may not have full coverage over the hull of
the input mesh, depending on their size.
Cells
TIP
When culling cell walls, it is highly recommended to enable the “cull
internal open elements” setting in the fracture meshes rollout. More
information about that setting can be found in the documentation for
that rollout.
Probability %: the probability that any given cell wall will be culled.
Don’t cull primary walls: when enabled, only cell walls generated in voronoi
iteration 2 or above will be culled, leaving the primary cell walls intact.
Threshold: only cell walls with a surface area below this threshold will be
culled by the small walls probability.
Probability %: the probability that a given small cell wall will be culled.
Don’t cull primary walls: when enabled, only small cell walls generated in
voronoi iteration 2 or above will be culled, leaving the primary cell walls
intact.
Page # 18
FRACTURE VORONOI ROLLOUT CONTINUED
Threshold: only cell walls with a surface area above this threshold will be
culled by the large walls probability.
Probability %: the probability that a given large cell wall will be culled.
Don’t cull primary walls: when enabled, only large cell walls generated in
voronoi iteration 2 or above will be culled, leaving the primary cell walls
intact.
Normals scale
X/Y/Z: these multipliers will bias the angle of voronoi cell walls along each
axis. Decreasing the value for a given axis will stretch cell walls along that axis.
Increasing the value for a given axis will squash cell walls along that axis.
Affect noise scale: when enabled, noise values will be scaled along each axis
by the normals scale values specified. Enabling this setting keeps noise scale
consistent with the scale of cell walls, along a particular axis. Disabling this
setting means noise scale is independent of cell wall scale.
Page # 19
Fracture points Rollout BACK
The Fracture points rollout has parameters which provide control over how intermediate fracture points are scattered
on meshes. Those points are then used to scatter fracture planes, or generate Voronoi cells, etc. Some fracture modes
do not require fracture points (ex: paint fracture), so this rollout may not always appear (depending on which fracture
mode you have selected).
Certain parameters are only visible when using the Multifracture operator, over the tyMultifracture modifier, and vice-
versa.
Center: when selected, a single point will be generated at the center of the
input mesh
Gizmo: when selected, points will be generated inside the modifier’s sub-
object gizmo.
Random
Page # 20
FRACTURE POINTS ROLLOUT CONTINUED
Objects
Closest point on mesh: when enabled, generated points will be moved to the
nearest location on the input mesh.
Object proximity: when selected, points will be generated on the input mesh,
if those locations on the input mesh are within proximity to the specified
objects in the scene.
Proximity points
Density: the number of points to generate on the input mesh, for proximity
measurements. This value is relative to the surface area of the input mesh. If
density is 1.0 and the input mesh has a surface area of 100, then 100
proximity points will be generated.
Location interp: this value interpolates fracture points between their origin
on the input mesh and their respective proximal location on the proximity
objects’ mesh.
Spread: a random spread applied to proximity points, so that they don’t all lie
uniformly at their point of origin.
Page # 21
FRACTURE POINTS ROLLOUT CONTINUED
Use this flow’s particles: when enabled, only particles from the operator’s
source flow will be used. When disabled, a user-specified particle system can
be chosen.
Random
Count: controls the number of points generated on the surface of the input
mesh.
Random
Count: controls the number of points generated in the volume of the input
mesh.
Page # 22
FRACTURE POINTS ROLLOUT CONTINUED
Splines: when selected, points will be randomly generated along the specified
splines.
Random
The “baked points” parameters allow you to paint fracture points directly
onto input meshes, using your mouse. These baked points can be used in
combination with procedural points, or on their own.
Bake all points: when clicked, all procedural points will be converted to
baked points. Since baked points can be individually erased with the erase
brush, this allows you to erase points which were previously fully procedural
(and thus, not individually modifiable).
Randomize
Spread: a random spread applied to baked points, so that they don’t all lie
uniformly at their point of origin on the input mesh surface.
Page # 23
FRACTURE POINTS ROLLOUT CONTINUED
Clusters
Enable clusters: when enabled, cluster points will be generated on the initial
fracture points.
Point scale: controls the maximum size of an individual cluster of points may
be around a given fracture point.
Spread: the maximum amount an individual cluster point’s distance may vary,
from its parent fracture point to the “point scale” value.
Optimization
Cull points beyond hull: when enabled, generated points that are further
from the radius of the input mesh’s convex hull, multiplied by the specified
distance threshold, will be culled. This prevents distant points (that are too
far away from the input mesh to affect its fracture mesh) from slowing down
fracture mesh computations.
Page # 24
Fracture meshes Rollout BACK
The Fracture meshes rollout has parameters which provide control over how fracture meshes (meshes generated by the
various fracture modes to slice an input mesh) are created.
Square/circle: for fracture modes that use planar meshes to cut input
meshes (ex: planar fracture mode), this controls what shape the planar
mesh will take. In some situations where having visible edges on planar
meshes is undesirable, the “circle” mode can be selected.
Material ID: controls what material ID value will be assigned to all fracture
meshes.
UVW scale: this value is a scale multiplier applied to all UVW coordinates
assigned to fracture meshes.
Cull external faces: when enabled, faces on fracture meshes that do not
intersect the hull of the input mesh will be culled, prior to fracture. Typically
these faces are not required (as they do not affect the fracture result), so
leaving this setting enabled will increase the overall speed of the fracture
operation.
Cull with convex hull: when enabled, the convex hull of the input mesh will
be used to cull external fracture meshes faces. When disabled, the input
mesh itself will be used to compute fracture mesh intersections and cull
external faces.
Cull internal open elements: when enabled, open elements (fracture mesh
elements with open edges) that are inside of the input mesh hull will be
culled prior to fracture.
TIP
Enabling “cull internal open elements” can help prevent fracture artifacts in cases where it is known that fracture
meshes have open elements inside the input mesh hull. For example, if you are performing a Voronoi fracture
and have enabled cell wall culling, it is likely that orphan cell walls (cell walls that don’t connect to other cell walls
at a junction) will be generated. Enabling “cull internal open elements” will remove those orphan walls, leading
to results that are less likely to contain artifacts (because the PRISM volume slice function prefers fracture
meshes that fully cross the surface boundaries of input meshes, rather than those that only partially intersect it).
Page # 25
FRACTURE MESHES ROLLOUT CONTINUED
Shell
Add shell: when enabled, fracture meshes will be extruded along their
surface normals, giving them volume.
Unify noise parameters: when enabled, all fracture modes will share the
same noise A/B parameters. When disabled, each mode will have its own
unique noise A/B parameters.
Extract meshes: clicking this will extract fracture meshes to a new editable
mesh object.
Page # 26
Fracture noise Rollouts BACK
The Fracture noise rollouts have parameters which allow you to tune how fracture meshes are displaced, prior to
fracture. These displacements are what create fracture details.
Fracture noise A/B are two separate levels of noise that you can apply to any
fracture mesh (common usage of the two levels are: one level for larger
displacements and one level for smaller, more detailed displacements -
layered together for more control over the overall shape of the noise through
the fracture mesh).
Fracture shell noise specifically applies to fracture meshes that have been
extruded with the shell settings available in the Fracture meshes rollout.
Fracture noise A/B displace fracture mesh vertices directly, whereas Fracture
shell noise varies the distance that a shell operation will extrude a fracture
mesh, at a given point in space.
Radial random walk specifically applies to the radial lines of radial fracture
patterns.
Page # 27
Fracture output Rollout BACK
The Fracture output rollout has parameters to control how the output of the modifier/operator is processed.
MODIFIER VERSION Preserve normals: when enabled, explicit normals of the input mesh will be
preserved in the fracture meshes.
Cull elements by surface area: when enabled, fracture meshes will be
culled depending on whether or not they have a surface area smaller than
the specified thresholds.
Min area: the absolute minimum surface area a fracture mesh must have,
to avoid being culled.
Min area ratio %: the minimum surface area a fracture mesh must have,
relative to the largest surface area of any given fracture mesh, to avoid
being culled. For example, if set to 1%, all fracture meshes whose area is
less than 1% the area of the largest fracture mesh will be culled.
Cull internal faces: when enabled, non-manifold faces that are internal to a
fractured mesh (ex: remnants of slice mesh that didn’t fully cross the input
mesh bounds), will be removed.
Select fracture faces: when enabled, fracture faces (faces derived from the
fracture mesh(es) in the fracture operation) will be added to the output
mesh face selection.
Print timings: when enabled, PRISM-specific function timings will be
printed to the MAXScript listener, providing a full breakdown of the speed
of each PRISM function during the fracture operation. These timings do not
include the time spent to compute the fracture operand points and meshes
themselves - only the actual fracturing operations performed by PRISM.
OPERATOR VERSION
Center pivots: when enabled, fracture particle meshes will have their pivots
centered.
Preserve source particle: when enabled, the largest fracture mesh will be
assigned to the source particle (and the source particle will not be deleted),
thereby preserving any additional properties/binds the source particle may
have had which would otherwise be deleted.
Area threshold %: if the ratio between the largest fracture mesh’s surface
area and the input mesh’s surface area is not greater than this percentage,
the source particle will not be preserved.
TIP
Preserving the source particle can be useful in cases where you want to
preserve binds or other unique properties assigned to it, even after it’s
fractured. However, there may be some cases where you may not want
to preserve those properties - for example, if the source particle is
fractured into sufficiently small enough pieces. By adjusting the area
threshold %, you can control how big the largest fracture mesh must be
in order for it to preserve the source particle’s properties/binds. For
example, an area threshold value of 90% means the largest fracture
mesh must have at least 90% of the surface area of the input mesh, in
order for the source particle to be preserved.
Page # 28
FRACTURE OUTPUT ROLLOUT CONTINUED
Test FALSE
Largest N fractures: controls how many of the largest fractures generated
in the fracture operation will test FALSE for any operation conditions (ex:
send out).
TIP
There any many situations where you might only want to send part of a fracture result to another particle event.
For example, when performing an edge fracture on a mesh, you may only want to send the resulting edge
fragments to the next event, while keeping the rest of the fractured mesh in the current event. You can perform
this filtering with Property Test operators, or other methods, but by simply specifying how many of the largest
fractures you want to keep in the current event (in that example: 1), you can achieve the same result without
having to tweak specific values and settings related to particle size/volume/etc.
Page # 29