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

Making OT the milennium falcon of motion, instead of drawing. Good idea? #5406

Closed
Bracket-H opened this issue Apr 17, 2024 · 6 comments
Closed
Labels

Comments

@Bracket-H
Copy link

Ask a question related to OpenToonz

Animation is all about motion, drawing, too, of course, but I'm of the opinion that anyone who wants to animate should know how to draw.
Thing is, drawing is one thing, conceptualizing and calculating motion arcs in the head is another thing, even if one were to then draw consistently at the required point in motion, getting there is a puzzle in itself.

It's why even masters like Richard Williams had to use tricks (assistants) to find midpoints of squares in perspective, rotation arcs, etc.
Aka, 'just perspective' (it's not magic).

And while I expressed some dismissal about 'drawing assistants' in the past, I think if they are done for 'motion' then that's the best energy spent for OT instead of drawing. Since the actual rendering of the piece is open for stylistic choice.

Motion, however, is pretty universal, at least standard motion, in animation, anything is possible after all.
But yeah, what I'm getting at is: Instead of putting energy into making OT an easier 'drawing' program, why not put energy into making it a 'motion' program?
(Even if ultimately it's all drawing anyway...)

As in, support people like @blackwarthog who have experience with it, and if they are willing to continue doing things, to help them implement motion assistants, more than drawing ones.

What are motion assistants? I can only offer opinion, but the opinion is backed up with practicality.

For the time being, I will post one of the most useful ones, imho.

An arc and point tracker, because tracking points is a used technique to reduce mental workload for animators.
Click here for a point to point example on youtube

How I imagine this tracker could be implemented?
Well I think a core asset (to many other tools) would be a plane projection, which can be combined with perspective.
This is illustrated in a book by Scott Robertson "How to Draw" (the irony, huh? Don't worry, I've always been aware.)

It's on page 24 in that book.
I doubt he will DMCA me but I'm still gonna watermark this.
combined

Basically, ideally, the animator should have an idea on where, spatially, the action is.
Thus, having a top orthographic view to place points on the z plane
(aka depth, front to back, since that is the most difficult)
would be quite useful.

Mark the point in one frame, mark the second point in the other frame, and then use the top down, or whichever assistant plane, to create a spline path.

In practical words. Imagine a character pointing a finger directly at the viewer, and then 90 degrees to the side while rigidly standing on a spinning disc.
The arc would be a quarter circle, right?

Now, here's where the magic could come in.
By spacing the frames in the X sheet, frame A and B, 1 and 2, whatever you may call them.
Have Opentoonz use that to calculate the point travel...in conjuction of a virtual spacing/timing chart.
you know, the lines on a curve.
||-|--|----|--|-|| (this one would be an ease in and out)

If the frame spacing in the x sheet, is as big or bigger than the ticks on the timing chart, it would calculate the point on that arc based on the position of the tick. Making inbetweens, even the ones on timecharts in 'thirds' (which are said to be the most difficult) so much easier.

And that is a very atomic procedure, it's just a single point after all, once that system is working, perhaps it can then be extended to a single line, which in the grand scheme of things is not that impressive, but any sort of mental anchor helps.
Even if only some key lines are traced like this in a complex pose, the more proficient the animator (and therefore draftsman) the more they can do with that information, needing only little fiddling with a tool like this.

Another extension, or a sibling of this is rotational arcs in 3d without having to place two points.
A faux 3d rotateable/placeable circle in perspective (aka, an ellipse) that also uses the 'virtual timing chart' would facilitate tracking the motion of anything that spins on an axis.
In fact, technically speaking, that is the most atomic one of them all, since by adjusting such a tool, any arc can be drawn, but that also makes it very verbose for long, smooth arcs, which the point to point tool makes easier.

Things like that.
I am of the opinion that such things are a better investment of time and effort for opentoonz, than trying to make it a drawing program, even if ultimately it all is drawing.
But it's niche could be the ultimate motion drafting and timing tool, which makes its core drawing engine, and compositing be fully sufficient.
After all, sussing out the motion is the hardest part. If you can draw, you can draw, but your drawing might be 'logically misplaced' even if it's perfectly rendered, if the timing and spacing is off.

Of course, I don't want to put a damper on other development, only priorities.
If all things were equal, and any contributor has equally the skill to make the drawing engine 'prettier' or suss out a way to make animation easier, I would prefer the latter by a humungous margin, since I am a staunch, firm and pretty much obstinate believer that "even if OT drawing tools were even worse dogwater with only 1 pixel wide aliased brushes"
I would still use OT to draw the layouts, timng and roughs if it made actual animation easier.

That said, at this point I'm a bit of an ideas guy, but only a bit.
For example, I technically have a page rolling/flipping system implemented for myself.
To allow This , I have added that a feature request some time ago ( #4138 )
But I still have not put that into a pull request friendly way. What I'm getting at though, I have the potential to also do some work on this.
This post is mostly a statement, to potentially carve out a true niche for Opentoonz.
This includes AI which I derided (and still do) for animation 'rendering' but using AI to do inbetweens? I'm all for that.
That, too would fall under 'motion niche', and motion, timing is THE crux of animation, even more than drawing.
Thus, again, if all things were equal, I'd love to see motion being prioritized over drawing, since the drawing is just the skin on top of the skeleton. Project it onto glass for glass smear animation. Project it onto paper and trace the outlines with pasta. Fingerpaint it, digitally ink and paint it, etc...it all is just the exterior resting on the core of the motion.

Opentoonz, if focused on that, could become a major asset in animation, more than it already is, and I consider it basically excellent already (outside of its jank and instability sometimes of course loll)

@unoffending
Copy link

I'm not a developer, just a regular user, but I think this is a really good idea...
But my personal opinion is that then OpenToonz will become paid... Because it sounds too good...

@Bracket-H
Copy link
Author

I'm not a developer, just a regular user, but I think this is a really good idea... But my personal opinion is that then OpenToonz will become paid... Because it sounds too good...

I think OpenToonz is protected against that via its license, but to be honest, I'm not 100% sure.
Perhaps it's possible to sell a fork of it legally, since that is allowed for even GPL licensed stuff which requires one to supply the full source to satisfy the license, but noone ever said you must do that for free.

But the free version should still remain free.

That said, this is probably tricky to implement to begin with, since even my crappy implementation of the page flipping/rolling thing would benefit greatly from having a 'mini workspace' or a 'virtual workspace' to do draftwork in sometimes.
What I mean by that.

The way I implemented that page rolling thing I showed with the video from Aaron Blaise, the Lion King animator.
Is by overwriting/hijacking opentoonzes "short play" (that's the reason It's not pull request ready).
Short play originally only plays a few frames in sequence.

I cobbled together a timer/thread abomination that requires a specific situation to work.
It only works from frame 1 in the timeline/xsheet, and plays three frames, in the order that one would flip the paper in.

This creates the situation that every time I want to use this system to draw inbetweens, which is pretty much every time, cause I love it... I have to either make a secondary, empty scene, where I only work with the three frames I need, and then put them into the main scene.
Or I leave three frames up top in the main scene where I do the draftwork for inbetweens, and then move the finished stuff down where it belongs.

This is because the xsheet/timeline and 'exposed frames' are pretty much married together.
As I just explained, that still makes the system work, with workarounds, but if there were a 'temporary space' connected to a scene, where such inbetween development could be done...then that would be ideal.

But it would also require breaking one of opentoonzes fundamental workflow steps... since, again, there is no separation between 'exposed frame' and 'xsheet'.
Yes, levels themselves have all the images in them... but to work with them in the way that inbetweening would benefit from, they have to go in the global xsheet/timeline.

Aka, a bit of a pain.

Thinking about changing that is probably useful, too...

And yeah, thanks for the affirmation. I am mostly a user myself, after all. Knowing a little bit of coding comes with Linux territory which is my mainstay OS... but I never claimed to be good at it lol.
But I'm willing to do more than zero work...

@unoffending
Copy link

I'm not a developer, just a regular user, but I think this is a really good idea... But my personal opinion is that then OpenToonz will become paid... Because it sounds too good...

I think OpenToonz is protected against that via its license, but to be honest, I'm not 100% sure. Perhaps it's possible to sell a fork of it legally, since that is allowed for even GPL licensed stuff which requires one to supply the full source to satisfy the license, but noone ever said you must do that for free.

But the free version should still remain free.

That said, this is probably tricky to implement to begin with, since even my crappy implementation of the page flipping/rolling thing would benefit greatly from having a 'mini workspace' or a 'virtual workspace' to do draftwork in sometimes. What I mean by that.

The way I implemented that page rolling thing I showed with the video from Aaron Blaise, the Lion King animator. Is by overwriting/hijacking opentoonzes "short play" (that's the reason It's not pull request ready). Short play originally only plays a few frames in sequence.

I cobbled together a timer/thread abomination that requires a specific situation to work. It only works from frame 1 in the timeline/xsheet, and plays three frames, in the order that one would flip the paper in.

This creates the situation that every time I want to use this system to draw inbetweens, which is pretty much every time, cause I love it... I have to either make a secondary, empty scene, where I only work with the three frames I need, and then put them into the main scene. Or I leave three frames up top in the main scene where I do the draftwork for inbetweens, and then move the finished stuff down where it belongs.

This is because the xsheet/timeline and 'exposed frames' are pretty much married together. As I just explained, that still makes the system work, with workarounds, but if there were a 'temporary space' connected to a scene, where such inbetween development could be done...then that would be ideal.

But it would also require breaking one of opentoonzes fundamental workflow steps... since, again, there is no separation between 'exposed frame' and 'xsheet'. Yes, levels themselves have all the images in them... but to work with them in the way that inbetweening would benefit from, they have to go in the global xsheet/timeline.

Aka, a bit of a pain.

Thinking about changing that is probably useful, too...

And yeah, thanks for the affirmation. I am mostly a user myself, after all. Knowing a little bit of coding comes with Linux territory which is my mainstay OS... but I never claimed to be good at it lol. But I'm willing to do more than zero work...

Sounds like something really revolutionary that will make animators' jobs easier... Maybe Disney will start using OpenToonz because of your feature...

@callybug
Copy link

callybug commented Apr 17, 2024

If you're going for "tradigital" then making OT's drawing functionally better will in turn make for a better "motion" program since it's the animator who creates motion through their drawing. The more tedious it is to draw, the more interruptions from getting into the flow, the more the final motion of a string of drawings will suffer as a result.
I think prioritising drawing ergonomics will have the double-benefit of the improved motion being a result of the improved drawing (and will make OT nicer to work in for longer periods overall).

However, I really like your drawing-roller concept. Short Play gets me some of the way there, but lacks configurability (I'd like to be able to play also for a few frames after and jump back, to see where I'm going from and going to). When animating on paper I hardly use the lightbox, whereas in OT I'm using the Onion Skin as a crutch.
Other things like: a hotkey to toggle 'Enable Creation in Hold Cells' on/off...a 'Create Blank Drawing' that creates on the current frame reliably...those would be "motion" improvements I'd also very much welcome because it would mean less menu-diving and distraction from the drawing. (Since easy drawing makes the workflow easier which makes good motion possible).

(And I'm sure you already know, but just in case) for working with unexposed drawings, there's always the Level Strip. It feels designed for Ink and Paint, though; Short Play sends the viewer back to the Scene, rather than roll within the Level viewer, which is a shame.

So while I don't disagree – I wouldn't want the best 2D animation program available on Linux to become an "art" program, focussed on pretty brushes and losing sight of its animation roots – but I think a lot of improvements for a better animation workflow are closely tied to a smoother drawing workflow, to the point where they're almost indistinguishable.

@Bracket-H
Copy link
Author

Bracket-H commented Apr 17, 2024

Right, I don't think drawing in OT is tedious, though. Or rather, drawing what matters is not tedious.
Initially, I wanted to completely argue against that point, but I do know that smeary ink impact frames work so well in anime precisely because they're so imprecise, rough and feathery.
That truly is hard to replicate with OTs default 'spartan' drawing ability, but I do still want to argue that that is a niche, a SFX, really.
For drawing itself, I remain of the opinion that drawing doesn't matter, until it matters.
In other words...and I bring that up a lot.
If you are an artist so hardcore baller that you draw an entire frame of animation, high tier animation, not some wobbly flash (don't get me wrong, I love old flash cartoons...) then you won't need this kind of tool as much.
And you wouldn't even need opentoonz, at least not to draw it.
Cause if you can draw, then you can draw, and if you're THAT much of a skillbeast, then you can use some painting aligned program to draw your frames. Corel draw with brush emulation, Krita, or hell, actual traditional media (which Toonz was used for by Ghibli back then, if I am not mistaken, to combine digital and hand drawn)

But if you use roughs of any shape in your work process, then for these roughs, it matters pretty much very little if they're mspaint oekaki binary caveman strokes.
And then having OT being an engine that facilitates the process of defining arcs, shapes, etc for those roughs.
Then the actual end painting result is secondary. If you have your solidly timed, solidly spaced, solidly volume-retained 'mold', then anything you add on that will equally be as good.

I mean, check this out.
Akira, Quick Action recorder, basically just 'pencil'
https://www.youtube.com/watch?v=Uxt0TygJdwI

But even pencil is more human than aliased 'binary' mspaint brushes, though ,right?
I got one for that, too, though.

Making of Ghost in the Shell PS1 opening
https://www.youtube.com/watch?v=6CY3-edDSz8
Look at those crusty, precise, almost robotic looking mspaint like brushstrokes.

But that's just it, super precise, super tight, and you can slap anything on that base and it will look great, since it already looks great in this thin, electric form. Little humane softness in those lines.

Add some ink, add some paint on top though, then smooth it out with blooms, anti aliasing, lighting, etc...and you got yourself a great looking animation.

That's what I'm basically arguing, but you're not disagreeing with me anyway, at least not completely, and neither am I with you.
It's why I added "if all things are equal, if some contributor has the skills to do either thing, I'd simply prefer timing, spacing and such things helpers than prettier brushes"
Cause an image is an image is an image, especially today, a little bit of shuffling images between programs is DWARFED by the process of planning, layouting, drafting etc of even the 'pencil test' skeleton.

If there's only contributors available who can do drawing stuff, I ain't stopping that.
But "if possible" i think OT has an easier time carving a superior niche for it if it became some sort of actual 'animation' drafting masterpiece software.
Again, only if 'all things are equal' (or if someone has skills for motion and not drawing stuff, I'd still want them to take a shot...even if 99% of all feature requests were for drawing.)
Drawing is unimportant until it is. But in animation, volume, timing, spacing, animation is always important.

Edit holy guacamole I had to link those two links without looking at them much, now I looked at them again proper and ..what a bunch of gods. Holy crap. Holy moly hot diggity damn so good. Love it.

@Bracket-H
Copy link
Author

I think this had enough time to simmer. Comments are still welcome, but no need to keep this open anymore.

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

No branches or pull requests

3 participants