Blender Git Loki

Blender Git commits from all branches.

Page: 64 / 2888

October 6, 2021, 09:49 (GMT)
Constraints: refactor the D7437 patch adding Custom Space for constraints.

As mentioned in the comments to that patch, I had an idea for
a different way to do some technical aspects, but it was too
complicated to force changes in the original patch. Thus I submit
this follow up patch.

First, instead of modifying all the get_constraint_targets and
flush_constraint_targets callbacks, introduce wrapper functions
for accessing constraint targets, convert all code to use them,
and handle the new reference there uniformly for all constraints.

This incidentally revealed a place in the Collada exporter that
didn't clean up after retrieving the targets.

Also, tag the special target with a flag so other code can
handle it appropriately where necessary. This for instance
allows dependency graph to know that the Use B-Bone Shape
option doesn't affect this specific target.

Finally, rename and simplify the function for initializing the
custom space, and make sure it is called everywhere necessary.

Differential Revision: https://developer.blender.org/D9732
October 6, 2021, 09:49 (GMT)
Armature: apply Y scale to B-Bone segments.

This fixes a strange behavior where the segments were not actually
scaled in the Y direction to match their actual length, thus
producing gaps or overlap depending on the shape of the curve. For
transformation the change should be very small if enough segments
are used, but this will affect the results of the Copy Transforms
and Armature constraints, so a backwards compatibility option is
provided. Newly created bones default to the new behavior.
October 6, 2021, 09:49 (GMT)
Temporary Hack: provide B-Bone scale versioning for files with old patch.

Run the versioning code for the conversion of bbone scale to an xyz
vector if it has fields that correspond to the old version of the
patch before that change requiring versioning.

The actual Y (length) scale value from the old patch isn't versioned
and will be lost, requiring manual fixing.
October 6, 2021, 09:49 (GMT)
Bone Overlay: support bone wireframe opacity settings.

When weight painting the bone overlay is extremely intrusive,
effectively requiring either extensive use of hiding individual
bones, or disabling the whole bone overlay between selections.

This addresses the issue by adding two bone opacity sliders that
are used for the 'wireframe' armature drawing mode. One directly
controls the uniform opacity as the straightforward option.

The other one allows fade based on the depth from the camera,
using exponential decay with the slider specifying the 'half-life'
depth. This is intended as a way to automatically hide bones
in distant parts of the mesh while focused on a specific part.

Differential Revision: https://developer.blender.org/D11804
October 6, 2021, 09:49 (GMT)
Context: add accessors returning selected actions for animation editors.

Add a new 'selected_visible_actions' property to allow querying
actions that are selected in animation related editors for use in
UI and operators. The 'selected_editable_actions' variant excludes
linked actions (the only reason an action can be read-only).

In the Action and Shape Key editors there is only one action
that is specified by the field at the top of the editor.

In Dope Sheet it scans the channel rows and returns all actions
related to the selected items. This includes summary items for
actions and groups.

In Graph Editor, it lists actions associated with selected curves.

The new property is also used for Copy To Selected and Alt-Click.

Ref D11803
October 6, 2021, 09:49 (GMT)
Animation: allow manually setting the intended playback range for actions.

Some operations, e.g. adding a new action strip to NLA, require
knowing the active frame range of an action. However, currently it
can only be deduced by scanning the keyframes of the curves within
it. This is not ideal if e.g. curves are staggered for overlap.

As suggested by Nathan Vegdahl in comments to T54724, this patch adds
Action properties that allow manually specifying its active frame range.
The settings are exposed via a panel in the Dopesheet and Action Editor.
When enabled, the range is highlighted in the background using a striped
fill to distinguish it from the solid filled regular playback range.

When set, the frame range is used when adding or updating NLA tracks,
and by add-ons using `Action.frame_range`, e.g. FBX exporter.

Differential Revision: https://developer.blender.org/D11803
October 6, 2021, 09:49 (GMT)
Animation: allow marking actions as cyclic for Cycle-Aware Keying.

When a manual frame range is set, allow marking an action as having
Cyclic Animation. This does not affect how the action is evaluated,
but the Cycle-Aware Keying option will automatically make any newly
added F-Curves cyclic. This allows using the option from the start
to build the cycle, rather than only for tweaking an existing loop.

The curves are made cyclic when they have only one key, either
after inserting the first key, or before adding the second one.
The latter case avoids the need to manually make the first added
curve cyclic after marking a newly added action cyclic.

Differential Revision: https://developer.blender.org/D11803
October 6, 2021, 09:48 (GMT)
Python API: implement `PoseBone.children` via `Bone.children`.

Currently `PoseBone.children` is implemented by a linear scan of
the list of armature bones. This is doubly inefficient, since
not only is it scanning all bones, the `obj.data.bones` list
is actually synthetic and generated from Bone children lists.

Instead, use the `Bone.children` native RNA property.

Differential Revision: https://developer.blender.org/D12727
October 6, 2021, 08:55 (GMT)
Geometry Nodes: Add Image texture node (WIP)

Port shader image texture node

**Core devs: Please take over if you want to.**

{F10797876}

Differential Revision: https://developer.blender.org/D12734
October 6, 2021, 08:46 (GMT)
Sculpt: fix broken ray casting of original data in pbvh

Not sure if this ever worked.
October 6, 2021, 08:35 (GMT)
Revert python changes in material panel

October 6, 2021, 05:49 (GMT)
Merge branch 'master' into tracking_tools
October 6, 2021, 04:55 (GMT)
Sculpt: Fixed a few sculpt color issues

* Fixed broken smear brush
* Tweaked ui defaults a bit
October 6, 2021, 03:09 (GMT)
remove ATTR_NO_OPTs
October 6, 2021, 03:07 (GMT)
Sculpt: more nasty customdata bugs

* Fixed mesh_sculpt_vertex_color_add_exec,
it's post-exec undo push was overwriting
the mesh cd layout.
October 6, 2021, 01:55 (GMT)
Alembic: add support for archive layers

This adds support for Alembic archive layers for the Blender CacheFile
and the Cycles Alembic procedural.

Layers are a feature of the Alembic library in which an archive can be
opened from a list of archives or file paths, and where archives
override data from the others. The order of the files matter since
latter files override data from former ones (i.e. a stack).

This feature is useful to, for example, replace a UV map or the
animation of an object without having to re-export the entire scene;
only the affected hierarchy needs to be re-exported, and "imported" as a
layer.

This adds a UI list for adding layers to the CacheFile, with buttons to
change their relative order. The filepath of the CacheFile is
implicitely considered as the bottom layer, although it is not shown as
such in the UI.

In the future, maybe with T68933, this could be the basis for a non-
destructive workflow where edits to an Alembic archive are exported as
layers.
October 6, 2021, 01:52 (GMT)
Fix typo in last commit
Revision 86ee4dc by Joseph Eagar (sculpt-dev)
October 6, 2021, 01:38 (GMT)
Sculpt: Fix customdata_regen_active_refs
October 6, 2021, 00:27 (GMT)
Sculpt: fix problem with smooth brush defaults

Also wrapped some mv->flag OR's in a
macro, that can be switched with a macro
for debugging.
October 5, 2021, 23:50 (GMT)
Sculpt: various fixes

* Fixed very nasty customdata bug where
if the first layer of a given type was
CD_TEMPORARY, then on being stripped out
of the customdata set the active references.

I think I tracked down where this happened, but
just to be safe I also wrote code to detect it and
regenerate the active refs too.

* Fixed rotate brush.
* Fixed mesh filter crashing with automasking on.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021