This is a paid asset, but now you can download Mesh Animator Free.
Detail this asset from Unity Asset Store: Original Link
Mesh Animator v2.0.16 (Latest version)
Mesh Animator v1.5.9
“If possible, please buy the package to support the developer”
Mesh Animator is a toolset for converting fully animated characters, animated assets, or any other kind of skinned mesh. With two modes, Snapshot and Shader Animated, you can support any platform and get full GPU instancing support, without losing the ability to control individual instances.
Great for animated crowds or vegetation. Get 100x more animated entities on screen with the click of a button!
• Convert assets quickly and easily using the converter.
• Out of the box GPU Instancing Support!
• Can be controlled using Mecanim, no need to re-write existing code or controllers, just attach a script.
• Supports custom animation events.
• Built with performance in mind, minimal CPU overhead.
• Includes full source code.
Upgrading to version 2.x from 1.x
Version 2.0 of Mesh Animator introduced sweeping changes that may not be compatible with previous versions. It is recommended to delete the existing MeshAnimator folder from the project, import the new package, and then re-bake any previously baked assets.
Unity version support
Version 2.0 dropped support for older Unity versions and is being built for Unity 2018.3+. If example asset meshes look stretched or corrupt, it’s most likely just a version difference issue. Rebake the included example prefabs. Snapshot mode may still work with older Unity versions, but it will not be officially supported.
Mesh Animator Bake Window
Asset to Bake – The parent object to bake. This must link to an asset in the project with an Animator or Animation component.
Mesh Animator TypeSnapshot ModeThe classic Mesh Animator implementation. It functions by baking the vertex positions of meshes throughout animations then swaps them out at runtime. It improves performance by removing the complex math required for skinned mesh rendering, freeing up the CPU to do other work, but requires more memory.Creates a copy of the mesh in memory at runtime for each frame of animation.
Requires more memory than a traditional SkinnedMeshRenderer, but CPU usage is much lower and more meshes can be displayed.
Does not require special shaders, and is compatible with all platforms and graphics devices.
Supports GPU instancing for identical meshes currently on the same frame of animation.
Compatible with all render pipelines.
Shader ModeShader mode was introduced in version 2.0 and works similarly to Snapshot mode, except it stores vertex positions as a texture. Custom shaders then move the vertex positions of the meshes on the GPU. This provides a higher level of performance since the GPU is doing the heavy work, and uses less memory since only one mesh copy is needed.Creates textures that store animation data for each animation frame.
Requires special shader code to update the mesh vertex positions.
Requires 2D texture array support by the graphics device, and may not be compatible with older graphics hardware.
Supports GPU instancing and provides the highest level of performance.
This section provides general information about the currently selected bake mode.
Setup which animations will be baked.
Animation Controller – Supply an animation controller to auto-populate all clips used in the controller.
Avatar – If baking a humanoid prefab, this option will appear. Designate the avatar used by the asset.
Root Motion Mode – If baking a humanoid prefab, this option will appear. It can be used to apply root motion to the mesh or transform.
Bake AnimationsAdd Custom Animation Clip – Add custom animation clips to bake, helpful for baking on prefabs or objects where the animations aren’t automatically detected.
Add Selected Animation Clips – Adds all currently selected animations to be baked.
Snapshot Mode Only Global Frame Skip – Instead of baking animation every X frames, animations can be baked by skipping frames and then skipped frames are smoothly interpolated at runtime. This significantly reduces asset sizes but can result in poor animation quality.
Snapshot Mode Only Per Animation Frame Skips – Individual animations can skip frames during baking.
Setup meshes to be baked. All meshes will be combined into a single mesh and lose bone skinning information as part of the baking process.
Mesh Filters – Add MeshFilters that should be baked.
Skinned Mesh Renderers – Add SkinnedMeshRenderers that should be baked.
Use Original Mesh – If baking a single mesh filter, optionally use the original mesh, instead of baking a new one.
The baking process removes all bones and transforms from the prefab or asset. To attach an object, for instance, attach a sword to a hand bone. Expose the transform and it will move with the animation. This adds a slight amount of overhead as it needs to update each transform position each time the animation frame changes.
Bake settings to control accuracy and asset size.
Bake FPS – The sample rate at which the bake will happen. Bakes a frame every X frames. A higher rate means more accurate and smoother animation, but bigger asset sizes.
Snapshot Mode Settings Shader Mode Settings
Fast Normal Calculation – Use Unity’s RecalculateNormals() method or a more complex method of recalculating normal angles.
Custom Compression – Turn on this option to enable custom compression.
Compression Accuracy – Determines how many floating point numbers to store for vertex positions. When using Custom Compression, the lower the number, the more compression and less accuracy will occur.Accuracy = 0.001. Good for most animations. Use 0.0001 for even less compression.