Grease Pencil to Replace Vector Drawing Tools

This read on development was awesome Developing Features — Krita Manual 4.4.0 documentation

Grease pencil technology to replace Krita vector drawing tools
Building on top of the 3D viewport means a giant leap forward for painting illustration comics and animation.

IMO
Krita is better suited as 2D animation program compared to Blender because it is not constrained to Blender’s legacy UI. Adopting the hybrid technology means a vector and raster-like experience can build up around a 3D viewport. Krita should certainly not do things the Blender way except take advantage of the development and build a future-oriented toolset for Krita users.

Advantages
1. Camera moves for 2D animation inside Krita.
2. Krita can import a 3D model (3D layer or smart layer. This could be a live sync with Blender).
3. Canvas Size: are the same as 3D geometry planes in space looking through the front 3D orthographic view being textured painted on. Krita simply offers a more fluid and robust toolset.

This potentially would encourage an explosive use of Krita Development and Funding the system would instantly outcompete many other applications.

1. TV paint 
2. Toon Boom Harmony
3. Adobe Animate
4. OpenToonz
5. Blender and more

Benefits
1. Blender Grease Pencil Updates can feed across into Krita.
2. Krita Update can feed across to Blender Grease Pencil.
3. Advanced animation features already built.
4. Krita brush tips can be applied to working with Grease Pencil strokes.
5. Raster Drawing experience would be faster.
a. As a first step in the Raster experience line could be drawn in Grease Pencil.
b. Grease Pencil Sculpt Toolset.
c. And then secondly flattened down as an option.
6. Drawing with 4K to 8k Brush tip sizes would be faster the what Krita can do at the moment.
7. Krita Text tool could be improved upon having its own layer and everything being done in the viewport while also being able to have a 3D experience.

Implementation Phases
1. Implement Grease Pencil into Krita with a combined update vector experience of drawing shapes of both apps.
2. Animation timeline.
3. 3D Camera and rendering.

Case study
Texturing in 3D space on a flat plane. Before you even start this process you’re asked for a texture size and then you can paint on the 3D plane.

If the resolution of the texture size is to be increased it must do so in an outside source and then reapply the texture to the 3D plane after the resolution has been changed.

Toon Boom Harmony, TV Paint, OpenToonz, and Adobe animate all behave the exact same way. The only difference is that these software packages can increase the resolution inside the packages themselves.

Krita’s resize image capability is the same as well.
When you are asked to create a document size in Krita it is the same as every other 2D animation program. Having no 3D camera is the same as having a 3D camera, but having the resolution of the 3D camera tied to the resolution of the image with no movement.

Now if we add a 3D camera the texture resolution can remain the same size and have the freedom to move a camera around on the image/ texture. This would mean the camera now becomes the document render resolution size.

In terms of Krita development and integrating Bender Grease Pencil to replace the Krita vector toolset when a new document is created the resolution can be tied to the camera straight away. When a user can in the future create a camera layer, the camera would be created at the original document size that the current state of the document is in. Krita may also offer the option to change the camera size. This would need to have the information on-screen asking questions, a check box or a button.

1. Create camera & keep camera resolutions.
2. Create camera & Layer/s match camera resolution.
3. Create camera & set custom resolutions all.
4. Create camera & set custom resolutions per layer.

To be honest, this is a massive ask. I figured though it’s worth at least getting it out of my head, so it can live in someone else’s.

1 Like

Im planing a small animation project this year so I too have been thinking about something like this the past while. I still have 2 big questions.

What if its a good thing to have separate softwares for different tasks? We have to clearly work through the different stages of production by also switching software, it forces the team to move on instead of sort of encouraging jumping back and forth in the process.

And second.
If we want to use functionality from different software packages, which does happen even just from user requests it seems like. Copying snippets would double the code that needs to be maintained, so what about the idea of smaller specialised programs that work together as modules? (As seen in *nix/plan9, smalltalk squeak). Would this work with today’s tools if an open standard like for example glTF was used at least as a bridge format, so that each module can edit and a separate renderer would update. Maybe we’ll never know?

2 Likes

I only think different softwares for different tasks is good if the tasks are completely different.

I’ve tried in the past to do the roughs in Krita then use Blender’s Grease Pencil to make the lineart and cel colouring but found too many differences to make it productive. In addition, there are many similar functions between Krita and Grease Pencil, and completely different workflows (and shortcuts, and interfaces).
Yes, you can do it but it is far from perfect.

Personally, I prefer to do everything I can in one software because I don’t have to have my brain constantly re-adjust every time the shortcut is different or the similar function doesn’t work as expected in the other software. I find it way more productive.

In my opinion, Krita is the most comfortable I know to do 2d animations (I’ve not tried them all, but I’ve tried Photoshop, Opentoonz, Tahoma, Blender, Flash, Procreate, Rough Animator).

I know Krita animation tools are positioned as a more traditional 2d approach, but better vector drawing tools would indeed mean a giant leap forward.

Anyway, that’s my humble opinion.

1 Like

I think to replace the current vector tools would not make much sense though I think it would be more of an improvement of the current in terms of usability than changing the core of it. Krita does alot of vector work already it is just hard to use I think like drawing it but it is good.

I also did a proposal just like this and I also had greese pencil in mind. I tried to tried to make sense for Krita’s structure and working in a 2D plane first before thinking out of the box but a small basis would allow more growth even it was a plugin working over it later. Also I wanted to draw with just vector as it would be much more clean.

As for using blender code as a module I am not sure if that is directly applicable sounds too good to be true with Qt I get a feeling it would fight against it placed outright.

The thing is Krita would not need as much 3d stuff even if was implemented and greese pencil has to consider tons of other things I imagine. Probably something inspired by would make more sense and would not cause maintenance issues.

But a bridge with blender would be dope. Krita feels so much more natural to draw but I think that would be better for texture painting more than animation as a best use case first. But with Qt6 it might not be needed if it ever gets implemented.

2 Likes

Originally I started writing this just for the vector drawing toolset.

The more I wrote the more things started to unravel and how it might be done for Krita. The thing is I really want to use krita for animation. Buuuut it does get a bit slow. Also over the last few years, I pretty much switch from using raster and using just vector. The great thing about this is you can treat the drawing and the final visual treatment completely separate.

Here is a few links that demonstrate that very process. These are all vectors but final treatment is to aim for something that is a little less vector.

Natron roto node clean up treatment.

This is a procedural watercolor using nodes in opentoonz this system runs much faster than Toon Boom Harmony. TBH has better motion tweening than OpenToonz. They still run on a very old model though. Still nowhere as fast as BGP.

Here is a Toon Boom harmony test I did with this. This is the optimized version. I don’t think the quality is as good as the Opentoonz node system. OT just performs way faster.

To run Blender Grease Pencil through its paces, the rabbit in this animation was done using 4K brush tips. Things started to get wonky when rolling frames after the rabit was completed and I was animating up 25 to 30 diferent layers of flying paper. Playback was still in real time even though I just kept adding more and more paper at the end.

Fun fact you can print the frames out at A0 resolution and with no pixelation.

I know vector really is the way to go and Blender Grease Pencil as a base.

I also know it’s a tall ask. Though when I think about Blender Grease Pencils development I can’t help but think that this really is the way forward for this tool to be developed to its fullest potential and making Krita even faster than it already is.

A few years ago I used affinity designer. When I was using it I couldn’t help but feel that it had been deved out in 3D space. That’s why it could run so smoothly and handle massive billboard images. Just a guess though, I honestly have no idea.

After that it just made more sense for me to use Blender curves for anything that was vector. After Grease Pencil to SVG had been finalized I thought now this is a great foundation.

The reality is as always it just needs more devs for this kinda thing.

2 Likes

I have to agree with you BGP does have to consider way more. And also there is a lot in there that is legacy that could probably just be cut from the code now because their modifiers take control of those areas.

As for QT (hahaha, I had to look it up) I’m not even going to pretend what’s going on there. Just an animation artist here. It’s a pretty time-consuming job. Can I leave the QT stuff to you? kikikiki.

When you say Grease Pencil inspired I guess that would be good too. I kinda saw it more as an iron sharpens iron kinda thing. You know, let’s just get more people around the Blender Grease Pencil Krita campfire. Who knows where it will take us.

But maaaaaan! How cool would it be? right! It’s a good dream to throw out to the wolves. Let’s all take a minute to pray to the open-source gods to see if we can make it happen.

mate can you explain more?

This just seem like next level kinda thing to me. I really want to know more, Pleeeeeaase?

While reading this I wonder why not just use Blender for everything. Of course Krita’s vector tools need some more love, I made some suggestions for improvements myself. But what is described here basically means reimplementing a huge part of Blender’s functionalities in Krita. That’s a ton of work.

And Krita’s animation tools have other issues like audio scrubbing not working consistently, that need to get fixed first.

2 Likes

I AM an Animator and a Rigger!.. You really should know how to code :expressionless: Python is your work language.

1 Like

Even if we disregard for a minute the feasibility to rip Grease Pencil out of Blender’s code and embed it somewhere else (no, there isn’t a “libgreasepencil” waiting to be reused…)

So far Grease Pencil strokes have little in common with Krita’s (or Inkscape’s) vector objects, in fact I’m not even sure it should be considered vector graphics at all (yet), it’s a “spaghetti” of dense vertices that get tessellated into geometry by the GP “materials” which is then treated mostly like normal polygon geometry.

Sure, it’s pretty cool what you can do with it with sculpting and animation tools, but there is no true Bézier (or other) curves at all yet, you can let Blender create an approximation that destroys the original stroke and exists until you touch it with some other editing tool again, but that’s about it. So I don’t see how you could replace Krita’s vector tools with it.

Yes I did see there is a branch to extend GP strokes to support proper Bézier curves, but there doesn’t seem to be progress since May, not sure what’s up with that.

As for a new text tool…let’s just say that typesetting in general is far more complex than most people imagine. If creating a new layer type for it would remove any of the challenges, I’m sure it would’ve been done already…

4 Likes

really interesting stuff!

That’s a really great point about the audio.

I know what you mean about, why not just use Blender. Though I think even though it is a lot of work, Krita would be much closer to having an awesome finalized product for animation studios. Blender just has too much to consider.

Only building on top of just the front view, Grease pencil, and Textures would mean a massive performance increase for drawing in Krita.

Just writing this though, I would imagine Blender Texture limit would become a massive problem with integrating such an idea into Krita.

For such a long time Blender development has massively stalled or is avoiding working on texture paint. Maybe they can’t work out an elegant solution? Maybe just afraid to stand on the shoulders of giants? I have no idea and just don’t care for either anymore. For whatever the reason is, so much time has passed on this development that the foundation should be embarrassed. Blenders’ workflow here is really shockingly poor, and I wouldn’t be surprised if the Krita team actually had their own ideas on some form of integration/ workflow for painting on 3D models. I’m not sorry that texturing in Blender is a touchy subject to me. I’ve wasted to much life on such a frustrating part of Blender. Texture painting shouldn’t really be that difficult.

Honestly, all I can do is use what I have in front of me. I know the last part of this is a bit harsh. But when you run a studio using open source and artists keep using other apps other than what you’re asking them too use, artists don’t realize the studio then has to overspend on a project in time, cost, quality and scope. Budgets really are important.

Is that to much reality for here?

Ok ok ok Adam, so let’s remember that this thread is meant to be about vector workflow in Krita being a better experience than what it currently is (lets try to rein back on the passion ahhee).

:rofl: :joy: :sweat_smile: :laughing: :grin: :heart_eyes: :grin:

Your about a python. But errrrrrm, lets not ask the world to wait for me though, because I might be a while? :joy: :rofl: :joy: :rofl: :joy: :rofl:

I love the authority you write with. I can only speak from experience. Blender Grease Pencil I have been using has Bezier handles and seems to work ok for me. As for it being tessellated, have no idea, and if it works why not.

As for the text tool, I am sure that would come only if things were built on a 3D space. I don’t think any of this is something you need to be afraid of when it comes to vectors and other apps. These things do take time and after participating in the dev for about 8 years the GP team has really done a pretty outstanding job. BGP really will just keep getting better over time.

I can’t help but think the Krita team really does have something to offer here. At the end of the day, Blender has a lot of pie and it would be good to see them share it around in support of other app integration. Though they do like to pass the buck on that. Sooner or later they will have to work it out, we can only hope that it is sooner rather than later. Generosity really does go a long way :smiling_face_with_three_hearts: :smiling_face_with_three_hearts: :smiling_face_with_three_hearts:

Just thought I would share this on vectors. There is some great development happening here and it could be really worth while the Krita team chasing them up on it.

1 Like

Grease Pencil is looking awesome it changed so much in a year.

I need to check it out again soon. I have been pondering alot in doing stuff on it. Working in vector is always so much better.

3 Likes

It looks nice. Although I must say krita is not just an animation software, it is an Illustration and painting software too, so the vector tools must reflect that in their design. I don’t know how grease pencil fairs in that department. Quick boolean operations, arranging shapes etc need to be intuitive. Maybe grease pencil has all that.

1 Like

Ehm like 95% of that last video isn’t about Grease Pencil at all, but customized Blender curve primitives. Yes those implement a lot of what typical vector tools in other applications do, and allow all kinds of rigged animation.

Grease Pencil is mentioned after 11 minutes to point out that it’s useful for certain effects, but the frame-by-frame animation with GP is not what they typically use, since they rig their stuff and use pose libraries etc. so it’s a mutual thing.

It also mentions that conversion of their stuff to GP strokes is not done yet, and that they’re also working on some GP features, but only a very short example of their sharp corners support are shown.

So if what you want is what’s shown in the video, you don’t actually want Grease Pencil in Krita, you want their vector curve primitives. I just gave Blender a fresh try, and while their curve editing mode for Grease Pencil is useful, as soon as you try to edit a sculped stroke you notice it’s just a temporary and approximate conversion, you lose e.g. all the sculpted thickness currently.

3 Likes

YeahrrRRRRrrrr, I thought we kinda established it still needed more work? Are you meant to be the voice of reason that makes everyone to throw there hands in the air give up? Do you work for adobe? What are you really doing here?

hahaha

We all get it mate. There is work that’s needed to be done. You know you give a strong impression that you don’t want this kinda thing, even if it was successful. Do you need to go find another thread?

he is the voice of reason >3>…

3 Likes