-
Notifications
You must be signed in to change notification settings - Fork 837
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Theatre.js as part of timeline editor for GDevelop #6422
Comments
My main comment would be: how do we fit this into the object/behavior/event model of GDevelop? And how do we fit this in the editor :) Quick thinking:
We could consider these timelines as resources, but might not be ideal in terms of UX to use them and edit them quickly in a scene. |
Just to chime in on this, the way some other engines do this is treat Timelines just another way of viewing of script/tween setup, and the editor just abstracts the code into a visual representation. So in GD5 terms, you could have a series of "Timeline" events (probably an advanced event similar to a "For each" or While) and you would click a button to show it in the timeline. Once done editing in the visual editor, the event sheet would show a bunch of tween conditions/actions? I believe that is how Panthera for Defold works (timeline editor abstracts the lua code for tweens around position/rotate/scaling/etc). |
This is a very interesting approach, and it could work by generating actions/conditions or code by the way. Thanks for explaining this point. |
Hi @4ian
First of all it has the UI part where all magic is done and it lies in studio package. Singe lack of it is absolute position. You cannot integrate its parts in your specific html elements. It will on top of UI all the time but I think it is possible to change with contribution to theatre.js. Then about the timeline.
So with theatre you can control one or more objects by specifying behaviour of their properties changing on specific timeline. To do that it has few main entities
Consumption: If you want to implement some animation with theatre. You need to create About integration to GDevelop
I think not. As sheets can control more that one object it is probably not possible to logically bind behaviour per GD object and configured theatre behaviour per multiple objects. I think the best and simplest way is to have global action like |
I prepared small test with this approach. Watch it with at least x2 speed)) |
Thanks for the explanation, and that's a very interesting proof of concept! The UI overlapping GDevelop UI is quite unusual, but I wonder if we could make it work by "restricting" it to a "boxed location". Anyway, with this proof of concept I understand that indeed a timeline acts on multiple instances and so might better work as something that have a "global" action. I still wonder if there is a way to do it so that it can be reused across different instances, something that is easy to set up but modular :) |
Yeah, I agree. Thats what I meant when mentioned contribution. I think we can make it configurable.
Can you describe more abstract idea of what you want to reach? I will think more about it. Do you agree with global approach and want to add additional configurable feature or you want to add only such feature and omit global actions? |
@4ian sorry for ping |
@f0nar thank you for the ping!
That's a good question, I wonder if it's viral enough that it would require the rest of the GDevelop source code to be [A]GPL?
All things considered, maybe your approach is fine - it could be extended later to "custom objects". So a "global approach" (but scoped to a scene in the runtime) should work :) |
I'm sorry if I made you lose a bit of time by not answering earlier last month! I think this could be worth starting a PR to see how it could work? By making things as simple as possible and by having Theatre.js sources being downloaded (like Piskel for example), so it's clear it's a different project with a APGL license. |
Description
I'm having a lot of struggle doing simple animations of UI elements using tweens. They require a lot of imagination, prediction, small adjustments, while constantly jumping between preview and events sheet. Can't see how different animations related to each other in time, because there is no timeline. Limited to using default preset of easings with no ability to customize it.
Solution suggested
Main discussion about this solution is in this forum topic. There are also this and this requests.
Solution is to add support for 3rd party timeline editor for customizing keys and graphs on visual timeline and to create robust system for saving/replaying/interacting with animation tracks using event sheet.
I'm proposing to use https://www.theatrejs.com as editor.
I want opinions. Do you approve this tool to be considered for implementation?
Alternatives considered
Timeliner
Mantra
scenejs
The text was updated successfully, but these errors were encountered: