Blender Git Loki

Kaikki Blender Git kommitit.

Page: 787 / 8462

March 26, 2021, 00:38 (GMT)
Only send all vcol layers to gpu (for pbvh drawing) in a material
draw mode.
March 26, 2021, 00:17 (GMT)
* Sculpt color layers are now properly handle by pbvh bmesh draw code.
Before only the active layer was uploaded to the GPU, now all of them
(except the autogenerated original color layer) are.
March 25, 2021, 21:32 (GMT)
LibOverride: fix bad ID relationships handling during resync.

Purely local IDs would not always be used as proper barriers when
generating override hierarchy data, leading to imporperly trying to
resync override IDs from other hierarchies, which would break/cause
issues in case they would be duplicate overrides of the same linked
data.

Reported by Pablo from Sprite team, thanks.
March 25, 2021, 21:32 (GMT)
LibOverride: Fix mistake in recent commit.

We do not want to re-generate auto-overrides until everything that
needed to be resynced has been resynced. Otherwise it's a waste of time
and guaranteed loss of some override properties.

Mistake in rB9947f2095610 earlier today.
Revision 64ca286 by Hans Goudey (master)
March 25, 2021, 18:54 (GMT)
Cleanup: Pass instance group result vector as an argument

This will allow retrieving the instance groups from multiple geometry
sets and avoiding needing vectors of vectors to store the results.
This is useful when retrieving instances from a multi-input socket
of geometries.
March 25, 2021, 18:32 (GMT)
Code cleanup
March 25, 2021, 18:19 (GMT)
Correct function names for changes in ui-asset-view-template branch
March 25, 2021, 18:12 (GMT)
Merge branch 'ui-asset-view-template' into asset-browser-poselib
March 25, 2021, 18:10 (GMT)
Cleanup: Improve naming of new temporary ID consumer functions
March 25, 2021, 18:03 (GMT)
Asset Browser: correct the declared context keys

The file browser context (when in asset browser mode) was declaring the
wrong context keys, making it impossible to use `context.copy()` in Python.
March 25, 2021, 18:02 (GMT)
Cleanup: Use new utils provided by the asset system to get temp asset IDs

The operators are not exclusive to the File Browser anymore now. The logic to
get the asset file information and use that to append the ID if necessary is
abstracted away by the asset system now, see 10383566b800.
March 25, 2021, 17:16 (GMT)
Merge branch 'master' into cycles_procedural_api
March 25, 2021, 17:02 (GMT)
Asset Browser: correct the declared context keys

The file browser context (when in asset browser mode) was declaring the
wrong context keys, making it impossible to use `context.copy()` in Python.
March 25, 2021, 16:48 (GMT)
GPencil: Support Bezier type for Hue/Saturation Modifier

March 25, 2021, 16:45 (GMT)
GPencil: Support Bezier type for Opacity Modifier

March 25, 2021, 16:19 (GMT)
Action: flip action data using pose contents

This adds a new RNA method `Action.flip_with_pose(ob, frame)`
to flip the action channels that control a pose.
The rest-pose it's self is used to properly flip the bones transformation.

This is useful as a way to flip actions used in pose libraries,
so the same action need not be included for each side.

API calls to cache F-curve look-ups have also been added,
supporting a single hash lookup to access all channels controlling an RNA path.

----

**Motivation**

This patch adds functionality to flip an entire action on the X axis using a symmetrical rig.

This was written so the asset manager can apply poses flipped, see T86159,

tested with spring.blend.

**Alternative Solutions**

It's possible to calculate this on the pose directly (see D10766), however operating on the action data makes this more useful as an API function, since the data can be flipped before it's applied to the pose.
Instead of flipping on the pose, then writing back to the action.

**Limitations**

There is some information not easily available at the time of flipping, for example - it's possible the flipped data-path doesn't exist in all cases, although the ideal behavior isn't obvious when the RNA path only resolves on one side of the pose.

- Currently the API function flips all channels, we could add an argument so it only operates on some of the channels.

**Open Topics**

- When some actions transform channels don't exist, they could be created (for example - if only X & Y rotation are set, it may be necessary to create a Z F-Curve to properly flip the rotation).
- The key-framing API is currently part of the editors (it would be a bad-level call from the BKE), we could expose some keyframing functionality to BKE, or move this functionality to editors. For now there is a simple keyframe adjusting function.
- Currently only the armature rest-matrices is used, not the pose. This API could take an armature instead of an object, although we might want to use pose content in the future, it doesn't seem like a big issue either way.
- This could eventually be exposed as an operator.
- Currently this re-orders channels which could have other frames keyed. A more comprehensive approach could be to operate on all keyed frames for an action, so an action that includes multiple poses will have them all properly flipped.

-----

**Notes**

- The F-Curve lookup cache can be committed separately.

- This is an example script for testing with the pose object set active:

```
import bpy
from bpy import context
ob = context.object
action = bpy.data.actions['07_040_A.spring']
action.flip_with_pose(ob, context.scene.frame_current)
```

Differential Revision: https://developer.blender.org/D10781
March 25, 2021, 16:16 (GMT)
GPencil: Support Bezier type for Tint Modifier

March 25, 2021, 16:05 (GMT)
Fix T86867: Node Editor: Avoid deselect-all triggering on every box-
select

In 'Set/Replace' mode this is not a problem, but 'Extend' or 'Subtract'
modes were useless with the current behavior.
The problem here is that 'node.select' fires before 'node.select_box'
(which is fine) but deselects immediately on click.

This issue has come up before in other editors, see
{T70457}
{rB395dfff103e1}
{rBa8ea1ea1b7d5}

Now delay deselection in empty space to mouse release (same as done in
before mentioned report).

also related:
ref T57918
ref T63994

Maniphest Task: T86867

Differential Revision: https://developer.blender.org/D10801
March 25, 2021, 15:57 (GMT)
LibOverride: Silence noisy warnings in console.

That one skiped the move to CLOG a few weeks ago, could spam a lot in
the console in some cases.
March 25, 2021, 15:44 (GMT)
Remove RNA optimization, is in a separate branch now
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021