Or just make a custom animation engine
Amiright
Or just make a custom animation engine
Amiright
Though there are things ROBLOX animations cannot handle (IK, resizing, etc).
Would be good to see this feature
Right? But with all the issues reguarding roblox’s current attempt at animation it makes sense. I can’t stand how bad, broken, and unsupported it is and how it lacks some very essential features. People have already proven to make a more efficient engine in lua too (cough cough @ScriptOn).
Edit: and this thread is a good example of what I’m talking about
iirc animations were restricted because exploiters were using Fiddler to change their default animations in games.
PSA: Saying a feature is “bad, broken and unsupported” is not helpful. There’s been quite a lot of work done this year on animations, and I’m sure we’ll do more in the future. If you need a specific feature, you should post a feature request instead of spreading FUD.
“More efficient engine in Lua” - it should be impossible to make a more efficient animation engine in Lua. As far as I know @ScriptOn did not try to use our animations, primarily because he wanted to make an editor that’s better than our animation editor (and later he added some features that aren’t there for ours, I think?). I wish ROBLOX community at large embraced ROBLOX systems and worked on tool enhancements - like improving animation editor, it’s open-source for a reason - instead of every single developer reinventing the wheel every single time.
I’m assuming the same goes for bugs. If so, let me link one of the two major blockers that have been preventing me from using ROBLOX animations (the other one being unable to generate model-specific animations without having to mundanely click through 100 upload prompts)
I tried to use ROBLOX animations for a while and was even developing an improved editor for ROBLOX animations, but I had to cut that short when I ended up not being able to use ROBLOX animations for my project.
That’s definitely a bug, we’ll look into this
I would but it’s so limited. As far as I know the easing styles are locked, we need a humanoid to use it, and it’s far more difficult (if even possible?) to createn new easing styles on the fly.
Also I’m not sure if roblox’s animation editor let’s me play animations in reverse or supports anchored parts.
Want me to be specific? Ok.
I get it’s better in the long-run in terms of performance, but I’d rather not count on the community to make a working editor when I can make one myself. I think you can visibly see the difference between custom animations and the engine provided by ROBLOX. Big difference.
You don’t need a Humanoid - AnimationController is there so that you don’t. What do you mean by easing styles being locked?
I have spring1, spring2, expo, and some other easing styles which roblox won’t let me add in. You didn’t respond to my other points
I appreciate the system for small games but I don’t see any good reason why it should be used for something large scale. The performance benefits mean nothing to me when it’s so difficult to use and even implement.
- Lots of crashed for simple tasks (moving keyframe, deleting keyframe, etc.)
You mean animation editor. You should file issues with repro steps, or even better just fix them and submit a PR! As mentioned, it’s open source.
- Custom rig support is overly complicated (still haven’t figured out how to use it)
As far as I know the editor is completely rig-agnostic but we should have a tutorial showing how to use it with custom rigs. cc @UristMcSparks
- Uses motors which can sometimes be inaccurate, skip frames, etc. (could be fixed, haven’t checked recently)
Please file any bugs like this. @EchoReaper filed one - we’ll fix it.
- Hard to implement with NPCs (wiki has a terrible explanation/example of it)
I never found it hard really - but cc @UristMcSparks. Also, do you have specific suggestions for improvement?
- Breaks literally almost every update
This is false and you know it.
- Cannot share animations with other developers (hence thread)
This is related to some anti-exploit measures we’ve taken. I don’t really think they are very relevant any more but we need to discuss whether we can undo them.
- Cannot interpolate transparency/size/other properties
Yeah, this is unfortunately the case - will probably stay that way for a while. Don’t have a good solution here.
- No sound support
You can play sounds (and any other effects - like particles) using keyframe reached events. I agree that ultimately we’d need something more integrated.
- API and implementation is stupidly confusing
Care to explain how?
- Cannot take raw animation data (without using anything hacky)
Why do you need this?
- Saving animations takes over a minute (or more)
Please create a separate thread with this as a bug and we can get Studio team to investigate.
- The editor doesn’t support the ability to work on animations together
Yes, this is correct. I am not sure what the use case for this is - can you give an example? (sounds, meshes, images all have the same issue).
- Very little interoplation types (no custom equations either)
Are there types you’re missing? Custom equations are very hard to provide without dramatically reducing the performance but we can easily add new types if you think current types are lacking.
- No part dependency
What do you mean?
- No in/ou/inout/outin interp. support
Documentation - Roblox Creator Hub - is this what you mean? Or do you mean something else?
- Must have humanoid/torso/humanoidrootpart to animate
This is not true - there’s Animation Controller for that. Or do you mean to edit the animation? Not sure what restrictions animation editor places on the rig, but same as above - it’s open source, hopefully easy to fix?
I’m not sure if the editor allows you to play animations in reverse; the API surely does. This is probably easy to add. What do you mean by “supports anchored parts”? Animations only animate motors between parts, so I guess if both parts are anchored you wouldn’t be able to use it; if one is you might.
“Doesn’t support playing in reverse” Play so that animation finishes instantly, and Stop (playtime). I did this with equip/unequip animations and it worked out well
“Doesn’t support anchored parts”
This. I want to animate doors/etc
Responded to this in reply to @BuildIntoGames
I appreciate the system for small games but I don’t see any good reason why it should be used for something large scale. The performance benefits mean nothing to me when it’s so difficult to use and even implement.
I’m not sure what specifically is difficult to use and what the difference is between use and implement - I’m imagining you’re talking about the editor? I’m sure the editor can use usability improvements. I’m sure we’ll accept patches. Also all APIs the editor uses to upload animations are public, you can even make an alternative editor that uses the same animation system.
Here’s two reasons why using ROBLOX animation system/editor is good:
You benefit from the work we are doing on it
You can share the work you are doing with the rest of the community in the form of patches to animation editor that we’d merge in (preferably) or separate plugins that developers can install.
Of course if your needs are far removed from the feature set we provide (e.g. if all of your animations are procedural spring-based, like in PF), then it doesn’t matter much and you’re on your own.
There’s this tendency that we see to have every developer who works on the animation editor to do a ground up rewrite. I believe current editor is at its third iteration, with every iteration redoing everything. I’d much rather see patches that incrementally make it better.
The way big opensource projects work (and closed-source too!) is there’s this codebase that has certain design/flow in it. And there’s this target that a certain developer is trying to reach, for example to add some important feature - and sometimes it requires large-scale changes in the codebase. The problem, then, that is almost part of the job description, is to segment your change in bite-sized pieces, so that every piece can be independently reviewed and merged without replacing it wholesale. I’m not familiar with the code of animation editor that much but I’d imagine at this point it’s past the time where it requires ground-up rewrites, and at the point where all usability improvements can be that - improvements, that are gradually submitted.
Of course, as mentioned above, you’re also free to make an alternative plugin - it’s up to you. The most beneficial route for the community, I believe, is to keep improving the existing editor.
What I usually do is having the main part of my animated rig stay anchored. The rest is unanchored, and able to move freely while still being locked in place by the main part. Same goes for when you anchor the character’s HumanoidRootPart.
Example: Flying building found in Temple of Memories [Voice Chat] - Roblox (needs to click buttons hidden around the map)
On a related note: Animation collision bug
I’ve contemplated that, but I wasn’t sure what sort of adverse effects that would have, so I opted not to do it. If I anchor-hacked every static object I wanted to animate in my game, who knows what potential issues it would cause.
If I’m correct, the intense part comes from interpolation in CFrames, not x. I don’t think running a function that says function(x) return x^4 end would be so intensive.
Also can we actually create new keyframes on the fly? I’ve heard about it but never seen it done.
I think the reason nobody wants to work on the current editor is because of how scary it is. I’d probably be able to write 3 editors in the time that it’d take me to understand, analyze, and map out the old code in the editor.
There’s also the more obvious reason - why help my competition or whatnot. I think this could be solved by hiring an intern which works on this (which is what you’ve been doing to my understanding). The fact that it gets rewritten so often is a sign that it wasn’t written well enough the first time. There’s a common denominator there. Maybe someone in charge of the editor overall has strange requirements so all the interns have a hard time writing it or something, I don’t know. I’ve never seen someone rewrite elegant and functional code just because.
I think the best option would be for roblox to contract someone. Pay them a couple million robux and have them focus on it. Make sure it’s someone who knows a lot about it and isn’t just doing it for money. I’m not saying me in specific or anything, but people like AxisAngle and Tomarty (I think he may have worked on the editor already, don’t remember) come to mind. Then give them a liason who does things like fix bugs and add small features that the expert hired animation guy points out. I don’t think anyone wants to do all this work for… basically free. Yeah it may benefit them but so what? They spent all that time and now everyone gets free benefit. It’s selfish but it’s human nature.
tl;dr
Just let us put a simple lerp function for x in.
It likely keeps getting rewritten because whoever writes it doesn’t do a good enough job for the next guy to easily edit it.
Maybe consider hiring one of the experts here to do the editor justice and have an administrator talking with him constantly so that the expert can point out flaws and bugs and the admins can fix it on roblox’s end.
Edit: I think at the very least giving credit to developers for freely doing this would be nice. That’s more of a corporal roblox type of potential issue, though.
You’re forgetting that the interfacing between C++ and Lua is pretty slow. Another alternative for custom equations is to build something in C++ that can parse formulas from strings and then evaluate them, but that’s also sub-optimal compared to built-in styles because those would just be compiled C++ methods