Running Animations without Uploading

I’m prototyping a few game ideas. I’m currently working on some basic animations, but realized something: you can’t play an animation without uploading it to roblox.

Since I’m prototyping, these animations will probably be never used again. Why am I uploading something that I’ll never use after the prototype is over? I really don’t want to clutter my inventory with useless animations along with my 20-30 places that I can’t remove. My point is, we should be able to run keyframe sequences directly in studio and online without having to upload them to roblox first.

What’s the point of uploading animations to roblox anyway? This might have been an okay method when animations used to cost robux, but these things are now free. It would make more sense to have animations saved on the game itself. Uploading animations would be fine when you have multiple games with the same animation.

tl;dr: Humanoid:LoadAnimation(<Animation, KeyframeSequence> animation) – allowing the humaniod to play keyframe sequences in studio and online instead of uploading to roblox first.

30 Likes

I love the idea of being able to load animations without having to publish it but one thing ran through my mind while I was nodding in agreement. Would that end up being a bypass to moderation if it could run online? Does ROBLOX even moderate animations? (I would believe they do since users could upload very questionable animations.)

But how do you moderate an animation without the rig to view it on?

1 Like

You actually can:
http://wiki.roblox.com/index.php?title=API:Class/KeyframeSequenceProvider/RegisterKeyframeSequence

(EDIT: Only offline :stuck_out_tongue: )

7 Likes

Ah, you got me there :T Good observation!

I saw this a while back. Very close to what I want, but sadly only for offline.

It would usually be fine, but I’d like to upload my prototype place and have other players try it and gather their thoughts and opinions.

2 Likes

I requested this in the past for production-level animations – IMO uploading animations as assets instead of publishing them within the game as instances is awful. Apparently this is done for performance reasons: already encoded = less data sent across network, and encoding instances on the client takes time.

That doesn’t change the fact how awful animation assets are though:

  1. Have to manually publish each change because due to security reasons we can’t have an API to autopublish
  2. Animations are sometimes neither related to games (Game Assets) or my personal assets (e.g. an animation for a free model I make), so they don’t fit well
  3. Can’t dynamically create animations at runtime (e.g. variable bolt pullback length by model)
  4. Clutters inventory
  5. Can’t share

It’d be nice if Roblox allowed us to manually encode animation instances, in which case I could publish a zombie with a custom walk animation, and when someone plays a game that uses the zombie,the animation is already encoded from when I made it. If I need to dynamically create animations, I can use a Lua API to encode a keyframe sequence before anyone needs to use the animation. Ideal behavior is including animation instances with the creations that use them.

7 Likes

One thing I’d like to point out is that, although it would be annoying to implement, it is perfectly possible to emulate Roblox’s Animation system in Lua via the Transform property: http://wiki.roblox.com/index.php?title=API:Class/Motor6D/Transform

Basic rundown of what would need to be done:

  • Get the Pose Descendants of each Keyframe
  • Find the Motor6D descendant in the character whose Part1 shares the same name as the Pose.
  • Generate some Tweens that apply the Transform of the Motor6D based on the Pose’s CFrame, EasingDirection, and EasingStyle.
  • Create some sort of complicated playback system that can pass instructions to the clients for replication and playback on any character in the scene.

That last part would be the tricky thing, considering factors like how multiple animations stack on each other, how priority comes into play, animation weights, etc.

7 Likes

I’ve made many animation systems in the past. This time around, I’d rather not to save me a lot of time. I’m pretty sure I also read from an admin how bad it is to make your own animation system cause it’s super slow.

Even though there is this minor annoyance, I’m still going to go through the pain of uploading animations. In the end, it’s probably a better decision.

If I ever need more flexibility, it’s not too late to make my own animation system. I can always transfer roblox animations to my system (I’ve transferred mine to robloxs in the past.) It would only take me a day or two to make a full animation system considering how many times I’ve done it. qq

2 Likes