Tonight I will work on the possibility of “creating plugins” And actually creating them. The first thing I’ll do is add a Pause and Resume function. Why in the form of a plugin? I don’t want to clog up my module with unnecessary functions. (Still, my module is intended to completely repeat the work of the official animator, and not add its own functions)
I tried to do rootMotion recently, but failed because I didn’t understand how to implement it at all
I don’t think you should make root motion by yourself. Simply, motors6d already exist. All you need is just apply tweens on the C0 of a specific motor depending on the keyframePoint (or how is it called). Motors6D already have root motions. Why reinvent the wheel then?
Either I didn’t understand you, or you misunderstood me. RootMotion = track the humanoidroot at the moment of animation. (There are many uses for this)
Yes, I just fixed the function:GetMarkerReachedSignal, it returns the Value of the marker.
Also, I actually added this signal in the typing so that there would be hints.
I’m not sure if the problem that @ceat_ceat was talking about is the same as the one I was having, but I tried out the module that they provided and it seemed to work completely fine.
I made something similar to this, and one of the key problems I faced when storing massive amount of Keyframes was this: Load Times.
Studio (and Game) load times would absolutely skyrocket due to all the Keyframes that would take up all of the Instance space up. (You can reach thousands of megabytes if you are not careful).
What I would recommend you do in order to address this problem is by creating another format that is a more compressed format of Keyframes and Poses for game use (saved as multiple StringValues called “Chunks”)
Using buffers and helper modules like BufferUtil to make using buffers nicer.
(OR, and this might be easier)
Turning all Keyframes and Poses into JSON and Compressing it down using This String Compressor
(Uncompressing it when reading)
If you go with any of these paths, just remember that Roblox caps all String Properties to 200,000. so you’ll need to split your exported compressed animation each 200,000 nth string and order them as “Chunks of Animations”