Maybe you’re right. But link is not loading, XD
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)
does it support Animation Event
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.
This is a great module and I am really excited to use it. I attempted to implement it into my game and I keep getting this error
and im not entirely sure why. Do you think you have any solutions or fixes?
I’m working on a solution to the problem.
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.
Good Module.
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 buffer
s 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”
This is a good module but i dont know why does the animation not play a second time after it has ended? (The “Activated” print still prints but no animation)
why would you ever do that with strings?
You would legit waste resources for no reason. “Making it harder and worse just to waste resources on fixing it” about buffers i think that a good idea.
Storing millions of Keyframe/Pose Instances currently is extremely bad for loading times and memory (Animations can take THOUSANDS of KB if not careful with Poses). Baking them to be compressed strings OR buffers for Game-Use is the way to go. Buffers are stored as strings too anyways.
Bro, sorry, but your logic is stupid as hell.
You have to store it regardless of your way; it just makes extra mega useless steps.
So you would get that big file, then WASTE resources of PC to compress just to later WASTE even more resources to uncompress it (I’m talking about your “string compressed method,” not buffers).
Using buffers will force you to fully rescript this module as well and will make you be forced to script “prediction” of needed data in buffer. (getting the length of an animation and then getting a possible range of where data could be in buffer to not go through all lists)
Your suggesting about strings makes absolutely no sense to me because it in fact doesn’t make any sense
well if its open source, which license is it under?
Have you even considered trying to store thousands of Pose Instances? Do you know how long loading times end up being, or are you being ignorant on purpose?
You fall short as you did not explain the former other than childish remarks. I have already attempted all of this prior and used it in a Live Game; Giving back my feedback on what can be done to improve on load times, ‘resource semantics’ is already thrown out of the window upon using this Module. Agreeing that loading from Instances is what you’re aiming for.
Hi everybody. After a long absence, I finally updated this module and got rid of bugs. Please update this module in your game, because the previous version either does not work or does not work stably. In the new version, I refused to automatically select which type of animation to use, because it turned out to be ineffective. In the new version, I have slightly improved performance, and also removed unnecessary checks (I hope for your reasonableness, guys). Now I will not go away for so long and I will correct all mistakes at your first word (I hope)
I admit, there is 1 bug - a broken animation frame in fadeout. So far, I have not found a way to fix it, although I partially understood what the problem was. if you find a way to solve the problem, be sure to write to me about it
iI think, I too late, but I fixed this bug.
It is caused by the fact that you are trying to play an animation during FadeTime (and FadeTime itself was broken in the previous version)
Install the new version and in the new module in :Play() set the values 0,1,1 in which 0 will be = the value of fadetime. Here, your problem is solved