Blender Git Commit Log

All Blender Git commits.

Page: 1084 / 8462

December 1, 2020, 18:31 (GMT)
Copy Transforms: implement Invert, Fix Shear and more Mix options.

This constraint can be naturally viewed as a prototype for a future
4x4 matrix math node (or subset thereof), since its basic semantics
already is matrix assignment. Thus it makes sense to add math options
to this constraint to increase flexibility in the meantime.

This patch adds support for several operations that would be useful:

- An option to fix shear in the incoming target matrix.
- An option to invert the target matrix.
- More ways to combine target and owner matrix.

Shear is known to cause issues for various mathematical operations,
so an option to remove it at key points is useful. In the future node
system this would be a separate operation, but due to the limits of
the constraint stack it has to be built in for now.

Inverting a matrix is also an operation that can be useful to have.
For some uses it may be useful to invert components separately, so
implement this by checking the Mix mode setting to avoid UI options.

Finally, add two more ways to combine the matrices (multiplied by
two due to the necessity for the Before/After choice). Now there
are three combine modes:

Full implements regular matrix multiplication as the most basic option.

Split Channels combines location, rotation and scale separately.
Looking at D7547 there is demand for such a mode in some cases,
and even with nodes it's cumbersome to rig manually every time.

Finally, Aligned emulates the 'anti-shear' Aligned Inherit Scale mode,
and basically uses Full for location, and Split for rotation/scale.

Differential Revision: https://developer.blender.org/D9469
December 1, 2020, 18:31 (GMT)
Limit Rotation: add an Euler Order option and orthogonalize the matrix.

Since Limit Rotation is based on Euler decomposition, it should allow
specifying the order to use for the same reasons as Copy Rotation does,
namely, if the bone uses Quaternion rotation for its animation channels,
there is no way to choose the order for the constraint.

In addition, add a call to orthogonalize the matrix before processing
for the same reasons as D8915, and an early exit in case no limits are
enabled for a bit of extra efficiency.

Since the constraint goes through Euler decomposition, it would remove
shear even before the change, but the rotation won't make much sense.

Differential Revision: https://developer.blender.org/D9626
December 1, 2020, 18:31 (GMT)
Constraints: add support for a new Owner Local Space for targets.

Add a new transformation space choice for bone constraints, which
represent the local transformation of the bone in the constraint
owner's local space.

The use case for this is transferring the local (i.e. excluding the
effect of parents) transformation of one bone to another one, while
ignoring the difference between their rest pose orientations.

Owner Local Space replaces the following setup:

* A `child` bone of the `target`, rotated the same as `owner` in rest pose.
* A `sibling` bone of the `target`, positioned same as `child` in rest
pose and using Copy Transforms in World Space from `child`.
* The `owner` bone constraint uses Local Space of `sibling`.

Differential Revision: https://developer.blender.org/D9493
December 1, 2020, 18:31 (GMT)
Refactor the Custom Space patch.

Instead of modifying all the get_constraint_targets and
flush_constraint_targets callbacks, introduce wrapper API
functions and handle the new reference there.

Also, it is not needed to do all the target dance to compute
the space_obj_world_matrix.
December 1, 2020, 18:31 (GMT)
Add Custom Space to Constraints

Constraints can currently only use World Space, Local Space, Pose Space, Local with Parent.
This patch adds Custom Space with a custom object to define the evaluation space.

The Custom Space option uses the Local Space of an other object/bone/vertex group.
If selected on owner or target it will show a box for object selection.
If an armature is selected, then it will also show a box for bone selection.
If a mesh object is selected it will show the option for using the local space of a vertex group.

It looks like this in the UI:
{F8731291}

The motivation for this patch is the following situation.
If you have a copy location constraint in your armature you are already limited when you want to use a specific axis. It can be done, but its unneccessarily difficult (as far as I know). But the situation is close to impossible as soon as you have a root bone in your armature (which I was told you always want). I need to only copy the location along a custom axis for a lot of things. The same goes for copy rotation/scale and all the limit constraints because I need to make that axis relative to the root bone transform.

Here is a demo video:
{F8498960}
This is the file of that video:
{F8647541}

This is the file for the tests included in this patch:
{F8699677}

File intended for acceptance test:
{F8879818}

Reviewed By: #animation_rigging, sybren, Severin, angavrilov

Differential Revision: https://developer.blender.org/D7437
December 1, 2020, 18:22 (GMT)
Remove outdated TODO comment, comment why it's not needed instead
December 1, 2020, 18:09 (GMT)
Cleanup: Better naming for WM-drag functions

Also added a comment for clarification.
December 1, 2020, 18:08 (GMT)
Remove "Author" from asset metadata

This can become a custom property, based on review feedback we don't need to
have this builtin.
December 1, 2020, 17:21 (GMT)
Minor UI tweaks

* Use "metadata" not "meta-data", just like elsewhere.
* Move asset repositories panel in the Preferences to the bottom, looks weird
otherwise.
* Slightly improve layout of the panel, after review feedback.
December 1, 2020, 17:16 (GMT)
Importer: Use switch-case instead of else-if chain in main code.
December 1, 2020, 17:09 (GMT)
Remove WIP code for asset catalogs

I still have a local version of the branch with this code, but for the merge
into master this isn't needed and adds unecessary review overhead.
December 1, 2020, 17:07 (GMT)
temporarily disable TLAS refitting as it fails when we refit curves
December 1, 2020, 17:06 (GMT)
alembic: add hair data to the cache
December 1, 2020, 16:53 (GMT)
Merge branch 'master' into asset-browser
December 1, 2020, 16:16 (GMT)
Codesign: Allo non-zero exit code for signtool on Windows
December 1, 2020, 15:34 (GMT)
GPencil: Fix error after inlude PugiXML lib

The name of the include dir changed.
December 1, 2020, 15:28 (GMT)
UI: Add new node colors for geometry nodes

During the development of the new nodes in the `geometry-nodes` branch
the color of the new nodes wasn't considered, so all of the nodes ended
up red, the color for "input" nodes. This patch introduces two new
colors, one for "Geometry" and one for "Attributes". There are only two
attribute nodes currently, but the next sprint will add two more,
attribute mix, and sample from texture. The attribute nodes are
conceptually different enough from the nodes that modify the geometry
that they deserve their own color.

Differential Revision: https://developer.blender.org/D9682
December 1, 2020, 15:25 (GMT)
Deps: Add PugiXML as an official dependency

PugiXML was historically shipped hidden embedded into OIIO, the Grease
Pencil team had a requirement for an XML library recently so pugi seems
like a natural choice since it's not really a 'new' library, we just
turn an implicit dependency into an explicit one.

This commit expands the Windows-specific code in rBdca9aa0053f7 to
include Linux. macOS support will be handled in a later commit.

NOTE: run `cmake -U'*PUGIXML*' .` in the build directory to ensure CMake
finds PugiXML in the new location.

For details see D8628
December 1, 2020, 15:19 (GMT)
Merge branch 'greasepencil-object' into greasepencil-io
December 1, 2020, 15:17 (GMT)
Merge branch 'master' into greasepencil-object

Conflicts:
build_files/cmake/platform/platform_win32.cmake
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021