NatronGitHub / Natron

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
http://NatronGitHub.github.io
GNU General Public License v2.0
4.73k stars 344 forks source link

enancement for keypoint editing via 2d cursor #78

Open devernay opened 6 years ago

devernay commented 6 years ago

From @fPaglia on July 17, 2014 8:49

I'd like to introduce the concept of a "2D cursor" I don't now if this idea could fit in the actual design but I think it can be a great addition for speed seriously up keypoint editing of shapes in the roto editor as well as in each other editor that have the same kind of operand like future morphing and warping tools or anything else that can arise

I derived this idea from Blender 3D/2D cursors... so I'm not reinventing the wheel here. the Cursor is a spare pivot that can be used as center for each transformation. It's incredibly powerful because you can just move it wherever you like to quickly rotate or scale group of point of your interest. If you are used to do huge rotoscoping session with lot of human movements you'll understand how such kind of ability would simply reduce the editing time for fine tuning the shapes. In my experience with many compo tools I found incredibly fast the way shake allowed us to switch the position of its center to do the previously mentioned transformation. It had just a minor issue using the center that way: since the center is still an element of the shape not just an external support you couldn't use a shape animated that way parented to another shape because of the not usability of its reference.

Why promoting a tool like a 2D cursor instead of a transform cage with it's own editable center? Here my reasons:

  1. visually cleaner : cage are always too visually heavy and add noise in the viewer, sometime moving the center is difficult and this happen even more when you are next to an anchor of the cage
  2. more precise : you can place the cursor anywhere even before you make your shape and you could edit it without taking care of is previous position
  3. independent from the selection: it stays on the chosen position even if nothing is selected, so you don't have to re adapt it each time you make a selection (this allow a tremendously faster and way more efficient workflow)

Three element that in my opinion are really valuable.

How to handle the 2D cursor 2D cursor can just be enabled as an other option on the menu. roto01 As soon as it is enabled it becomes the active center of transformations. It can be positioned clicking CTRL+leftClick

selection of keypoint is as always done via a border select or clicking directly on single keypoint,

distance between 2D cursor and mouse is relevant since it can change the sensibility of the scale or rotation (smaller distance produces bigger variation and viceversa)

once activated G,S,R:

As you can see I'm not saying to remove the cage transform it's still useful for many purpose: first of all is the ability to edit shape's transformation in the curve editor or future dopesheet. My idea is an extra element that will be a companion tool to work specifically on keypoints in a more efficient manner.

Hope you find my idea intresting. Thanks Francesco

Copied from original issue: MrKepzie/Natron#111

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/57502028-enancement-for-keypoint-editing-via-2d-cursor?utm_campaign=plugin&utm_content=tracker%2F83915136&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F83915136&utm_medium=issues&utm_source=github).
devernay commented 6 years ago

From @MrKepzie on July 18, 2014 13:41

Interesting, though it would take some time to implement to replace the current bbox/transform cage user interaction. Is it something really needed or just convenient ?

devernay commented 6 years ago

From @fPaglia on July 18, 2014 13:56

Hi Alex, of course it sholdn't be me who has to answer... :) Hope others would add their opinion soon.

In fact there's no tools that already do what I proposed exactly this way. I grabbed ideas from other solutions and put them together.

Probably it can be a game changer if we could demonstrate it and off course will require quite a bit of thought and trial and error before getting out the best workflow. Maybe it wouldn't be a strictly needed solution we can still live without it but think about its application and the quickness of the workflow. We could also think of resize the dimension of the keypoint and leave them just as reference because we can interact with them without having to phisically grab'em...

Well... Hope other will add their voice!

2014-07-18 15:41 GMT+02:00 Alexandre Gauthier notifications@github.com:

Interesting, though it would take some time to implement to replace the current bbox/transform cage user interaction. Is it something really needed or just convenient ?

— Reply to this email directly or view it on GitHub https://github.com/MrKepzie/Natron/issues/111#issuecomment-49431633.

Francesco Paglia Vfx and Production Supervisor

mobile +39 347.82.12.473 e-mail f.paglia.80@gmail.com

devernay commented 6 years ago

From @hyperfx on July 22, 2014 21:27

I'm divided on this feature. I am a Blender user, so I completely understand the usefulness of a 2D cursor. I also love the idea of G, S, and R for transformations.

However, these features are all strictly Blender. Anyone who opens Blender for the first time is baffled by the 3D cursor. It just takes quite a while to understand it and be able to use it efficiently. Once you do, yes, it is awesomely powerful, but I'm not sure if it's the best solution in this case.

Natron's goal, from what I understand, is to resemble professional, commercial compositing software (specifically Nuke) so that people can move from Natron to Nuke without any learning curve. This makes Natron a great entry software for people wanting to learn professional compositing, and makes Nuke users much more likely to investigate Natron. If they investigate, they will use it, critique it, advise on it's development, and just generally keep the software going.

If that continues to be Natron's main goal, I would have to say keep the roto transform tools as similar to Nuke as possible, and only introduce changes where A) it doesn't completely alter the workflow, or B) is so significant, it's worth changing and deviating from what Nuke does. I'm not sure the 2D cursor is that significant.

Of course, if the functionality could be put in where it was completely optional, that would be amazing. For example, if someone never activates the 2D cursor button, they can still roto with the exact same workflow they would use in Nuke. If they choose to activate the button, then wow! They get this extra great tool that Nuke doesn't have! That would be great. I just don't think the 2D cursor should be the primary way the roto transforms should work.

Hope that makes sense!

Oh, and while I would love G, s, and R, I think keyboard commands should stick to being as similar to Nuke as possible. I think one of the major draws of Natron is it's similarity to the world's dominating professional compositing software.

devernay commented 6 years ago

From @fPaglia on July 23, 2014 5:11

Thank you Sean, you added a very valuable point to the discussion. Just a couple of week ago I was visiting some friend at a small studio and as soon as I said there's a new compositor coming with an "almost no learning curve" for Nuke users they downloaded it while I was completing my sentence. Since I see the importance of switching in no time between packages I agree in maintaining actual behavior ready to use. Let me add that the solution already implemented still reflect the basic properties of the shape like translation, rotation and scale value of the entire element also represented in the properties panel. My suggestion however originates from another professional compositing tool: Shake and integrates the incredibly smart idea introduced with Blender (the 2D cursor) plus the way keypoints can be edited in most of 3d packages (via keyboard shortcuts not necessary using on screen helpers). In my opinion shortcuts are just button and we can choose whichever combination we like, it's more important to me to be consistent with the entire Natron way more than adopt a familiar (to me) solution present in Blender.

In my proposal I added a sort of switcher in the GUI to move from a solution to another and I think we should advertise it in the right way to help newcomers stay comfortable with the standard solution and, at the same time, to demonstrate to user that want to speed up their workflow how fast the "free anchor" is (let's trow out the word "2d cursor" to eliminate the sense of not enough professional tool since it grabs concepts from absolutely non pro Maya like 3D tool) :)