http://www.miikahweb.com/feed.php MiikaHweb - Blender Commits By Angavrilov http://www.miikahweb.com/ MiikaHweb - Blender Commits By Angavrilov fi Thu, 06 May 21 13:25:00 +0000 MiikaHweb RSS contact at miikahweb.com <![CDATA[[3391e67] cycles_texture_cache: LibOverride: temporarily fix the material driver workaround...]]> http://www.miikahweb.com/en/blender/git-logs/commit/3391e679acd9f8595b32f95e5634b240fe408315 3391e67
Branches : cycles_texture_cache
Author : Alexander Gavrilov (angavrilov)
Committed By : Stefan Werner (swerner)
----------------------------------------
LibOverride: temporarily fix the material driver workaround with a hack.

Currently overriding properties within material node trees is not
supported. However there is a workaround that allows feeding values
through drivers via an intermediate custom property, as described
in T82404. The workaround relies on the behavior of the ID copying
code that always patches datablock self-references even without any
overrides.

Unfortunately, this broke during development of 2.93. This happened
because a call RNA_struct_override_matches added in rB2281db72b0157
detects that no override exists, and 'restores' the self-reference
to point to the original datablock.

To avoid this, mark the Material.node_tree property with the
PROPOVERRIDE_IGNORE flag to stop RNA_struct_override_matches
from recursing into the currently unsupported node tree sub-block.
This flag should be removed when this is properly supported.

This was confirmed to fix the workaround and discussed with @mont29.

----------------------------------------
1 Path Changed]]>
Thu, 06 May 2021 09:25:23 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/3391e679acd9f8595b32f95e5634b240fe408315Alexander Gavrilov
<![CDATA[[2b46606] master: Merge branch 'blender-v2.93-release']]> http://www.miikahweb.com/en/blender/git-logs/commit/2b46606af139171283c5a1ff0df0ee39fb78112e 2b46606
Branches : master
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
Merge branch 'blender-v2.93-release'

----------------------------------------
0 Paths Changed]]>
Mon, 03 May 2021 11:03:00 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2b46606af139171283c5a1ff0df0ee39fb78112eAlexander Gavrilov
<![CDATA[[6899dbe] master: LibOverride: temporarily fix the material driver workaround...]]> http://www.miikahweb.com/en/blender/git-logs/commit/6899dbef77cd26df3588888040887e4e41c1ec43 6899dbe
Branches : master
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
LibOverride: temporarily fix the material driver workaround with a hack.

Currently overriding properties within material node trees is not
supported. However there is a workaround that allows feeding values
through drivers via an intermediate custom property, as described
in T82404. The workaround relies on the behavior of the ID copying
code that always patches datablock self-references even without any
overrides.

Unfortunately, this broke during development of 2.93. This happened
because a call RNA_struct_override_matches added in rB2281db72b0157
detects that no override exists, and 'restores' the self-reference
to point to the original datablock.

To avoid this, mark the Material.node_tree property with the
PROPOVERRIDE_IGNORE flag to stop RNA_struct_override_matches
from recursing into the currently unsupported node tree sub-block.
This flag should be removed when this is properly supported.

This was confirmed to fix the workaround and discussed with @mont29.

----------------------------------------
1 Path Changed]]>
Mon, 03 May 2021 11:02:13 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/6899dbef77cd26df3588888040887e4e41c1ec43Alexander Gavrilov
<![CDATA[[3e66bf4] temp-angavrilov-constraints: Bone Overlay: support bone wireframe opacity settings.]]> http://www.miikahweb.com/en/blender/git-logs/commit/3e66bf410fcd5466a290a7e0d13694d89c749ab4 3e66bf4
Branches : temp-angavrilov-constraints
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
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 opacity in a uniform way. The other one allows fade
based on the depth between the near and far clip planes in order
to provide an automatic visual cue about which bones are closest.

----------------------------------------
16 Paths Changed]]>
Thu, 22 Apr 2021 15:30:34 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/3e66bf410fcd5466a290a7e0d13694d89c749ab4Alexander Gavrilov
<![CDATA[[c5a4615] temp-angavrilov-constraints: Armature: add B-Bone lengthwise scaling and custom handle scaling...]]> http://www.miikahweb.com/en/blender/git-logs/commit/c5a46158b8cf7cc887eba6be4de06a1dbebf53ac c5a4615
Branches : temp-angavrilov-constraints
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
Armature: add B-Bone lengthwise scaling and custom handle scaling options.

In addition to the base bone transformation itself, B-Bones have
controls that affect transformation of its segments. For rotation
the features are quite complete, allowing to both reorient the
Bezier handles via properties, and to control them using custom
handle bones. However for scaling there are two deficiencies.

First, there are only X and Y scale factors (actually X and Z,
but this is the legacy naming), while lengthwise all segments
have the same scaling. The ease option merely affects the shape
of the curve, and does not cause actual scaling.

Second, scaling can only be controlled via properties, thus
requiring up to 6 drivers per joint between B-Bones to transfer
scaling factors from the handle bone. This is very inefficient.

This patch addresses these deficiencies by adding Length scale
inputs, and providing toggles to apply custom handle local scale
channels to the now four scale-related properties. The 'Length'
name is used to avoid confusion due to the X/Y vs X/Z naming.

The two Length scale inputs control the ratio between the lengths
of the start and end segments of the bone: although for convenience
two inputs are provided, the whole chain is still uniformly scaled
to fit the curve.

A Scale Easing option is provided to multiply the easing value
by the Length scale factors to synchronize them - this produces
a natural scaling effect where both the shape of the curve and
the scale is affected.

The second issue is addressed by providing toggles for each handle
that multiply each of the X, Z, Length and Ease values by the matching
Local Scale channel of the handle bone, thus replacing trivial drivers.
The Scale Easing option has no effect on this process since it's easy
to just enable both Length and Ease buttons.

Finally, 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.

Differential Revision: https://developer.blender.org/D9870

----------------------------------------
15 Paths Changed]]>
Thu, 22 Apr 2021 15:14:13 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/c5a46158b8cf7cc887eba6be4de06a1dbebf53acAlexander Gavrilov
<![CDATA[[3a83f83] temp-angavrilov-constraints: Copy Transforms: implement Invert, Fix Shear and more Mix options...]]> http://www.miikahweb.com/en/blender/git-logs/commit/3a83f831e898d3652aaa9746fbc77ffeba211ee6 3a83f83
Branches : temp-angavrilov-constraints
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
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

----------------------------------------
7 Paths Changed]]>
Thu, 22 Apr 2021 14:46:26 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/3a83f831e898d3652aaa9746fbc77ffeba211ee6Alexander Gavrilov
<![CDATA[[4017774] temp-angavrilov-constraints: Limit Rotation: add an Euler Order option and orthogonalize...]]> http://www.miikahweb.com/en/blender/git-logs/commit/401777408302c48958f3d0cd9a0afebf105f5169 4017774
Branches : temp-angavrilov-constraints
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
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

----------------------------------------
4 Paths Changed]]>
Thu, 22 Apr 2021 14:46:26 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/401777408302c48958f3d0cd9a0afebf105f5169Alexander Gavrilov
<![CDATA[[364324e] temp-angavrilov-constraints: Constraints: add support for a new Owner Local Space for targets...]]> http://www.miikahweb.com/en/blender/git-logs/commit/364324e158e0c4febb618c87d746e8a5b9846bcd 364324e
Branches : temp-angavrilov-constraints
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
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`.

(This analogy applies provided both bones use Local Location)

Since the space list is getting long, this adds a couple of separators.

Differential Revision: https://developer.blender.org/D9493

----------------------------------------
5 Paths Changed]]>
Thu, 22 Apr 2021 14:46:26 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/364324e158e0c4febb618c87d746e8a5b9846bcdAlexander Gavrilov
<![CDATA[[5b33983] temp-angavrilov-constraints: Constraints: refactor the D7437 patch adding Custom Space for...]]> http://www.miikahweb.com/en/blender/git-logs/commit/5b339837c1e457c0d5c57d1bf6921e8e05e96ae1 5b33983
Branches : temp-angavrilov-constraints
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
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

----------------------------------------
17 Paths Changed]]>
Thu, 22 Apr 2021 14:46:26 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/5b339837c1e457c0d5c57d1bf6921e8e05e96ae1Alexander Gavrilov
<![CDATA[[54d5948] temp-angavrilov-constraints: Depsgraph: connect up drivers on various physics properties.]]> http://www.miikahweb.com/en/blender/git-logs/commit/54d5948eef58ec81e6d8945ad2c0a01d8274931a 54d5948
Branches : temp-angavrilov-constraints
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
Depsgraph: connect up drivers on various physics properties.

It seems drivers for physics properties weren't being linked to
evaluation nodes. This connects settings used by modifiers
to Geometry; particle settings and rigid body data to Transform
which seems to contain rigid body evaluation; and force fields
to object Transform, since fields can exist on empties.

Differential Revision: https://developer.blender.org/D10088

----------------------------------------
3 Paths Changed]]>
Thu, 22 Apr 2021 14:46:25 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/54d5948eef58ec81e6d8945ad2c0a01d8274931aAlexander Gavrilov
<![CDATA[[78ff852] master: Force Fields: implement early filtering by the Affect flags.]]> http://www.miikahweb.com/en/blender/git-logs/commit/78ff8526808a4fbc3d261155b1e6f873247ff8ce 78ff852
Branches : master
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
Force Fields: implement early filtering by the Affect flags.

Most fields have Affect Location and Rotation options that switch
off their effect, but they are only checked as the last step after
the force is already computed. It is more efficient to check it
when building the list of field objects, just like zero weight.
It is also possible to check the strength-related fields for 0.

As an aside, this adds Location to Texture fields (they don't
handle rotation) and both Location & Rotation checkboxes to
Fluid Flow. Boid and Curve Guide remain without options for
now as they are completely different from others.

Differential Revision: https://developer.blender.org/D10087

----------------------------------------
9 Paths Changed]]>
Tue, 02 Feb 2021 20:03:16 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/78ff8526808a4fbc3d261155b1e6f873247ff8ceAlexander Gavrilov
<![CDATA[[0e42662] : Bone Overlay: support bone wireframe opacity settings.]]> http://www.miikahweb.com/en/blender/git-logs/commit/0e42662bf8825431201370dc43bf8a8cba2c1624 0e42662
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
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 opacity in a uniform way. The other one allows fade
based on the depth between the near and far clip planes in order
to provide an automatic visual cue about which bones are closest.

----------------------------------------
16 Paths Changed]]>
Fri, 29 Jan 2021 16:04:58 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/0e42662bf8825431201370dc43bf8a8cba2c1624Alexander Gavrilov
<![CDATA[[c897885] : Armature: add B-Bone lengthwise scaling and custom handle scaling...]]> http://www.miikahweb.com/en/blender/git-logs/commit/c8978858ded90004d69c242c4c63fb4748dd6346 c897885
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
Armature: add B-Bone lengthwise scaling and custom handle scaling options.

In addition to the base bone transformation itself, B-Bones have
controls that affect transformation of its segments. For rotation
the features are quite complete, allowing to both reorient the
Bezier handles via properties, and to control them using custom
handle bones. However for scaling there are two deficiencies.

First, there are only X and Y scale factors (actually X and Z,
but this is the legacy naming), while lengthwise all segments
have the same scaling. The ease option merely affects the shape
of the curve, and does not cause actual scaling.

Second, scaling can only be controlled via properties, thus
requiring up to 6 drivers per joint between B-Bones to transfer
scaling factors from the handle bone. This is very inefficient.

This patch addresses these deficiencies by adding Length scale
inputs, and providing toggles to apply custom handle local scale
channels to the now four scale-related properties. The 'Length'
name is used to avoid confusion due to the X/Y vs X/Z naming.

The two Length scale inputs control the ratio between the lengths
of the start and end segments of the bone: although for convenience
two inputs are provided, the whole chain is still uniformly scaled
to fit the curve.

A Scale Easing option is provided to multiply the easing value
by the Length scale factors to synchronize them - this produces
a natural scaling effect where both the shape of the curve and
the scale is affected.

The second issue is addressed by providing toggles for each handle
that multiply each of the X, Z, Length and Ease values by the matching
Local Scale channel of the handle bone, thus replacing trivial drivers.
The Scale Easing option has no effect on this process since it's easy
to just enable both Length and Ease buttons.

Finally, 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.

Differential Revision: https://developer.blender.org/D9870

----------------------------------------
15 Paths Changed]]>
Fri, 29 Jan 2021 16:04:58 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/c8978858ded90004d69c242c4c63fb4748dd6346Alexander Gavrilov
<![CDATA[[28394e0] : Copy Transforms: implement Invert, Fix Shear and more Mix options...]]> http://www.miikahweb.com/en/blender/git-logs/commit/28394e03727680253999900bf366aeaf009f8073 28394e0
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
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

----------------------------------------
7 Paths Changed]]>
Fri, 29 Jan 2021 16:04:57 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/28394e03727680253999900bf366aeaf009f8073Alexander Gavrilov
<![CDATA[[640833e] : Limit Rotation: add an Euler Order option and orthogonalize...]]> http://www.miikahweb.com/en/blender/git-logs/commit/640833e6d805849b1e250996ccd4a539ef1351ca 640833e
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
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

----------------------------------------
4 Paths Changed]]>
Fri, 29 Jan 2021 16:04:57 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/640833e6d805849b1e250996ccd4a539ef1351caAlexander Gavrilov
<![CDATA[[68a3a15] : Constraints: add support for a new Owner Local Space for targets...]]> http://www.miikahweb.com/en/blender/git-logs/commit/68a3a15b5df6fcf83932347cb73e623657b4a9b8 68a3a15
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
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`.

(This analogy applies provided both bones use Local Location)

Since the space list is getting long, this adds a couple of separators.

Differential Revision: https://developer.blender.org/D9493

----------------------------------------
5 Paths Changed]]>
Fri, 29 Jan 2021 16:04:57 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/68a3a15b5df6fcf83932347cb73e623657b4a9b8Alexander Gavrilov
<![CDATA[[277e8fb] : Constraints: refactor the D7437 patch adding Custom Space for...]]> http://www.miikahweb.com/en/blender/git-logs/commit/277e8fbfcec155415e09547bc0b1b885b9e8710f 277e8fb
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
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

----------------------------------------
17 Paths Changed]]>
Fri, 29 Jan 2021 16:04:57 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/277e8fbfcec155415e09547bc0b1b885b9e8710fAlexander Gavrilov
<![CDATA[[1fe0f29] : Force Fields: implement early filtering by the Affect flags.]]> http://www.miikahweb.com/en/blender/git-logs/commit/1fe0f296291ea009167cc40b0e1975396f6b04ad 1fe0f29
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
Force Fields: implement early filtering by the Affect flags.

Most fields have Affect Location and Rotation options that switch
off their effect, but they are only checked as the last step after
the force is already computed. It is more efficient to check it
when building the list of field objects, just like zero weight.
It is also possible to check the strength-related fields for 0.

As an aside, this adds Location to Texture fields (they don't
handle rotation) and both Location & Rotation checkboxes to
Fluid Flow. Boid and Curve Guide remain without options for
now as they are completely different from others.

Differential Revision: https://developer.blender.org/D10087

----------------------------------------
9 Paths Changed]]>
Fri, 29 Jan 2021 16:04:57 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1fe0f296291ea009167cc40b0e1975396f6b04adAlexander Gavrilov
<![CDATA[[a898a70] : Depsgraph: connect up drivers on various physics properties.]]> http://www.miikahweb.com/en/blender/git-logs/commit/a898a70f34d0ba79f2f1a4651c2db8e8f1e9a13b a898a70
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
Depsgraph: connect up drivers on various physics properties.

It seems drivers for physics properties weren't being linked to
evaluation nodes. This connects settings used by modifiers
to Geometry; particle settings and rigid body data to Transform
which seems to contain rigid body evaluation; and force fields
to object Transform, since fields can exist on empties.

Differential Revision: https://developer.blender.org/D10088

----------------------------------------
3 Paths Changed]]>
Fri, 29 Jan 2021 16:04:57 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/a898a70f34d0ba79f2f1a4651c2db8e8f1e9a13bAlexander Gavrilov
<![CDATA[[3c7d5ec] master: Surface Deform: fix binding vertex artifacts causing spikes.]]> http://www.miikahweb.com/en/blender/git-logs/commit/3c7d5ec829af1d35f4272b0e4b549d45699af43b 3c7d5ec
Branches : master
Author : Alexander Gavrilov (angavrilov)
----------------------------------------
Surface Deform: fix binding vertex artifacts causing spikes.

There are two issues here. First, like in T81988 there are cases
where the modifier would deform some vertices immediately after
bind. This is caused by wrong assumptions in the code about the
possible relative angles between various vectors, which can cause
negative weights that don't blend correctly to appear.

Specifically, it seems originally the code assumes that the
centroid-point vector in the polygon plane lies somewhere
between the mid-edge vectors. This is however not necessarily
the case for distant vertices, because the polygon is not
guaranteed to be truly planar, so normal projection may be
a bit off. The code has to use signed angles and checks to
support all possible angular arrangements.

The second issue is very thin and long triangles, which tend
to be very spatially unstable in their thin dimension, resulting
in excess deformation. The code was weighting distance using
the distances between the centroid and the mid-edge points, which
in this case end up as nearly opposite vectors of sizable length
and don't correctly represent how thin the triangle actually is.
It is thus better to use centroid-to-line distances, and an
additional even stricter value for the midpoint that will use
only 3 vertices at evaluation time.

Differential Revision: https://developer.blender.org/D10065

----------------------------------------
1 Path Changed]]>
Thu, 28 Jan 2021 11:42:53 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/3c7d5ec829af1d35f4272b0e4b549d45699af43bAlexander Gavrilov