Common Issues

From Fracture FX
Revision as of 11:19, 10 June 2020 by Craig (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



Bullet doesn't load

If you see the error "initializePlugin function could not be found in plug-in (bullet)", then the bullet plug-in is not installed correctly. It should remain inside the fracture_plugins directory, since it is a plug-in to fracture, not a separate plug-in to Maya. fracture_plugins should be placed alongside the fracture.mll/.bundle/.so. Once it's in the correct directory, bullet can be loaded from under the solver globals in the Edit Simulator window. See Installing the plug-in for more information.

What do I do with the devkit folder?

You can ignore the devkit folder, it does not need to be installed to use the plug-in. The devkit is intended for developers at larger studios who wish to connect an in-house solver.

Fracture doesn't load on the Mac

If you see this error:

// Error: line 1: Unable to dynamically load : /Users/Shared/Autodesk/maya/2013/plug-ins/fracture.bundle
does not match the current architecture //

then the file is likely corrupted, and is not being identified as a 64-bit bundle. Reinstall the plug-in from the zip archive you downloaded.

Common problems

There's a large pyramid when I break something

The object has to be closed, manifold (edges have no more than 2 adjacent polygons), with outward-facing normals, and no self-intersections. To check, you can try the following. You can display the polygon normals and check their outward facing. You can display border edges and check that there aren't any (meaning the mesh is closed). You can check for non-manifold geometry in the Cleanup window (edges should not have 3+ polygons sharing them, only 2.) There isn't a way to check for self-intersections yet.

If the problem appears in a secondary break, set the internal offset under the voronoi options of the primary break node to 0. A small internal offset creates gaps between the fragments, but in some cases it can create small self-intersections where the offset takes the vertex through a thin part of the model.

The scene is slow when I rewind or locks up when I connect a large object

Increase the 'point separation' before connecting it. This is a world-space sampling distance used to convert all objects to a point-based representation. (Enable 'Draw points' to see the point cloud.)

Baking or caching is extremely slow compared to live sim

Make sure autokey is disabled.

The sim looks wrong after baking to keys, objects are far apart

Make sure the scene units are centimeters. Other units are currently not supported.

The simulation suddenly stops

Make sure the 'Playback speed' in the Maya preferences is set to 'Play every frame'.

Playback speed.png

The fragments disappear after frame 1

This means your events are not configured to break anything. The fragments visible on the start frame are a preview of what will happen when the object eventually breaks during the sim. It's the unbroken object which is injected into the simulation when you hit play, which is why the fragments look as if they've disappeared. If none of your events are configured to break anything, the entire simulation will consist of only the unbroken objects, no fragments will be produced and the fragmentGroup will remain empty. This is correct and expected behavior.

Crack image mode doesn't work

The texture needs to be white lines on a black background to work, NOT black lines on a white background.

The undamaged part of an object using crack image won't stay still

The simulation sometimes explodes using the internal solver

Set a velocity limit. Use the numeric display (before or after baking to keys) to find a sensible maximum value.

The simulation sometimes explodes immediately with Bullet

Change the shape class to btGImpactMeshShape. Sometimes bullet has problems dealing with collision between convex and non-convex objects.

I cannot animate things without the solver running

Uncheck active on the simulator globals tab.

Deformable collision objects don't work with Bullet

These are only supported by the internal solver.

Animating the transform scale doesn't work

Animation for passive objects is only supported on translate and rotate. Mesh deformation is tracked by the internal solver, so you can workaround this by baking the scale into the point positions.

How do I change the animation of a passive object?

Disconnect it from the simulator using the button on the inputs tab. Change the animation. Reconnect it.

I can't see the preview geometry, or any extra output from the break node

Fracture is incompatible with Viewport 2.0 (which is the default in Maya 2015 and up), so all users using 2015 will have to switch the viewport back to legacy mode (renderer → legacy default viewport) to view simulator previews or any extra output from the break node (e.g. the paths extracted from the crack image texture).

Depending on which OS you're using, in the Preferences you may have to switch OpenGL back to compatibility mode before the legacy viewport will work.

How do I get better collisions in Bullet?

  • In the object's bullet section, increase the collision margin.
  • In the Globals --> Solver --> increase Fixed Time Step.

The particles from the "emit particles on break" event don't work with fluids

On the simulator globals tab, right at the bottom, under the meshes layout, there's an 'Update world' option menu. Switch that to 'before'. There's tooltip explaining the functionality more in depth.

Fracture FX in Maya 2016 crashes when I turn on parallel rig evaluation"

When you load fracture in Maya 2016, parallel rig evaluation will be disabled, because fracture is not compatible with it. Do not switch parallel evaluation back on, otherwise it will crash Maya. More info here.

Parallel eval.png

Fragments fall through the ground with Bullet

Try increasing the 'Fixed time step (Hz)' value on the solver globals. If the ground is a mesh (rather than the built-in ground plane) make it thicker (use a separate non-rendering object if necessary). Try raising the collision margin for the object on the inputs tab.

Are face materials and color sets supported?

Yes. See this page

Secondary breaking doesn't use the right break settings

Workflow Questions

How do I animate cracks?

The breaking pattern produced by the voronoi/split-plane/crack-image fragment modes cannot be animated. You can only animate a mask applied to that pattern, in the form of an animated texture sequence, animated procedural texture or ramp, or an animated/deforming volume. Set the localize mode to event-driven, and connect a texture or volume. Alternatively, choose Add event -> Animated -> Texture driven, from the menu under the events tab. In any case, you may want to uncheck the active flag on the simulator while keyframing, in order to stop the solver evaluating when you jump around the timeline.

If you don't need to see partially growing cracks inside an object, a faster alternative to the localize mode is to create an event that breaks the entire object on frame 2, but leaves the fragments passive (activate-on-break = off). Then activate the objects that touch an animated/deforming volume from a second event, e.g. Add event -> Animated -> Activate in volume.

Keyframed objects won't break when they collide

Make sure they're both connected to the simulator. (They're connected if they're listed under the inputs tab, and still appear in the viewport when you switch off the display of polygons.) If both objects are keyframed, also make sure 'passive collide' is enabled in the solver globals, otherwise the simulator will not check for collisions between two passive (non-simulated) objects.

Are events tied to particular objects?

No, by design events can break any number of objects, at different times and with different break properties per object. Some events may not break anything, and may only modify the dynamics properties or the custom attributes carried by objects. You can however choose to restrict events to particular objects using the object filter, or groups of objects using the object_set filter. Events are meant to be customisable. See Events and filters for more information.

​ Should I scale units like mass and gravity depending on my Maya units?

Units can be whatever you want them to be. The only unit that's fixed is time (seconds). If you decide the numbers you use for distance represent meters, then gravity is meters-per-second-per-second (ms^-2). If you decide your mass is kg, then your impact force becomes newtons, and so on. They're all linked.

How do I vary the secondary break pattern?

How do I get custom data to drive a shader?

How do I get a character to activate fragments?

How do I locally break a wall then break the rest of it at a later frame?

How do I edit fragment keyframes before exporting to Alembic?

How do I script the creation of attributes, filters, modifiers?

What does the update transform button do?

It moves the break node's transform back to match the object's transform, if the object has been moved since it was broken, so the origins match again. The position of things like split planes are recorded relative to the break node so that the same node can be reused to break multiple objects (by setting their "breakWith" attribute). The objects may be nowhere near each other, so there has to be another point of reference, which is the origin of the break node.

How do I stop displacement on fragments before they're activated?

On the inputs tab, under the custom data section for the object, add a float called "dispScale", and set it to 0.


In the event that activates the fragments, add an assign modifier, setting "dispScale" to 1.


Now the fragments will have zero displacement until they're activated.

Note: This doesn't work with 'replace with keys' because afterwards the node which recomputes the mesh with a time-varying displacement scale will be gone. You'd have to export to Alembic instead.

How do I have two layers of breaking on one object?

What's the difference between solver num steps and simulating subframes?

Can we link our own particle shape to a breakGeo?

Yes, just uncheck 'Regenerate during sim' (Voronoi/Options)

How to avoid interpenetration?

Assuming you are using bullet, you can tweak values in 2 locations: object --> Bullet (play around with collision margin and shape class) globals --> solver --> num steps and fixed time steps.

If I use automatic projections to create UV for interior faces, is there a way to select just those faces later so I can scale the UVs?

Select the fragments, and choose Fracture -> Convert selection -> To interior faces

How do I propagate custom attributes to the fragment meshes?

Personal tools