Hi fellows.
I’m developing a new plugin named SKELOT. as the name says, using this plugin you will be able to draw hundreds of thousands of skeletal meshes.
Advantages:
Instanced rendering. all are batched in one draw call. something like UHierarchicalInstancedStaticMeshComponent.
No CPU side processing for bone transformations. all animations are baked and stored on GPU. it just sends transform and index to GPU.
Instances can be referenced by FSkelotInstanceHandle for gameplay purposes, something like TWeakObjectPtr
Frustum and Shadow Frustum Culling added.
its all done in FPrimitiveProxy::GetDynamicMeshElements, there is no clustering yet , its just Frustum intersection with Sphere
Sorting instances, generating transform matrices, … now is parallel using Collector.AddTask
Demo Status:
integrated and optimized Chipmunk 2D physics engine for movement of characters. PhysX and Chaos couldn’t handle that much.
movement using ParallelFor, and quality depends on distance. (distant characters won’t get interpolated every frame)
terrain sampling is tiled and cached (not 5000 linecast per frame surely )
@UPO33 I love your work? Is the Plugin ready for download? I am currently working on an RTS. And I would like to instance my skeleton meshes who using the same mesh. I think this will work very good in combination with Animation Sharing. Can I download it somewhere or do you sell it?
@Tec@chuklov
I postponed development because I’m doing a paid project. (will continue it soon)
the plugin is 90% done and it works fine with 4.27 but needs to be ported to UE5 and its not easy since lots of rendering code has changed.
Great work and take your time!
But please for the love of god please dont give up on this, I have seen multiple people posting about development of instanced skeletal mesh plugins but none of them finished/shared or published any plugin or info related to it (that I know of).
You have my full support!
@UPO33 Do all these skeletons are separate actors or they all are instances and doing the same?
I ask because I have RTS game and I need all the units to be separate actors as they all have different tasks to do.
The plugin looks pretty good and seems to be a general solution for instancing with skeletal meshes. I’m trying to figure out just how to instantiate an object, but all the websites are only showing results but not a tutorial maybe you can share some reference material to start with it