Easily apply complex, dynamic animation to your Unity 3D models, with Point Storm.

Point Storm is a Unity Editor enhancement that allows you to import animated point cache files and apply them to an imported mesh. It operates entirely ‘offline’ within the project import process and outputs performant, fully serialised assets. It therefore requires no additional runtime resources or processing within your Unity game.

Point Cloud (aka point cache) data defines a list of animated vertices. This data can be applied to a mesh in order to deform it. Pre-computed complex movement which would be very difficult to create using Bones or BlendShapes can be easily achieved and this data can be output using the 3D software of your choice.

Supported Filetypes
• mdd
• pc2
Once imported into a Unity project, Point Storm will automatically operate on any of these files, converting them from unusable data into Point Storm assets, ready to be associated with an imported mesh.

• Sub-frame interpolation
• Closest Point, or Point Order vertex matching.
• Option to re-generate Normals for base mesh and all computed Blendshapes.
• Optional automatic generation of embedded AnimationClip and Animation component.
• Automatic Last Frame > First Frame blending for looping animations.
• Point Cloud visualisation - if you don’t want to apply the Point Cache to an existing mesh you can generate an entirely new animated Point Cloud asset.

• All asset serialisation is performed offline during the import process.
• The mesh deformation data is baked into Blendshapes. Blendshape deformations are calculated by Unity using GPU Compute shaders when available, and are therefore lightning fast!
• Outputs a non-writable mesh that can therefore be uploaded to GPU memory.
• The amount of memory required is entirely dependent on the mesh resolution of the associated GameObject and the number of frames in the Point Cloud data, not the number of Point Cloud data points. In other words the resolution of the imported point cloud deformations have no effect on the final size of your executable.

• When using Point Order to match vertices, the mesh must contain the same number of vertices, in the same order as the point cloud data. Because Unity must split vertices where it finds hard edges, or discontinuous UVs in the original model, it is often necessary to modify the FBX import settings to ensure that the vertex counts match.
• Animated Point Clouds are built using meshes with MeshTopology.Points. Later versions of Unity output an annoying console warning if the current graphics API doesn't fully support this, but it still all seems to work!