Hi everyone!
Lately I’ve been working on implementing procedural slicing of skeletal meshes and got a working prototype. I would like to share my results with the community when they are ready, and possibly provide a plugin, but not sure if my current implementation violates any legal requirements. I would really be grateful if someone could help me determine that.
The code in question lives in the following file: Source/Playground/Private/MeshSlicing.cpp · main · Nikolay Lunyak / Skeletal Mesh Slicing · GitLab, and here’s how it was written: I copied the engine code for the SliceProceduralMesh
function and gradually adapted it to work with skeletal meshes. This includes:
- adding logic for generating arbitrary number of resulting meshes
- adding logic that traverses the skeleton in order to determine the components of the skeleton graph
- adding logic that extracts and then accurately preserves the weight information for the mesh vertices
- adding logic for instantiating
USkeletalMesh
es at runtime - modifying the cap section generation logic to account for the new scenarios
- etc.
So, in some places there’s purely my code, and in others it may be the Epic code modified ever so slightly. Like the code for triangulation: it’s modified to operate on my custom structs for vertices that contain additional weight-related information, but that’s it.
So am I allowed to distribute such code? Should my modifications be considered allowed and significant enough so that this code belongs to me, or I should still go and completely rewrite every single character that was copied from the engine? Or should I only rewrite some specific functions that have not been “reworked enough”?
I’m writing this code mainly for educational reasons (I saw some discussions about slicing skeletal meshes, had an idea how I could implement it, and decided to give it a try), but it would also be nice if I could make a YT video explaining the algorithm details and possibly push a plugin to the marketplace (the original code from the mentioned repository would be available for free in either case, but I would like to provide a plugin with a small fee in addition to it).
By giving the above link I am, in fact, distributing the code, but at this point I am not encouraging anyone to use it or stating that I have all the rights to do it. Unfortunately I didn’t find an option to contact Epic directly with this question.
Also, here’s the small video of the current prototype, just to make it clearer what I mean by “procedurally slicing skeletal meshes”: Playground [DebugGame] - Unreal Editor 2023-12-10 16-13-43.mp4 - Google Drive