When animators want to key something in the viewport,
the code needs to know *which properties* should be keyed of that selected thing.
So far that was done with keying sets, and a pop-up that let's
you choose the keying set to use. You can get rid of the popup by
choosing a keying set ahead of time. But that is also not always desirable.
That pop-up is quite confusing and gives way too many options.
To simplify this process this PR adds a User Preference option to choose one or more of:
* Location
* Rotation
* Scale
* Rotation Mode
* Custom Properties
Now whenever the `I` key is pressed in the viewport,
and no keying set is enabled, it reads the preferences for which channels to insert.
# User Facing changes
* The popup will not be shown when pressing the hotkey,
but you can still explicitly use keying sets by going to the menu
* Which channels are keyed is defined by a User Preference setting under animation
* when a keying set is used explicitly, the User Preference settings are ignored
Part of #113278
Pull Request: https://projects.blender.org/blender/blender/pulls/113504
Earlier 3d-view keymap was used by particle edit mode for transform
operation. After d7558a243c, this global transform keymap is removed.
So add `_template_items_transform_actions` in particle-edit mode to
allow transforming from shortcuts.
Pull Request: https://projects.blender.org/blender/blender/pulls/115031
Discussed in #114646.
This commit transforms the "alt_navigation" option of the transform
operators into a new modal key item. "PASSTHROUGH_NAVIGATE"
In addition to cleaning up a lot of the code, it allows you to
customize the key chosen to navigate while transforming.
Minor usability enhancement for the walk navigation mode. Previously
walk navigation had local movement for forward/back/left/right,
but only global movement for up/down.
This PR adds local up/down movement, bound to the R and F keys.
Ref: !111682
Add various shortcuts that were missing from the industry compatible
key-map. Various grease pencil shortcuts that were intended to be there
are now present.
These issues are now fixed:
- `Alt A` = Missing from GP sculpt mode.
- `Shift S` = Missing.
- `Shift Alt S` = Insert Blank Keyframe - Not added to Edit mode.
- `Y` = Active Layer Menu - Not added to Edit mode.
- `Shift Y` = Merge Down - Does not exist.
- `Shift Backspace/Delete` = Delete All Active Frames is missing from
every mode except Draw.
- `Backspace/Delete` = Delete Menu is missing from all modes except
Edit.
Regression in [0] which only ran drag events if the press event passed
through.
Resolve using the same logic as select picking
(see: WM_operator_flag_only_pass_through_on_press).
[0]: 4d0f846b93
The last good commit was 8474716abb.
After this commits from main were pushed to blender-v4.0-release. These are
being reverted.
Commits a4880576dc from to b26f176d1a that happend afterwards were meant for
4.0, and their contents is preserved.
Adds context menus and updates existing menus with newly added operators
- Updates menu texts and separators
- Add Point Menu
- Add Stroke and Point Context Menu
Pull Request: https://projects.blender.org/blender/blender/pulls/114172
This adds the keybindings, menu, and functionally for the edit mode transform operators to grease pencil v3.
The transform operation include:
* translate, rotate, scale, change opacity, change radius
Pull Request: https://projects.blender.org/blender/blender/pulls/111836
Simply sets the cyclical property selected strokes. Note this does not add extra geometry like the legacy operator.
Note: also adds a key bind 'alt c' to toggle, same as for curves.
Resolves#113671
Pull Request: https://projects.blender.org/blender/blender/pulls/111904
Create menu similar to legacy GP to expose insert keyframe operation in
user interface. Pressing `I` key will invoke this menu.
(We can further add "key duplicate" and other relevant operation in this menu)
Pull Request: https://projects.blender.org/blender/blender/pulls/113663
Caused by 974edc5885 / 7f9d51853c
You can now type to search directly in the `Add` menu.
Bit unfortunate though that this is not mapped to any shortcut in the
`Industry Compatible` keymap anymore
I think we could just add TAB back (but this time, mapped to
`NODE_MT_add`).
Pull Request: https://projects.blender.org/blender/blender/pulls/113446
This PR implements an initial drawing tool that can already be used for testing.
While this is not fully feature complete (compared to the current grease pencil draw tool) the following is already implemented:
* Pressure support for radius and opacity.
* Material color and vertex color support.
* New active smoothing algorithm based on curve fitting.
* Simplify algorithm as a post-process step.
Some deliberate limitations include:
* The drawing plane is always the front plane. Drawing on surfaces is also not supported.
*
The current approach has not been optimized for performance yet. The goal was to have a straightforward implementation
first and then focus on performance later.
There are numerous parameters in the code that are hard-coded for now. These should be exposed at some point, potentially as user settings.
Pull Request: https://projects.blender.org/blender/blender/pulls/110093
Make the Ctrl+ACCENT_GRAVE hotkey call the 'show all bone collections'
operator (`armature.collection_show_all`), instead of 'show all armature
layers' (`armature.layers_show_all`).
This was the last reference to `armature.layers_show_all`, and the operator
has been removed.
Based on feedback from users this PR brings back the most commonly used
brush shortcuts in sculpt mode. Essentially reverting some of the
changes from #108712
There are multiple reasons behind this decision:
- Anyone coming from a previous version will instinctively reassign the
brush shortcuts to the same keys as before, introducing shortcut
conflicts as a result. Having the shortcuts there by default makes this
case less likely as it makes available brush shortcuts more obvious.
- The default `paint.brush_select` operator is hard to set up manually
and is offering behavior that isn't available with the
`wm.tool_set_by_id` which is far easier to create from the UI
- There are too many brushes available to know which ones are the most
common ones.
There are some additional changes:
- `S` is now used for the Smooth brush.
- Draw brush is now assigned to `V` to avoid conflicts on `X`.
- `Shift T` is using the Scrape instead of Flatten brush.
- `C` is using the Clay Strip instead of Clay brush.
Removing the brush shortcuts can be revisited later once the brush
management is overhauled.
Ref !112898.
Some small adjustments based on user requests from the community.
- The shortcut on 4 for Object Mode was much preferred.
As a compromise the mode pie menu moved to 5.
- The region selection shortcut from the default keymap was not added.
It's now available on Ctrl Shift Alt LMB.
Ref !112628.
This is a followup fixes related to #105298
This PR adds shortcuts to toggle the sidebar, toolbar, channels and
other regions across various editors with the Ctrl-LeftBracket &
Ctrl-RightBracket shortcuts.
An additional shortcut to toggle the Asset Shelf in the 3D Viewport via
Shift Spacebar was also added. This shortcut will be important for
various workflows in the future.
To avoid shortcut conflicts and improve consistency, Ctrl-L is now
consistently being used for select_linked operations.
Ref !112042.
Currently retiming is quite awkward, when you need to retime multiple
strips strips in sync. It is possible to use meta strips, but this is
still not great. This is resolved by implementing selection.
General changes:
Gizmos are removed, since they are designed to operate only on active
strip and don't support selection.
Transform operator code is implemented for retiming data, which allows
more sophisticated manipulation.
Instead of drawing marker-like symbols, keyframes are drawn to
represent retiming data. Retiming handles are now called keys. To have
consistent names, DNA structures have been renamed.
Retiming data is drawn on strip as overlay.
UI changes:
Retiming tool is removed. To edit retiming data, press Ctrl + R, select
a key and move it. When retiming is edited, retiming menu and
context menu shows more relevant features, like making transitions.
Strip and retiming key selection can not be combined. It is possible to
use box select operator to select keys, if any key is selected.
Otherwise strips are selected.
Adding retiming keys is possible with I shortcut or from menu.
Retiming keys are always drawn at strip left and right boundary. These
keys do not really exist until they are selected. This is to simplify
retiming of strips that are resized. These keys are called "fake keys"
in code.
API changes:
Functions, properties and types related to retiming handles are renamed
to retiming keys:
retiming_handle_add() -> retiming_key_add()
retiming_handle_move() -> retiming_key_move()
retiming_handle_remove() -> retiming_key_remove()
retiming_handles -> retiming_keys
RetimingHandle -> RetimingKey
Retiming editing "mode" is activated by setting `Sequence.show_retiming_keys`.
Pull Request: https://projects.blender.org/blender/blender/pulls/109044
Adds the ability to set text cursor position in the Console editor
by clicking with the mouse and many other expected operations such as
cut, select all & deselect on text entry.
Ref !108626
Replace the 'armature layers' operator (which would toggle visibility of
armature layers) with the 'bone collections' menu (which allows assigning
to and unassigning from bone collections). The functionality of these
operators is quite different, but it unifies the behaviour between
armature pose and edit modes.
Selecting which bone collections are visible in the 3D Viewport may be
reintroduced after nestable bone collections are implemented. Otherwise
the list of bone collections will likely become unwieldy.
In armature edit mode, replace the 'bone layers' operator with the 'move
to bone collection' operator. This operator now works in both pose mode
and edit mode, and is available with the 'M' hotkey in either mode.
Remove the Ctrl+G shortcut (remnant of the bone group assignment operator),
and change the 'Pose / Bone Collections' menu so that it handles linked
and overridden data properly. Shift+M now shows that menu too.
After Renaming "Bake Curve" to "Samples to Keys" in #111049,
the name of the `ACTION_OT_sample` operator needed renaming.
That is because the word "sample" is now used to describe FCurve
data in an uneditable state.
Rename to `ACTION_OT_bake_keys` since baking is the
term used in animation to describe the action of creating dense key data.
Pull Request: https://projects.blender.org/blender/blender/pulls/112151
After Renaming "Bake Curve" to "Samples to Keys" in #111049,
the name of the `GRAPH_OT_sample` operator needed renaming.
That is because the word "sample" is now used to describe FCurve
data in an uneditable state.
Rename to `GRAPH_OT_bake_keys` since baking is the term
used in animation to describe the action of creating dense key data.
Pull Request: https://projects.blender.org/blender/blender/pulls/112148
Now that specific menus can be searched directly (see 7f9d51853c),
there is no need to maintain separate search functionality for adding
nodes. This PR removes the add node search. In a way this brings us
closer to the `NodeItem` situation before, but the setup is more
flexible since the menus are more standard and easier to customize.
In the few ways we customized the node search items before, this gives
us the same results as before. Overall the searching is less flexible,
but I think that is just a tradeoff we have to accept for the simplicity
of searching menus. In the future menus could be made more dynamic,
with each builtin node's menu path stored on the node type, similar to
assets. That might be a nice compromise. In the meantime this code
is just dead weight.
Pull Request: https://projects.blender.org/blender/blender/pulls/112056
This operator is a combination of the previous delete operator `frame` mode
and the `active_frames_delete_all` operator.
This also add the delete menu and key binds.
Breaking change since the operator name changes.
Users have been confused about this for a long time.
The term "bake" in the context of animation usually means
to add keys at a given interval without changing the shape of the curve.
The fact that the curve isn't editable after baking was the main issue.
In order to stop the confusion the operator is renamed to "Keys to Samples"
to indicate that there is a conversion happening and that there are no keys afterwards.
The Un-Bake operator has also been changed to "Samples to Keys"
The operator description has been updated to mention that after the conversion
the data is no longer editable.
The "Bake Sound to F-Curves" has been renamed to "Create Samples from Sound"
Pull Request: https://projects.blender.org/blender/blender/pulls/111049
This was needed while testing #96544, now all curve picking selects
bezier knots without handles - the option can be removed.
This is a functional change for the 2.7x keymap, however selecting
bezier points with handles isn't a useful difference to keep.