Page 1 of 1

X-sheet instance functionality for normal animation layers.

Posted: 17 Aug 2022, 01:43
by TVPUSER
For many animators reusing frames is a normal part of the process.
Normally on paper, if an animator wanted to do a 3 frame loop over 4 seconds of time they would simply notate on the timesheet where to reuse the 3 frames,
In TVPaint there is an x-sheet functionality, however I have yet to see wide use of x-sheet layers because of how inconvenient it is to use.

As a result many of us just opt to use regular animation layers in TVPaint. This presents a little bit of a problem though, because TVPaint treats each instance like a new drawing.
Even with the introduction of renaming instances for normal animation layers, it doesn't really solve this issue.

I have a video example to better illustrate this.

Re: X-sheet instance functionality for normal animation layers.

Posted: 17 Aug 2022, 06:38
by slowtiger
The "repeat frames" (formerly named "faux frames") function will do exactly this: loop a part of a layer until the next instance stops it.

Re: X-sheet instance functionality for normal animation layers.

Posted: 17 Aug 2022, 08:01
by Xavier
TVPUSER wrote: 17 Aug 2022, 01:43 For many animators reusing frames is a normal part of the process.
Normally on paper, if an animator wanted to do a 3 frame loop over 4 seconds of time they would simply notate on the timesheet where to reuse the 3 frames,
In TVPaint there is an x-sheet functionality, however I have yet to see wide use of x-sheet layers because of how inconvenient it is to use.

As a result many of us just opt to use regular animation layers in TVPaint. This presents a little bit of a problem though, because TVPaint treats each instance like a new drawing.
Even with the introduction of renaming instances for normal animation layers, it doesn't really solve this issue.

I have a video example to better illustrate this.
https://vimeo.com/740201257
As I understand it you'd like to use a "pointer" to a specific instance at another position of the timeline. I like this idea !!! we need to discuss it with the team.

The "repeat frames" is a different feature as I understand: it would rather clone a set of instances into new instances that contain the same drawing, but these new instances can be edited independently from the source instances.

Re: X-sheet instance functionality for normal animation layers.

Posted: 17 Aug 2022, 09:43
by slowtiger
Oh, this is the perfect opportunity to chime in. Right now I'm supervising a project which is a mixture of TVP and Moho animation. Characters are done in both projects, which in our style is no problem. But lip sync is easier and faster to be done in Moho, especialy because it can be automated.

There's some advantages in Moho which I'd like to have in TVP as well, namely the ability to simplify lip syncing. For those not familiar with Moho: you put a bunch of mouth shapes (phonemes) into a special folder, named a "switch layer", and now you can either choose any of those at any frame in the timeline, or use a file from Papagayo which analyses the sound and determines which phoneme to use in which frame, or you use the very simple and comfortable method to let Moho choose which mouth shape according to the sound level.

What I'm imagining is a certain way in TVP to display the contents of a layer as named buttons (one frame = one button) in a floating panel, so when I click one of these buttons TVP copies that frame into the current (empty) layer. Maybe this would already be possible with George scripting?

But I'd like to make this even more of a timesaver. First it should be easy to turn a bunch of frames into such a panel, something like selecting the layer, then "make this a frame select panel". Naming the frames/buttons should follow frame names, if any, plus be possible in the panel. And then it would be great if I could select a range of empty frames and click "fill this with the named phonemes in this panel, according to the DAT file specified", and another button "fill this range with frames according to sound file volume (specify file)". (And of course it should be possible to export and import such a panel.)

Re: X-sheet instance functionality for normal animation layers.

Posted: 17 Aug 2022, 12:31
by TVPUSER
Xavier wrote: 17 Aug 2022, 08:01
As I understand it you'd like to use a "pointer" to a specific instance at another position of the timeline. I like this idea !!! we need to discuss it with the team.

The "repeat frames" is a different feature as I understand: it would rather clone a set of instances into new instances that contain the same drawing, but these new instances can be edited independently from the source instances.
You understand my plea Xavier!, Clip studio stores every unique frame as its own layer waiting to be pointed at.
This really becomes a headache in TVPaint when if you make a small change to a unique loop,
you'd have to do a lot of diligent work to make sure all of the repeat frames are updated too.

Even though the x-sheet functionality exists in tvpaint for this, I think its useability could be improved. I'd really appreciate if you could draw on the x-sheet layers but right now that is not possible.
To tell you the truth I think there is room to bridge functionality between basic animation layers and x-sheet layers, though my STRONG suggestion would be to make this possible in normal animation layers rather than the x-sheet layers.

Re: X-sheet instance functionality for normal animation layers.

Posted: 18 Aug 2022, 03:13
by Hironori Takagi
Our studio has been using TVPaint since version 11.0.1, but gave up reusing drawings in X-SHEET early on.
The reason is that it is buggy and cannot be shared with standard edition users.
Now, multiple uses of the same drawing are handled by using the same instance name. We can avoid duplicates when exporting,
but it's still an inconvenience because of the potential for accidents.

Re: X-sheet instance functionality for normal animation layers.

Posted: 14 Sep 2022, 04:48
by cgmodeler
TVPUSER wrote: 17 Aug 2022, 12:31
Xavier wrote: 17 Aug 2022, 08:01
As I understand it you'd like to use a "pointer" to a specific instance at another position of the timeline. I like this idea !!! we need to discuss it with the team.

The "repeat frames" is a different feature as I understand: it would rather clone a set of instances into new instances that contain the same drawing, but these new instances can be edited independently from the source instances.
You understand my plea Xavier!, Clip studio stores every unique frame as its own layer waiting to be pointed at.
This really becomes a headache in TVPaint when if you make a small change to a unique loop,
you'd have to do a lot of diligent work to make sure all of the repeat frames are updated too.

Even though the x-sheet functionality exists in tvpaint for this, I think its useability could be improved. I'd really appreciate if you could draw on the x-sheet layers but right now that is not possible.
To tell you the truth I think there is room to bridge functionality between basic animation layers and x-sheet layers, though my STRONG suggestion would be to make this possible in normal animation layers rather than the x-sheet layers.
Theres a little tool that updates the instances with the same name after modyfing them, so if you have the frames named accordingly, then all you have to do is to click the Apply Current content on instances... tool under HANDY CUSTOM PANEL/ MANAGING INSTANCES/ Apply current content
instances.jpg
instances.jpg (20.2 KiB) Viewed 3847 times
Perhaps that can help in the meantime just as Takagi says...

Re: X-sheet instance functionality for normal animation layers.

Posted: 19 Sep 2022, 11:17
by Peter Wassink
cgmodeler wrote: 14 Sep 2022, 04:48 Theres a little tool that updates the instances with the same name after modyfing them, so if you have the frames named accordingly, then all you have to do is to click the Apply Current content on instances... tool under HANDY CUSTOM PANEL/ MANAGING INSTANCES/ Apply current content
Wow, i totally forgot about that!
but that illustrates that this issue should get some attention!
This is a very important and valuable (timesaving!) function that should be integrated in a much more streamlined way into the UI!

I think instances with identical names/numbers should automaticly be dynamicly linked.
meaning : if you change one, all the same instances should change along ...as if they were exposures.
Like Clipsstudio does in theTVPUSER's example.
And you should also be able to easily "unlink" instances.

This "link" information should remain intact when you duplicate a layer, so that when you make a duplicate layer for coloring you only have to color each unique original drawing,

Re: X-sheet instance functionality for normal animation layers.

Posted: 19 Sep 2022, 14:46
by D.T. Nethery
Peter Wassink wrote: 19 Sep 2022, 11:17
cgmodeler wrote: 14 Sep 2022, 04:48 Theres a little tool that updates the instances with the same name after modyfing them, so if you have the frames named accordingly, then all you have to do is to click the Apply Current content on instances... tool under HANDY CUSTOM PANEL/ MANAGING INSTANCES/ Apply current content
Wow, i totally forgot about that!
but that illustrates that this issue should get some attention!
This is a very important and valuable (timesaving!) function that should be integrated in a much more streamlined way into the UI!

I think instances with identical names/numbers should automaticly be dynamicly linked.
meaning : if you change one, all the same instances should change along ...as if they were exposures.
Like Clipsstudio does in theTVPUSER's example.
And you should also be able to easily "unlink" instances.

This "link" information should remain intact when you duplicate a layer, so that when you make a duplicate layer for coloring you only have to color each unique original drawing,
+1 for that function being integrated into the TVPaint UI, with instances having identical names/numbers being automatically linked, so if you change one all of the other identical instances would changed. This would be a great time-saver.

Related: Mads Juul's Tracker custom panel has a similar purpose and I've always wanted to see the function of Mads' Tracker integrated directly into TVPaint as a standard feature.

Re: X-sheet instance functionality for normal animation layers.

Posted: 21 Sep 2022, 02:57
by TVPUSER
Wow I wouldn't have guessed it was right there all along, +1 to having it be an automatic action by default.

Re: X-sheet instance functionality for normal animation layers.

Posted: 22 Sep 2022, 03:31
by cgmodeler
Peter Wassink wrote: 19 Sep 2022, 11:17 This "link" information should remain intact when you duplicate a layer, so that when you make a duplicate layer for coloring you only have to color each unique original drawing,
Meanwhile what I do for this is a little script that duplicates the current layer which has the duplicated instances named accordingly (lineart for example) then clears all the heads, turning that layer into a ctg layer.

The issue here is that once you turn that layer onto a CTG layer, the instance names are lost so you need to rename them manually to match the upper layer (im planning to do a script for this but for now it has to be done manually, the script for this should store the instance names as an array and then recall it for renaming the CTG layer)

After painting the stroke you can apply the INSTANCE TOO and it will put the same CTG strokes on any instances with the same name

In short:

1-Duplicate Lineart layer (With instances properly named)
2-Clear the heads of that new layer (while keeping the instances names and timing)
3-Convert into CTG
4-Rename Instances to match the lineart layer
5-Paint a stroke
6-Click on "Apply Current content on instances"

Hope it helps!