Thanks @mano-wii for providing the patch!
The original code assumed that when `animation_player_preset` was not
`CUSTOM`, the `animation_player` path would be empty. This is a bad
assumption, as it can be quite useful to be able to toggle between a custom
and a built-in player. As such, `animation_player` should not be reset to
an empty string when a non-custom player is chosen.
Cache file loading for mesh and particle files now works through the direct update_structures functions. The final cache mode now also only bakes the most essential files and is therefore not resumable anymore.
The Falloff property in the pose brush controls how much deformation
propagates through the ik chain, not by using the distance to the
vertices, so this option does not make sense (it does nothing in the
pose brush code and it disables the 3d paint cursor).
Reviewed By: jbakker
Maniphest Tasks: T73070
Differential Revision: https://developer.blender.org/D6574
This commits introduces the pose_ik_segments brush property in the Pose Brush. When increasing the IK segments count, the brush generates more segments and weights associations following the topology of the mesh. When moving the brush, these segments are transformed using an IK solver and they are used to deform the mesh.
When pressing Ctrl, the brush controls the segments' roll rotation instead of using the IK solver. The brush falloff controls how much rotation is propagated from the first to the last segment in the chain.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6389
There were two reasons the USD Exporter was listed as experimental:
- Originally there was no deduplication of mesh normals & UV coordinates
(resolved in rBf5e00f735106b5ec635806a4c795a2bc46ae8369), and
- the way materials were exported was incompatible with instancing with
USD 19.07. This seems to be resolved with the current version of USD
(19.11).
Blender (more specifically, `makesdna`) doesn't seem to like empty DNA
structs, so I couldn't remove all properties from
`UserDef_Experimental`. Instead I have just kept `char _pad0[8]`.
Reviewed by: campbellbarton
Differential Revision: https://developer.blender.org/D6519
This defaults to selection when not using a gizmo.
The previous behavior to drag anywhere can be set in the tool settings
or by selecting the fallback tool (Alt-W).
See: T66304
Previously the default values were left non-zero to avoid having to
update scripts. However, this meant it wasn't possible to setup
non-modal key bindings for smooth & randomize.
Now these operators follow logic of many other operators where setting
the value executes immediately, leaving unset runs modal.
Existing keymaps & scripts will need to be updated.
Addresses issue raised in f4a4ec8425.
In Blender 2.81 Look Dev was renamed to Material Preview
also the old look dev HDRIs could also be used in both
cycles and eevee. A more generic name was need.
Currently the action channels are applied after the existing
transformation, as if the action controlled a child of the
bone. This is not very natural, but more importantly, the
transform tools are not designed to work conveniently with an
additional 'pseudo-child' transformation, resulting in effects
like an unexpected pivot location.
Implementing a Before mode that integrates the action channels
as if applied to a parent allows using the special transform
tool code intended for dealing with such constraints.
Note that in either mode, Action constraints should be added
in reverse order, putting a new constraint before the existing
ones that the Action was keyframed to work together.
In order to implement the option, extract a utility from
the Copy Transform constraint code for combining transforms
with special anti-shear scale handling that matches the
Aligned Inherit Scale mode.
The Before mode also requires switching the constraint to
the Local owner space, while the After mode can still use the
World space for efficiency as before. Since the constraint
doesn't have an Owner space option in the UI, this has to be
handled in an RNA setter.
For full backward compatibility, the original simple matrix
multiplication mode is preserved as the third option, but it
is not recommended due to creating shear.
Differential Revision: https://developer.blender.org/D6297
The //Distance from Object// and //Distance from Camera// modifiers still used the old 2.79 matrix multiplication syntax.
Differential Revision: https://developer.blender.org/D6468
Actually, to purge orphans datablock you need go to Outliner, enable Orphan mode and press Purge button (that sometimes is out of the view because the window is too narrow).
To have this option hidden make very difficult to users use and understand what means orphan data, so this patch just adds a new Clean Up menu to File menu with this option. This menu could be used in the future for more clean up options. To have a general Clean Up menu is common used in other softwares.
Reviewed By: billreynish, mont29
Differential Revision: https://developer.blender.org/D6445
This feature makes it possible to do a viewport render (a.k.a.
playblast) by only rendering those frames on which the selected objects
have a keyframe.
The frames to render are stored in a `BLI_bitmap`, which has a bit for
each frame set to 0 (skip) or 1 (render). An alternative approach would
be to construct a set of all keyframes to render, but that would make
both constructing the list and looking up frames in the list more
complex.
The only thing this feature does is skip OpenGL rendering of a frame. As
a result, 'skipped' frames are still included in the output, but just
use the render result of the last-rendered frame. This is exactly what's
described in T72229.
Differential Revision: https://developer.blender.org/D6443
Reviewed By: zeddb
Design task: T72229
option (even though it is being used for the ADD brush)
Add the option to the UI in that single case.
Maniphest Tasks: T72473
Differential Revision: https://developer.blender.org/D6418
Note that this removes image_paint.detect_data from
UnifiedPaintPanel.get_brush_mode, I can't see why it's needed,
it causes issues where the texture paint UI isn't used when it can be.
All panels were calling poll to draw in their section causing a lot of
repeated boiler plate poll functions.
Also rename 'PreferencePanel' to 'CenterAlignMixIn'
since this is it's purpose.
With the brush reorganization included in D5928, the brush panels had covered the topbar and make impossible to use the drawing tools.
Now, the options are grouped in Stroke popover, similar to Sculpt.
Also fixed some missing or wrong texts.
- Use abbreviations min/max
this is used throughout the existing API.
- Rename use_adaptive_stepping to use_adaptive_timesteps
since this is used with timesteps_min/max it's clearer
to use matching terms.
These attributes checked for any baked / baking
since this is a common test that was performed in layout code.
Also follow our naming convention - using an 'is_/has_' prefix
in this case since "cache_baked_data" reads as if it's used to access
the baked data.
With Mantaflow the current smoke modifier UI will accommodate both smoke and liquids.
In addition, there is now an option for Mantaflow liquids in the quick effects section ("Quick Liquid").
Reviewed By: sergey
Maniphest Tasks: T59995
Differential Revision: https://developer.blender.org/D3852
- Use the clip mask context menu for the image editor.
- Remove redundant CLIP_MT_mask_handle_type_menu.
- Remove "Add" items (was only in image mask context menu)
as the convention is not to include these in the context menu.
The tools passed to _tools_flatten, _tools_flatten_with_tool_index
already have dynamic tool items expanded, so there is no need to check
for callable tool items.
This makes a number of changes to the tool settings brush UI:
- All brush-related controls are now grouped together, so you can see which items are brush settings are which are not. Previously it was all jumbled together.
- The brush picker is in a separate panel, so that you can switch brushes without worrying about the settings, or vice versa.
- Custom Icon settings moved from the Display settings(now known as Cursor) to the Brushes panel.
- UnifiedPaintSettings panels are removed and the contained options are now next to their relevant setting with a globe icon toggle. This is not displayed in the header.
- 2D Falloff and Absolute Jitter toggles were changed into enums, to make it clearer what happens when they are on or off.
- Adjust Strength for Spacing option was in the Options panel in some modes, but in the Stroke panel in others. It is now always under Stroke.
- Display (now Cursor) panel was reorganized, settings renamed.
- 2-option enums are annoying as a drop-down menu, so they are now drawn with expand=True.
- Smooth Stroke and Stabilizer options in grease pencil and other paint modes are now both called "Stabilize Stroke", for consistency and clarity.
- De-duplicated some drawing code between various painting modes' brush options. I tried to keep de-duplication reasonable and easy to follow.
- A few more tweaks - see D5928 for the extensive list.
Most of the patch is written by Demeter Dzadik, with some additions by myself
Differential Revision: https://developer.blender.org/D5928
Reviewers: Pablo Dobarro, Bastien Montagne, Matias Mendiola