For Instance, a Problem

So I want to create an animation but it has run into a big roadblock. This post is to state where the project stands right now, and to find out if others would also like a solution.

Here is some relevant information describing the animation:

  • It’s a rigid-body world.
  • There is a set of ~500 meshes, let’s call them ‘pieces’.
  • Pieces cannot crack or be broken into smaller pieces.
  • Everything that is solid is made of pieces.
  • Groups of connected pieces are called ‘builds’, such as a house.
  • A build should be converted to a single mesh for performance, and turned back to pieces for animation or simulation, such as a house collapsing.
  • Characters are made of pieces as well.

For the scenes to have any substantial size a very large amount of objects will be used, even when converting builds into single meshes, so instances are absolutely necessary. To use not use them would scale the scenes down by at least 2 orders-of-magnitude.

To clarify, instancing is referencing to geometry or materials instead of copying them.

For the purposes of this project, the requirements of a 3D software package are as follows:

  1. Quick manual placement of instances.
  2. Transform animation of instances, which would be translation, rotation, and scaling.
  3. Attachment of instances to skeletons, and animation of skeletons.
  4. Rigid-body transform simulation of instances, again translation, rotation, and scaling.
  5. Grouping of instances.
  6. Hiding of groups of instances, which should also be unloaded from memory.
  7. Copying of groups of instances.
  8. Conversion of groups of instances to a single mesh.

Instancing is not new, so you would think this project to be fairly rudimentary, but there is a distinct lack of tools.

That is the problem. I want to see if anyone else would like the expansion of instancing features in Unreal Engine 4, or possibly some workarounds.