Skip to content
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

Editable curves in Graph Panel #267

Open
caryoscelus opened this issue Oct 25, 2016 · 12 comments
Open

Editable curves in Graph Panel #267

caryoscelus opened this issue Oct 25, 2016 · 12 comments

Comments

@caryoscelus
Copy link
Collaborator

caryoscelus commented Oct 25, 2016

Alternative timetrack dock/mode, which would present parameter values as a graph (as graphs dock currently does) and allow to edit waypoints, including their parameters (e.g. curve handles for curve interpolation)


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@morevnaproject
Copy link
Member

I think it's best to implement this in current Graph Panel.

@caryoscelus
Copy link
Collaborator Author

Shouldn't matter from user perspective and from developer perspective i have no idea which would be easier - haven't looked much at the code of either docks.

@caryoscelus caryoscelus added this to the v2.0 milestone Jan 25, 2017
@morevnaproject morevnaproject changed the title Waypoint editable graph represention mode Editable curves in Graph Panel Jan 11, 2019
@morevnaproject
Copy link
Member

We need that in Graph Panel. This is highly requested feature from many artists.

@morevnaproject morevnaproject pinned this issue Jan 12, 2019
@Jose-Moreno
Copy link

@morevnaproject Implementing this would be terrific! I honestly tried to use and understand the TCB vs. other interpolations, but it's just not the same. I have an After Effects background and the keyframe interpolation, or what you call waypoints, always behaves in ways that the artist can predict, however for certain types of animation you are practically required to use (bezier) curves; they are key to create complicated patterns in motion graphics.

Since I've noticed more activity lately in the repo, I'll gladly test the latest dev builds and submit every detailed bug report I can, I have a track record with testing FOSS. Also I want to submit feature requests that myself and other professional colleagues of mine have made when trying out the software.

Hopefully we can finally see Synfig getting more support and market share in the open-source graphics ecosystem 🙂

@BobSynfig
Copy link
Collaborator

Indeed it would be nice but it would surely introduce more bugs, especially with multi-values waypoints (like colors).
Personally I would prefer to stabilze and solve crashes first :P

@Jose-Moreno
Copy link

@BobSynfig For all intents and purposes I wholly agree that stabilizing in any FOSS comes first, however do have in mind that this request has been made by the community even much before than this github issue, and it should have been a priority ever since along the graphics engine overhaul and the rendering pipeline.

Hopefully stabilizing doesn't take more than a year or so now that there's some funding and you're helping 😉 It would be great to start getting more feature flexibility in Synfig, but cleaning the house from bugs for sure comes first 🙂

@morevnaproject
Copy link
Member

@Jose-Moreno Yes, that feature is a long-awaited by all us, and (as far as I know) it is a major roadblock, which prevents professional animators form using Synfig. This is why I pinned this issue to bring more attention to it. And it is in our roadmap - https://synfig-docs-dev.readthedocs.io/en/latest/common/roadmap.html

Since I've noticed more activity lately in the repo, I'll gladly test the latest dev builds and submit every detailed bug report I can, I have a track record with testing FOSS. Also I want to submit feature requests that myself and other professional colleagues of mine have made when trying out the software.

Thank you, we will appreciate your help here for sure! ^__^

@morevnaproject
Copy link
Member

I think we can split this task in several steps.

Step 0: here is how Graphs Panel look at the moment:

In UI context:
screenshot_003

Separate screenshot:
screenshot_004

Step 1: Add markers, which corresponding to Waypoints

screenshot_004

Step 2: Allow user to change values (curves) by dragging those markers (make markers draggable using mouse).

Step 3: Implementing control points for TCB Waypoints

TCB Waypoints are shown with green dots. If you right-click on TCB Waypoint (1) and choose "Edit" then you will see a dialog with parameters, which allows tweak shape of the curve (2).

screenshot_005

Those parameters are kinda clumsy and hard to understand. So, I think it's okay to create handles that allow to change "Bias" parameter only.

screenshot_006

(On the illustration: dragging handle 1 will change Bias parameter).

Step 4: Implementing Bezier Waypoints

Since TCB Waypoints are not very flexible to define curve shape, we need to introduce bew type of Waypoint, which is defined by Bezier curve.

This is how editable Bezier Curves work in OpenToonz -
https://youtu.be/VYbP0H3D0bE

Step 5: Make Bezier Waypoints editable using mouse.

Add handles (as in step 3) and make them draggable with mouse.
As shown in video about OpenToonz above.


This is it, I hope I didn't forgot anything. ^__^

@maitreyi0505
Copy link

maitreyi0505 commented Mar 20, 2019

I would like to work on this project as a part of GSoC 2019, it would be great of I could get some guidance on how to proceed!!
I would like to know that according to the last post by @morevnaproject , are the TCB waypoints to be implemented ,or just the Beizer ones??

@morevnaproject
Copy link
Member

@maitreyi0505 Great! Please consider that there is already some competition among students around “Editable animation curves in Graphs Panel” project. If you do not mind that, then I suggest to start by implementing this feature as a proof of your eligibility - #783

@morevnaproject
Copy link
Member

are the TCB waypoints to be implemented ,or just the Beizer ones??

TCB waypoints are already implemented. We will need Bezier waypoints implemented as part of this project.

@morevnaproject
Copy link
Member

@rodolforg is working on this via #982.

screenshot_001

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants