X-sheet instance functionality for normal animation layers.

This section is dedicated to the feature & improvement requests (be sure what you are asking does not exist yet in TVPaint Animation ;) )
Post Reply
User avatar
TVPUSER
Posts: 99
Joined: 30 Jan 2021, 02:29

X-sheet instance functionality for normal animation layers.

Post 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.
Last edited by TVPUSER on 01 Oct 2022, 10:07, edited 1 time in total.
TVPaint 11.7.3, 12.0.1 Pro 64, Windows 10 H
i7-8700k, 48GB, RTX 2080 8G Desktop, Cintiq Pro 24 (3840x2160)
Ryzen 9 5900HS,16GB, RTX 3060 6G Laptop, Wacom ONE 13 Touch (1920x1080)
User avatar
slowtiger
Posts: 2949
Joined: 08 May 2008, 21:10
Location: berlin, germany
Contact:

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

Post 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.
TVP 10.0.18 and 11.0 MacPro Quadcore 3GHz 16GB OS 10.6.8 Quicktime 7.6.6
TVP 11.0 and 11.7 MacPro 12core 3GHz 32GB OS 10.11 Quicktime 10.7.3
TVP 11.7 Mac Mini M2pro 32GB OS 13.5
Xavier
Posts: 1855
Joined: 01 Oct 2019, 11:08

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

Post 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.
User avatar
slowtiger
Posts: 2949
Joined: 08 May 2008, 21:10
Location: berlin, germany
Contact:

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

Post 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.)
TVP 10.0.18 and 11.0 MacPro Quadcore 3GHz 16GB OS 10.6.8 Quicktime 7.6.6
TVP 11.0 and 11.7 MacPro 12core 3GHz 32GB OS 10.11 Quicktime 10.7.3
TVP 11.7 Mac Mini M2pro 32GB OS 13.5
User avatar
TVPUSER
Posts: 99
Joined: 30 Jan 2021, 02:29

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

Post 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.
TVPaint 11.7.3, 12.0.1 Pro 64, Windows 10 H
i7-8700k, 48GB, RTX 2080 8G Desktop, Cintiq Pro 24 (3840x2160)
Ryzen 9 5900HS,16GB, RTX 3060 6G Laptop, Wacom ONE 13 Touch (1920x1080)
User avatar
Hironori Takagi
Posts: 313
Joined: 14 May 2018, 10:15
Location: Tokyo, Japan
Contact:

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

Post 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.
TVPaint 11.7.2(Nov 14 2023), Windows11 Pro, HP Spectre x360 Convertible 14-ea0xxx / TVPaint 11.7.1(Dec 22 2022) Mac OS 11.6, Apple MacBookPro M1 2020
User avatar
cgmodeler
Posts: 113
Joined: 23 Oct 2012, 23:59
Location: Mexico/France/Japan
Contact:

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

Post 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 5534 times
Perhaps that can help in the meantime just as Takagi says...
www.cocoalopez.com
vimeo / 156794487
Desktop: TVP Pro 11.0.8 - 64bit Win 7 x64 48GB RAM - GTX1070 - Cintiq 27QHD Driver 6.3.29
User avatar
Peter Wassink
Posts: 4436
Joined: 17 Feb 2006, 15:38
Location: Amsterdam
Contact:

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

Post 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,
Peter Wassink - 2D animator
• PC: Win11/64 Pro - AMD Ryzen 9 5900X 12-Core - 64Gb RAM
• laptop: Win10/64 Pro - i7-4600@2.1 GHz - 16Gb RAM
User avatar
D.T. Nethery
Posts: 4225
Joined: 27 Sep 2006, 19:19

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

Post 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.

Animator, TVPaint Beta-Tester, Animation Educator and Consultant.
MacOS 12.7.1 Monterey , Mac Mini (2018) , 3.2 GHz 6-Core Intel Core i7,
16 GB RAM , TVPaint PRO 11.7.1 - 64bit , Wacom Cintiq 21UX 2nd Gen.
,Wacom Intuos Pro 5 , Wacom driver version 6.3.39-1
User avatar
TVPUSER
Posts: 99
Joined: 30 Jan 2021, 02:29

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

Post by TVPUSER »

Wow I wouldn't have guessed it was right there all along, +1 to having it be an automatic action by default.
TVPaint 11.7.3, 12.0.1 Pro 64, Windows 10 H
i7-8700k, 48GB, RTX 2080 8G Desktop, Cintiq Pro 24 (3840x2160)
Ryzen 9 5900HS,16GB, RTX 3060 6G Laptop, Wacom ONE 13 Touch (1920x1080)
User avatar
cgmodeler
Posts: 113
Joined: 23 Oct 2012, 23:59
Location: Mexico/France/Japan
Contact:

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

Post 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!
www.cocoalopez.com
vimeo / 156794487
Desktop: TVP Pro 11.0.8 - 64bit Win 7 x64 48GB RAM - GTX1070 - Cintiq 27QHD Driver 6.3.29
Post Reply