The operator has some problems with Undo, so better put it in
experimental for now.
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D9007
We can only re-apply overrides fron the old local overrides to the newly
generated ones after all IDs have been properly remapped and renamed.
Otherwise override operations based on ID names may fail.
Related to T81059, found while investigating it.
Part of the code handling deletion of old, not needed anymore local
override IDs, was not working properly, effectively only deleting one
ID ever.
New code should also be a bit faster, though this should not be really
visible from user perspective.
Related to T81059, found while investigating it.
This commit replaces the BVH Tree currently used by the Weld Modifier
with the KD Tree used by `Merge > By Distance`.
This changes the result of the Weld Modifier to more closely match
`Merge > By Distance`.
There is also a big performance advantage.
Here is an overview (models in D8995):
| 2.90 (Duplicate Limit = 0) | 2.90 (Duplicate Limit = 1) | master (BVH) (Duplicate Limit = 1) | patch (KD) |
| 1.69s| 0.17s | 0.12s | 0.029s |
Differential Revision: https://developer.blender.org/D8995
More agressive optimization made the results differ a bit more than the
current error margin would allow. Bump the error margin to be 1e-6
instead of the previous 0.5e-7.
Since the search is applied all in one phase, there is no need to store
a reference to the search filter in every uiBlock. Instead just pass it
as an argument to UI_block_apply_search_filter.
Root of the issue is how we generate the storage ID for the differential
override operations.
However, since those are disabled anyway currently, simply comment out
creation of this copy for now, we can revisit this if/when we decide to
re-activate differential overrides.
Related to T81059, found while investigating it.
Before we would continue checking normal array values even if we knew
that the normal array would be conidered valid.
Break early to avoid excess iterations and make the code more clear what
it is doing.
No functional changes.
In very rare occations, the returned derivates would be the same. This
would lead to the normal calculation breaking (zero normals).
Solution: Add this edge case to the other corner case checks.
Reviewed By: Sergey
This is was caused by incorrectly set `preview_render_size` in VSE
rendering context. Value was set to `SEQ_PROXY_RENDER_SIZE_FULL`, but
it should be `SEQ_PROXY_RENDER_SIZE_SCENE` as scene render size is
being used.
Alternatively we can check for `context->for_render` in
`input_preprocess()`, but I think fix above is more correct.
Reviewed By: sergey, brecht
Maniphest Tasks: T80424
Differential Revision: https://developer.blender.org/D8838
Tag an Action for recalculating animation when it's pushed down onto the
NLA stack, as its effective boundaries change. Normally an Action spans
all of the timeline, and the effects of Cycle modifiers are visible
everywhere. When the Action is converted to an NLA clip, the modifier's
effect should only be visible for the duration of the NLA clip.
Since porting this to C in rB850234c1b10a, Smart UV Project would not
add a UVMap (if none existed already) anymore.
Not having a UVMap already is a reasonable situation though when e.g.
starting off fresh by deleting an existing UVMap or also when applying
certain generative modifiers. This is also inconsistent with all other
unwrap operators (all of them will create a UVMap if none exists
already)
Differential Revision: https://developer.blender.org/D9001
For the final builds instead of leaving all the license files in the main
folder, we move them to a "license" folder.
Also, adding more licenses here (MIT, Apache, ...).
Differential Revision: https://developer.blender.org/D8999
Original was added in rB83f8223543f58c3b0881a03b6e9ddffff91.
Duplicate was added in the merge rB9e09b5c418c0a436e3c84ccf.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8822
Setting the search match flag every time property search runs can
invalidate the results for panel headers. Instead, clear the flag on
every redraw and or the result of every search in the panel to it.
The "bevel_factor" for curves also applies when there is no bevel and
only extrusion. rB4e667ecef92f addressed this by moving the factor
and mapping properties to their own subpanel, but the property
descriptions still don't reflect that. This commit replaces "Bevel" with
"Geometry" for this situation. The property identifiers are not changed.
Own mistake in rB9dcae4eb17d7b.
We cannot use ED_object_constraint_active_list in uiTemplateConstraints
since it is dependent on mode (pose vs. object). Now get object
constraints directly when use_bone_constraints is false.
Note: unfortunately a derivate of this bug has made its way into 2.90.1
Maniphest Tasks: T81057
Differential Revision: https://developer.blender.org/D8989
Do not escape flow / effector objects if they have a disabled use flow / use effector flag.
Vertex velocities still need to be kept track of in order to have correct object velocities when enabling flows / effectors intermittenly. It is possible though to skip the emission loop if the flags are disabled.
This fixes and reverts commit c7287ffaec59cecd4b63b4bb2ea1aaf44f09f704
Due to hardcodded keys, the modifier for auto contrain plane did not
work with custom keymaps and was in conflict with other keyitems.
Its usability is also confusing since it cannot be used without
`MOD_PRECISION`
But instead of removing it, it is better to make this modifier compatible
with custom keymaps and keep the conflict.
Caused by still having 'texture_opacity' in the preests and the preset
operator (but this was removed in the 2.83 rewrite).
Maniphest Tasks: T81081
Differential Revision: https://developer.blender.org/D8990
This code is not used by the new fluid simulation system.
Therefore, it does not make sense to keep it around.
We do want to integrate the fluid system with the generic cache
system eventually, but refactoring the system is easier when there
is less dead code that has to be refactored.
Note, I could not remove BKE_ptcache_id_from_smoke entirely yet,
because the depsgraph seems to expect that object that
uses DEG_add_collision_relations also has a pointcache.
That is because it wants to reset the point cache when any of the
other objects changed (this does not work with fluids currently).
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D8987
Script create_msix_package.py will download the ZIP file
from the given URL. It will create the MSIX package
with the version number and publisher ID given.
Strongly recommended are the path to a valid PFX file, and the
password to use that PFX file. These are needed for signing
the resulting MSIX package. The signing step is optional though,
but the resulting MSIX package cannot be installed outside of the
Microsoft Store
Example
set VERSION=2.83.2.0
set URL=https://download.blender.org/release/Blender2.83/blender-2.83.2-windows64.zip
set PUBID=CN=PUBIDHERE
set PFX=X:\path\to\cert.pfx
set PFXPW=pwhere
python create_msix_package.py --version %VERSION% --url %URL% --publisher %PUBID% --pfx %PFX% --password %PFXPW%
Requirements:
* Python default from the Microsoft Store should do (3.8)
* requests can be installed with `pip install requests`
Note that for an LTS release that gets uploaded to its own LTS application release
in the store you need to specify the `--lts` switch on the command-line to the script.
Upon completion there will be a file with the
name blender-2.83.2.0-windows64.msix. In case PFX file and its password were
given on the command line MSIX package will also be signed for the Microsoft Store.
Related Wiki page: https://wiki.blender.org/wiki/Process/Release_On_Windows_Store
Reviewed By: jbakker
Maniphest Tasks: T77348, T79356
Differential Revision: https://developer.blender.org/D8310
In the end the process is surpringly simple, we only need to manually
convert the proxy itself into an override (which is trivial), and then
run common code with the default 'make override' operation.
Fix T81059: Add operator to convert proxies to library overrides.
Some RNA setters require ID data they operate on to be in G_MAIN.
Unfortunately, when we apply overrides as part of a .blend file reading,
new Main is not yet made global one, so we have to do it temporarily
here.
This is a fairly ugly hack, but it should be harmless and safe.
This is a first step towards supporting conversion of proxies, done
separately to make it easy to pinpoint in case it would create problems.
It is not expected to cause any change in behavior currently.
Constructive modifiers were not initializing an original index layer
in the case a previous deform modifier created 'mesh_final'.
This happened in the case of multiple deform modifiers that deform along
normals, as requesting normals caused the final mesh to be created.
Ensure mapping data is created in the case
only non-constructive modifiers have run.