My addon has evolved so much since it first launched. I’m basically constructing the toolset I always wished I had for making simulations and motion graphics. I’ve created an addon that has about two dozen features in total, allowing easy manipulation of animations, quick physics sim setups via towers, voxels, and booleans, and the use of custom objects to create those scenes. Here is a rundown of the main features that exist today.
My addon can be found here on Blender Market: https://blendermarket.com/products/carls-physics-and-simulation-expander
Compact Interface
I don’t consider myself an expert in making a good interface but I have made many revisions to the structure. All utilities are in one area, while the major features are collapsible. Let’s go over some of those.
Particles to Rigidbodies
One of the features to influence the creation of my script is a desire to use particle systems to produce movement for rigidbodies. This feature allows you to attach rigidbodies to particle simulations for a set amount of frames, or use collision/kills particles features to determine the frame each particle dies on and convert to a rigidbody x frames before this moment.
Secondary Explosions
Since we can know when a particle dies and where, we can also spawn emitters in those locations and have them go off at the right time. You have various options to tune the timing of these secondary emissions. It is highly customizable, so you’re able to set them to go off several frames in advance or get a delayed reaction.
Voxelize and Boolean Construction
My script can scan a mesh and either turn it into voxels, spheres, or trace it in any object you desire. But in the latest release, we can also use a Boolean mode that will trace the original mesh and attempt to use hundreds or thousands of pieces to reproduce the model faithfully. This works exceptionally well with text, though sometimes it does require cleanup. It will ask you for an external material, and create one for the internals. This is where you might need to assign material on the surface. I did it this way because it’s easier to change materials on the surface vs inside a mesh.
Offset Animations
Above, words are being constructed from pieces made via the Voxelize tool. My addon uses a unique method to offset animations. I wanted a tool that would offset them without touching other animations, so we focus on postion, rotation, scale, and mantaflow/flip fluids flow settings. I’ve also recently created a feature that allows you to use a data path to offset one particular animation on the objects. A key point of this is that by using this method you can select to offset only keyframes in a set range while leaving the rest alone.
I’ve also included the ability to offset when particle simulations start. The offset animations tool is one of the strongest IMO. It lets you do so by distance (or in reverse) and the ability to use a data path greatly enhances its functionality.
Camera Tracking/Look At Tool
I made a great camera tool that will follow any object’s animation and continually look at it. What’s more, you can set a delay before the camera looks at the object to simulate a response time. We can also ‘lead’ targets. This is not only good for the camera, but also particle systems that you’d like to emit toward a particular target.
Create and Curve Animations
When manipulating hundreds or thousands of objects, Blender can sometimes be slow. With this tool, we can quickly set a keyframe at the current position and tell it to set another a set amount of frames into the future or past. While doing this, we can also scatter the objects or give them a new rotation or scale. I do this via collections so that you do not have to have objects selected, which makes the process much faster. Immediately after, you can tell the animations to curve using a tool. Tell it how far you’d like them to deviate x/y/z so that they do not move in a straight line to their destination. Adjust it further by pushing it again. One limitation is that if you move the keyframes they will be reset to normal curves.
Tower & Chains Generation
Tower generation (both square and round) are supported. You can track an empty while building to ensure that they are in the correct place when constructed. This is just a nice-to-have for beginners looking to make physics simulations with thousands of objects. To create chains, pick an object and how many repetitions you would like. The script will create a master controller empty and connect all the pieces via constraints so that you can rotate the entire formation.
Spawn on Animated Mesh
The picture above shows an animated mesh with objects spawned on all faces. This feature can be used to quickly spawn an object on faces/vertices of any mesh, but works very well with animated meshes especially in combination with particle systems. The reason it works well is that particles need position data/keyframes to play nicely with inherit velocity. So, as the girl dances the particles can be shed at every frame and will inherit the velocity of the particle system at that location. I’ve recently added the ability to make sure the object is pointing in the same direction as the vertex/face.
Constraint Generation
Select objects and the distance to search, and my script can automatically apply constraints to those objects. Limit max constraints per object to save your CPU some work. Use accurate mode to analyze meshes and try to find the closest place to connect.
Tools
-
Particle Tuner - If you have created many particle systems, you can adjust their start time +/- an amount along with lifetime, set their size or the gravity so that you can work with dozens of particle systems and still fine tune them without using undo.
-
Set Collision/Rigidbodies - Add Collision or Rigidbody active/passive to a group of objects in a single click, or if it exists tune the weight/remove the modifiers to get rid of them.
-
Remove Overlapping - Scan a group of objects to see if any overlap. Very handy for cleaning up after using the Spawn on Animated Mesh tool or when many rigidbodies exist and you want to get rid of those causing early collisions.