opentoonz / opentoonz_docs

OpenToonz User Manual
http://opentoonz.readthedocs.io
28 stars 26 forks source link

Implicit holds for the XSheet/Timeline #157

Open WolfInABowl opened 3 years ago

WolfInABowl commented 3 years ago

Explicit holds vs Implicit holds: Explicit - Each frame is checked for a drawing index, if no index is found then no drawing will be shown. Implicit - Each frame is checked for a drawing index, if no index is found then the previous one will be used, if possible.

OpenToonz uses explicit holds, meaning that each hold is itself an assigned drawing index. This means that you have a lot more assigned indices to manage which can make the timing/retiming process more cumbersome. It isn't enough to move the first exposure of a drawing, you need to move all of its holds as well.

Software such as Clip Studio Paint uses implicit holds, meaning that only the first exposure is assigned and all following frames simply reuse that first assigned index until a different index or a 'no drawing' marker is reached. This makes things a lot easier to deal with as you far fewer indices to manage.

 

Here in CSP, you can see that each drawing index is only assigned to the first exposure. If I wanted to show drawing 2 one frame earlier then I simply drag it to the previous frame, something you would assume is just as straightforward in OpenToonz but isn't. You can see just how quick it is to retime a drawing by simply dragging it to the desired frame Retiming CSP

 

In the below demonstration, you can see that drawing 2 cannot simply be dragged to the previous frame as that frame is already occupied by a hold. One method is to select multiple hold frames and use the handle to remove the last selected hold. This however shifts all of the other exposures upwards, meaning that drawing 2 needs to be exposed for an additional frame to fix the offset.

Another method is to set the index of the previous frame to 2, though this requires use of the keyboard and as a result is not tablet friendly, nor is it particularly quick. Retiming

RodneyBaker commented 2 years ago

A follow up... Impiicit Frame Hold is making its way into the Tahoma2D fork via https://github.com/tahoma2d/tahoma2d/pull/847

imphold

RodneyBaker commented 2 years ago

@WolfInABowl At your convenience it would be good to have your feedback on the current implementation of Implicit Holds in Opentoonz to see if it meets your expectations. This to include any thoughts you have on the compatible but very different implementation of Implicit Holds in Tahoma2D.

RodneyBaker commented 1 year ago

Transferring this request to Opentoonz-docs for general roadmapping (and potential porting) purposes...