Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
Now the weights are managed in the operators.
The subdivide operator and modifier code have been replaced with a shared function.
Some cleanup also.
|
|
Using custom api breaks material at object level
|
|
|
|
Replace BKE_gpencil_get_material_index by BKE_object_material_slot_find_index
|
|
Name hinted 'vertex index', where it's the index of the vertex group.
|
|
|
|
Before, the weight data array was created always, but now only is added when a weight value is assigned.
This change was suggested by algorithm, and both agreed it was good idea.
|
|
|
|
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.
|
|
|
|
Now it's possible to define if the Tint, Hue and OPacity modifier affect the stroke color, fill color or both.
|
|
|
|
Thanks to Charlie Jolly (mistajolly@gmail.com) for his patch D3586 that added create materials to opacity modifier.
I had to do some more changes to get all running.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The material created was not right when apply the modifiers.
These errors were related to the material modification from old palette system before the merge and for any reason this code was not changed in the right way.
Also changed the "Create Colors" to "Create Materials" to keep UI names aligned.
|
|
|
|
The object can be NULL. This was a line used in debug that it was not removed.
Also removed an old function not used.
Thanks to Charlie Jolly for catching this error.
|
|
|
|
|
|
|
|
|
|
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.
|