The long overdue Grease Pencil merge in Blender 2.8 is now closer than ever.
The Blender 2.8 Code Quest turned out to be a great opportunity to gather a final round of feedback. Which, after much back-and-forth, led to fundamental changes to fully integrate it within the Blender 2.8 design.
Here is an overview of the updated changes internally and in the workflow.
Palettes → Materials
In the last versions of Blender 2.7x we introduced Palettes in order to manage Grease Pencil colors. This solution proved to work well and it was deeply used in the HERO open movie project.
However, Grease Pencil colors are far more complex than a simple color. So much that we ended up with Palette colors that had many more options than just RGB values.
After some discussions with Code Quest team, we decided to move Palettes to Materials. Now the colors work the same way as any other material in Blender, with additional settings exclusive to Grease Pencil.
Consequently, Palettes have been replaced by Material slots and each color replaced by an individual material.
Note: Grease Pencil materials cannot use nodes for the time being.
Grease Pencil Brushes → Blender Brushes
This change is more internal, but it replaces the Grease Pencil drawing brushes with “real” Blender brushes. This way we reuse the Brush structure already available in Blender.
This change makes it also possible to link brushes between files and to create brush libraries.
Drawing brushes with assigned Material
This is an important change in the workflow. Before this change, the brush used the color selected in the palette. Now the brush has always a material attached to it.
Note: The current user interface is temporary and it will be replaced with a new design.
The change could seem like a step back, but there are reasons to do this. As the Grease Pencil materials evolved, it was clear that a Brush was related to the material used, specially for textured materials. The way a brush draws is the result of Brush settings and Material settings, thus it was sensible to join them both.
With the new approach, we can define a Brush/Material that draws as expected, while also have a reliable way to create libraries of brushes that can be imported into other files.
Examples of textured strokes created by Matias Mendiola:
New Previews for Materials
A new preview design has been created especially to showcase Grease Pencil features.
This preview is also used to select the material assigned to the brush.
VFX Modifiers → Shaders FX
The new effects modifiers were added to get real time effects in the viewport for grease pencil objects, such as: Blur, Pixelate, Lighting, etc.
The implementation of these VFX was done reusing the modifier stack, but after review the design by code quest team, we all agreed that these VFX were not real modifiers. They couldn’t be applied, their order in the stack wasn’t followed all the time, among other issues..
The idea for VFX is something that could be used for other object types, not only grease pencil,. So we decided to redesign these VFX modifiers and replace by new Shaders FX.
Now, Shaders FX are located in a new tab in the properties panel and not in modifers tab.
During these weeks, I also created the new Colorize and Rim FXs.
On the other hand, this is the current list of (non-VFX) modifiers supported.
Annotations ≠ Grease Pencil
In the early days, Grease Pencil was used for making annotations and later became a full 2D animation tool. This animation features were far more than we needed for simple annotations, it was very complex to maintain and degraded the usability of Grease Pencil as a whole.
Now, annotation is a new tool on its own, separated from Grease Pencil and available in all editors just like before. The features for annotations have a limited scope, letting all the animation features to the new Grease Pencil object.
For Grease Pencil to comply with the new user interface paradigms in Blender 2.8 is no small task. This could easily get on the way of the merge. Therefore we decided to merge it with minimal changes and a basic integration with the tools system. Leaving the little tweaks and design adjustments for after the merge.
Grease pencil options now blend nicely with the rest of Blender 2.8 settings, making use of the new concepts such as the Overlays system.
For more information about user interface, check out T54896.
A lot of internal changes have been done in multiples areas of the code, including:
- Preliminary mode switching integration with the <Ctrl+Tab> pie-menu.
- Internal redesign of Weight Paint data.
- Conversion tools for legacy 2.7x files.
- Adjust code to work with the new dependency graph.
As result of new dependency graph implementation, the current Grease Pencil operators must be ported to new system. We have done a lot of work here, but we need a full code review to be sure it’s all working as expected.
There are only a few showstoppers for the merge to finally happen, but you can expect Grease Pencil to be part of Blender 2.8 Beta release in August. After that there will be a period of fixing and polishing to make Blender 2.8 the best 2D-3D Animation Workflow the world has ever seen!