Custom Animation Editor v4

https://www.roblox.com/games/331269335/Animation-Editor-v4

I made it in such a way that you can play with it online (I’m not publishing it) and this is my fourth attempt. I’ve made 3 before, each better than the last. I think I’ve finally achieved what (I consider) is the best it can be.

This might be a touch confusing to new players so let me explain:

-Press new keyframe
-Walk over to keyframe
-Click Rotate/Move if you want to change what you’re editing
-Click on the mannequin
-Move him any way you want
-Repeat

Now press Play to watch it play on the main display up front. You can press preview (again to disable) to go into first person and see what it’s like. I decided to spread out my keyframes in this ‘physical’ way because I noticed I have trouble concentrating on my animations when I can’t see everything in front of me. Instead of just viewing a quick snapshot of the position my character will be in, I can see every position he will be in all at once. I’m sure some of you have different tastes but this is what I’ve found after four attempts to work for me.

The blue arrows on the side are to quickly move keyframes left/right (back/forward). It’s purpose is basically the equivalent of click+dragging to move keyframes.

The blue text with ‘Speed: 0.5’ is how long it will take for the previous keyframe to reach the current one. Inputs are any number greater than 0.

Yellow papers/Purple clipboard are for copy/paste. You can copy one keyframes data and put it into the next. Useful for creating loops on the preview mannequin.

Export prints out animation data for my custom animation engine thingy. It doesn’t work with roblox’s but after seeing roblox’s code I could probably make it compatible within a few minutes if I needed to.

Quick FAQ:

Q: Undo & Import please?
A: Planned. Not high priorities at the moment

Q: Why does pasting sometimes force me to enter speed and vice versa?
A: Roblox’s mouse hit detection system for SurfaceGUI’s is terrible

Q: Why won’t you release it for free?
A: I plan on it when I hopefully (hint hint) intern this summer. I want to make it roblox’s official editor as it’s a bit more (in my opinion) kid friendly than the current one.

Q: Why is it play-solo
A: I like play-solo :slight_smile:

Q: Why is there so much space on the on-screen UI?
A: Potentially adding more features. I had almost all of it filled earlier but ended up moving the buttons onto the keyframed mannequins instead :slight_smile:

Let me know if you have any ideas or thoughts. I’m thinking about adding a slider for the speed textbox and adding in different tween functions (sin, linear, quintic, bouncy, etc).

Edit: Fixed a few bugs and changes the way rotation and movement work. It’s not completely relative, which was surprisingly complicated to do.

I don’t think ROBLOX would be willing to make this the “official roblox animator”. Frankly, I’m not even sure why they’d want to.

The UI is certainly more clunky. I find it really strange you would use SurfaceGUIs for something like this. The only feature I found that could be useful was the “Preview” button which is probably only a few lines of code. (Might make sense just to tack that onto the existing editor). Also, animating in edit mode makes a lot more sense than Play Solo.

3 Likes

I invited 20 players to test. The server stayed full for a while and I didn’t get a single negative response. Most of them were newbies who would tell me that it’s much more simple & fun to use than roblox’s animator.

As for the rest, I guess it’s just up to opinion. I mostly built this around the idea of ‘show as much as possible without flooding the screen with information’.

To each their own, I suppose.

As for constructive criticism:

  • I didn’t see any way to do custom increments, maybe I just missed it?
  • I made a simple animation where the arms just went up, and they would go at a roughly linear speed until the end of the animation. At that point, they’d slowly creep past their goal. Maybe something’s wrong with your math? Or are you not easing linearly?
  • “Export” seemed to do nothing. I guess that’s not implemented yet?
  • After my original post, I did play around with it a little more. I do like how you can kinda see all of your poses lined up, but I don’t think that alone is worth using a different animator tool.

Something you could add is a form of onion-skinning. The ROBLOX animator doesn’t have that and it could be pretty useful.

  • I didn’t see any way to do custom increments, maybe I just missed it?
    –>Literally adding this as we speak lol
  • I made a simple animation where the arms just went up, and they would go at a roughly linear speed until the end of the animation. At that point, they’d slowly creep past their goal. Maybe something’s wrong with your math? Or are you not easing linearly?
    –>Sounds weird. I’ll look into it
  • “Export” seemed to do nothing. I guess that’s not implemented yet?
    –>Exporting works fine. It prints to output since I don’t use roblox’s animation instances
  • After my original post, I did play around with it a little more. I do like how you can kinda see all of your poses lined up, but I don’t think that alone is worth using a different animator tool.
    –>Can’t really say anything here lol. Personal preference I guess.
  • Something you could add is a form of onion-skinning. The ROBLOX animator doesn’t have that and it could be pretty useful.
    –>Cool idea. How would this work, previous keyframe is ‘ghosted’ on the current frame you’re editing? On all of them at once? Just the joint you’re moving?

I think that’d work yeah. Another possible solution is to just ghost each joint and attach it to the new version’s Part0. That way it’s relative movement for each joint instead of the entire rig. But that might get confusing as when you rotate the torso or something, the old arms/torso would get disconnected.

Arms, for instance, are welded to the torso. So if I were to move the torso on KeyFrame #2 I would still be able to select the arm and see it’s relative position correctly. This sounds like a REALLY neat and useful idea. I think it’ll be easy to add so I’ll give it a go in the morning.

Also I couldn’t replicate that bug. I think you may have tested before I updated how the animations are performed. I’ve been polishing it off recently.

Ok, here are my thoughts. I like the trick of placing all the humanoid models in a row, but I don’t think it’s intrinsically better than the keyframe gui editor. You can glean lots of macro-pose information, but if you’ve got subtle differences in frames, sometimes I rely on the distance between key nodes to indicate which stage of the pose I’m in. Perhaps another solution of labeling poses could be valuable? Or adding “stage” markers in-between sets of frames?

Suggestions:

  • Add an “insert after” button to any keyframe. I was only ~8 keyframes in & needed to add 2 more after #5, but it was still a little annoying hitting all the blue arrows.

  • The copy, paste, delete buttons have poorly defined borders, and they are so dang close to the “speed” textbox. I’d advise that you make all your buttons change colors when you hover over them as an indication to the user of what they’re about to press.

  • The speed textbox needs to be bigger. You have to click on the middle of it to edit, but a user is inclined to click on the number (which trails off the side of the textbox).

  • What does preview do? Maybe tooltips would be nice. Same for reset, actually (that one’s scary to touch).

  • As far as the organization of that black textbox on the left goes, it is beyond me. In time, you’ll have to redesign that.

  • Finally, why won’t you release it for free?
    For real, though, if you don’t release it, it might as well not exist. People won’t go to your place to make animations, especially if they have to dig through log files to get the output (who knows how to do that?). AND, they risk server crashes (happened to me) and data loss, and if they want to tweak something after exporting it & leaving your server, they are SOL.

It’s a fine editor. The one roblox provides is glitchy as hell (I last used it ~2mo ago), so at least this steps away from that. I think it’s too early to say whether the keyframe gui is better than displaying all the poses in a row, but they are at least both viable. I think showing the last keyframe as a ghost will be a nice improvement (which could be applicable to both gui editing systems). Finally, unless you release it to the public, it doesn’t mean anything. Even then, you might be hard pressed to find people who prefer using play-solo instead of flying-camera studio mode. My advice is to make it work in both settings.

Thanks for the tips! I never mentioned this but the reason it’s not available for public release is because it’s not done. It’s ‘ready’ in the sense that I’m ready to hear suggestions for improvements and ideas. I think I’ll release this as a plugin and make it work with roblox’s animation system down the road. For now it’s just something I made to help animate my own game.

I’ve thought about the insert after idea as well. I’ll try to add it in such a way that it feels fluid to use.

The copy/paste/delete/speed have perfect borders on the GUI properties but the accuracy of the mouse on screen GUIs goes down drastically over distance for some reason.

Agreed on originization. Any tips/ideas for how I could move them around?

I plan on adding mouse over hints before release for the buttons, great idea nonetheless.

Earlier I relied about onioning. I’ll be working on adding that next.

Thanks for the feedback!