To follow Blender standards, the name of the new primitive stroke must be different of blank object.
Also changed the default orientation of Suzanne 2D to use the same as other objects (not aligned by default)
This commit adds a new armature modifier for grease pencil. The deformations are done reusing the mesh deform routines.
There is also a new operator in weight paint mode to help the artist to generate weights base on armatures. This operator is required because 2D animation workflow is not equal to meshes when parent an object to armatures.
In the drawing engine has been added the option to handle the Fade object parameter used in armatures to see the strokes while move the bones.
When rename bones, all related data of grease pencil is renamed too. This not only affect new armature code, but also layers parented and hook modifiers.
Thanks @aligorith for his review and help.
This avoids getting all overridden objects from said collection
instantiated in master collection, totally untidy!
Note that there is still an issue when 'active' object (i.e. the
armature usually) is in hidden sub-collection, since you have to make
that whole hidden collection visible again to see it.
We'll need to support moving objects into overridden collections am
afraid, arg. :(
The initial design assumed that there was only one object for each unique name, but that was not the case when instances were created.
Now, instances are supported and speed has been greatly improved when repetitions are used.
As a result of this change, the option to create objects has been removed in the Instances modifier. This option was strange and was also against Blender's design rules, since a modifier should never create objects. The old functionality of the modifier can be achieved with instances.
Also, several memory leakage problems that were not previously detected have been eliminated, and especially in the grid and in the drawing process
Onion Skin is not supported in multi-user datablocks. Support this, makes incompatible with instances. We need find a solution in the long term, but now it's better keep disabled and make instances work. Anyway, the new instances makes unnecessary to use muli-user datablocks.
Add tool options to control how select operates (add/sub/set/and/xor).
Note: edit mode armature select still needs to support all options,
this is complicated by how it handles partial end-point selection.
Conversion code could leave object with inconsistent material data
compared to its new obdata.
Ideally, various conversion code would handle that properly, conserving
materials when possible, but for now at least ensure we get valid
result!
Currently no functional changes, just exposes all settings which we need
for OpenSubdiv, similar to what Subsurf modifier is doing already.
Reviewers: brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D3602
After clearing motion paths from objects, those objects needed to be
tagged for copy on write so that the copied data (i.e. viewport)
recieve the changes (i.e. removed paths)
Reported by Hjalti
This commit merge the full development done in greasepencil-object branch and include mainly the following features.
- New grease pencil object.
- New drawing engine.
- New grease pencil modes Draw/Sculpt/Edit and Weight Paint.
- New brushes for grease pencil.
- New modifiers for grease pencil.
- New shaders FX.
- New material system (replace old palettes and colors).
- Split of annotations (old grease pencil) and new grease pencil object.
- UI adapted to blender 2.8.
You can get more info here:
https://code.blender.org/2017/12/drawing-2d-animation-in-blender-2-8/https://code.blender.org/2018/07/grease-pencil-status-update/
This is the result of nearly two years of development and I want thanks firstly the other members of the grease pencil team: Daniel M. Lara, Matias Mendiola and Joshua Leung for their support, ideas and to keep working in the project all the time, without them this project had been impossible.
Also, I want thanks other Blender developers for their help, advices and to be there always to help me, and specially to Clément Foucault, Dalai Felinto, Pablo Vázquez and Campbell Barton.