Basic examples of the features of the RMC can be found here!A more advanced example project can be found here!
This project is a labor of love, but unfortunately love doesn't pay the bills!If you've found this project useful, please consider supporting the development!You can support the project here!
The RuntimeMeshComponent or more commonly known as RMC, is a replacement to the ProceduralMeshComponent (aka PMC) found in UE4. The RMC is much more efficient, and carries many more features, while allowing for a much more fine-grained approach for advanced use cases, while being simple to use just like the PMC. It can handle any use case from simply loading models at runtime, to debug views, to modification of existing models all the way up to procedural generation of entire worlds!
The RMC has been around for 4+ years and has an active community of users from individuals, to schools, to Fortune 500 companies, with many released projects. You can also find active support in our Discord server here: https://discord.gg/KGvBBTv
Features (Community Edition):
Full Collision Support, both static triangle mesh and dynamic moving objects
Variable mesh formats, allowing for tradeoff in needed features and memory/performance overhead
Up to 8 Texture Coordinate (UV) channels
Normal or High preicision Texture Coordinate (UV) channels
Normal or High preicision texture coordinates, supports engine feature for high precision normals
LOD Support, alowing engine maximum of 8 LOD levels and full dithering support
Full NavMesh support
Tessellation support, including generation
Full threading support, both internally managing threads and allowing for your external threading safely around the garbage collector.
Async collision updates. As collision can be slow to update, the RMC can offload it from the game thread.
Separate collision from rendering
StaticMesh conversion in game and editor.
Tangent generation utility
Mesh Slicer
Features (Premium Edition):
All features found in RMC-Community!
Additional Reversed Indices buffer for inverted views or inverted transforms like negative scaling.
Depth Only Indices, allow for a separate index buffer for depth prepass and shadows for improved performance
Distance Field support. Supports engine features like DF Shadows, and DF Ambient Occlusion, and material distance queries, and Niagara collision
Distance Field generation on CPU. RMC can generate the DF for you on the CPU, GPU implementation coming later.
Model loading of many common formats including obj, stl, fbx, x, 3ds, dae, and more through Assimp
Optimization-ReIndex, can reindex the mesh to remove redundant vertices.
Optimization-VertexOrder, Forsyth algorithm to optimize the order of vertices to improve caching efficiency
Optimization-Overdraw, Reducing overdraw of a mesh by rearranging triangles
Optimization-VertexFetch, Improve memory coherency by ordering vertex buffer to more efficiently work with triangle order
Texture loading support for .jpg/.jpeg, .png, .tga, .bmp, .psd, .gif
Texture mipmap generation support
Improvements over PMC:
50-90% Lower memory useage than PMC
30-100% lower render thread cpu time
Static draw path for maximum rendering performance