Commit Graph

11383 Commits

Author SHA1 Message Date
fa3a0697b8 Annotations: Split annotation operators and pointer functions
This allows to have annotation panels and grease pencil object panel at the same time.

Differential Revision: https://developer.blender.org/D6467
2020-01-07 11:34:20 +01:00
b5cef9fc3f GPencil: Fix wrong keymap for Radius thickness (related to T72945) 2020-01-07 09:15:26 +01:00
3a35301fd1 Fix T70821: Hair Radius Is Actually Hair Diameter
Renamed hair tip and root properties to be called diameter rather than radius. The old name was incorrect.
2020-01-06 21:54:56 +01:00
58e88d3816 Industry Compat keymap: Support MMB for immediate transform tool use again
Now this also works for the UV Editor

Note: Only the transform tools currently support this. I would like to make this work for all the tools with gizmos, but need to find the nicest way to do it.
2020-01-06 20:37:47 +01:00
7f3e121926 USD Exporter: removed from experimental features
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
2020-01-06 12:41:15 +01:00
ebe177aead Industry Compat keymap: Fix Polybuild tool not working with this keymap
I ended up simply removing the gizmo entries here - they seem to be no longer needed.
2020-01-05 16:54:08 +01:00
295647212d Industry Compat keymap: Properly support Grease Pencil Edit Mode
Many things weren't working correctly in GP Edit Mode, such as select/deselect/invert all, basic tools, extrude, snap etc.

Now this mode works consistently with other modes.
2020-01-05 12:43:16 +01:00
5c66739b78 Fix T72897: Move Channels operator moves Grease Pencil Layers wrongly
This operator was pending of fix.
2020-01-04 22:02:21 +01:00
819be3639c Industry Compat keymap: Support the recently added Drag option
This also simplifies the keymap a lot, since I can now remove a lot of hacky exceptions to make box select work with the gizmo-tools.
2020-01-04 14:33:11 +01:00
9fec9c6a0f Industry Compat keymap: Support 1-3 keys in the UV Editor when Sync Selection is enabled
This also makes it possible to hold Shift to enable multiple selection modes in Edit Mode
2020-01-04 14:26:26 +01:00
d8dc310103 Keymap: default to gizmo drag when LMB select is in use
Enable by default since it allows selection
without gizmos getting in the way which is a common annoyance.

Although this has the drawback that subtle adjustments with
gizmos won't be detected until the drag threshold is reached.
2020-01-03 14:12:28 +11:00
b423b89127 Tool System: enable fallback tool by default
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
2020-01-03 14:04:11 +11:00
a8ce9a143a Tool System: store the fallback tool for re-use
The fallback tool was run-time only data,
now it's stored in the blend file.
2020-01-03 12:34:55 +11:00
de530a95dc Transform: Pose: Partial support for Auto IK + X-Mirror
Fix T69572

TODO: support `Relative-Mirror` as well.

Maniphest Tasks: T69572

Differential Revision: https://developer.blender.org/D5862
2020-01-02 12:53:46 -03:00
461261c18d Fix T69207: Surface objects showed curves ADD menu (Shift+A) in editmode 2020-01-02 15:50:58 +01:00
86832ececc Tool System: adjust Smooth/Randomize modal operator behavior
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.
2020-01-02 17:18:42 +11:00
c2a37867f2 UI: Remove leftover look dev (rename to HDRI preview)
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.
2019-12-27 14:38:45 -06:00
33eabb8220 Action Constraint: introduce a mix mode setting.
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
2019-12-24 19:58:09 +03:00
Robert Guetzkow
d9ec25844b Fix T72636: Error with matrix multiplication in freestyle modifier
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
2019-12-23 23:40:09 -03:00
2ff996040d Fix T72555: Brush Radius/Size and Strength not linked on header tools settings when Unified Brush is active
Patch by Demeter Dzadik

Differential Revision: https://developer.blender.org/D6473
2019-12-23 17:28:47 +01:00
39112a4f7b UI: Remove orphan datablocks directly from File->Clean Up menu
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
2019-12-20 17:35:26 +01:00
7dd6e034f1 Animation: Added option to playblast only keyframes of selected objects
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
2019-12-19 16:00:10 +01:00
56fc0f411f Fix T72473: Particle hair: X mirror UI doesnt show 'topology mirror'
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
2019-12-19 14:21:38 +01:00
076cedc777 Fix error drawing topbar popovers without a brush 2019-12-19 20:05:40 +11:00
f7611126b6 Fix error drawing paint UI without a brush
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.
2019-12-19 20:05:40 +11:00
7ba1489bd7 Cleanup: use 'context' to make panels show in their section
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.
2019-12-19 13:30:18 +11:00
f98e2c0427 Cleanup: add sections to preferences UI script
Makes navigating between sections easier, order some classes
which were in the wrong section.
2019-12-19 13:20:37 +11:00
da6929488a Fix panel for USD experimental showing for all sections 2019-12-19 09:47:13 +11:00
8bab865539 Fix T72289: FreeStyle python error
Introduced by {T67981}. We changed the python API for curve evaluation.
Freestyle still used the old call that failed. This patch updates
FreeStyle to use the new API. I checked other areas in freestyle but it
seemed to be the only `evaluate` for curves that is called directly.

Reviewed By: zeddb

Differential Revision: https://developer.blender.org/D6430
2019-12-18 11:00:50 +01:00
0b60fb5ec2 GPencil: Cleanup - Remove duplicated code 2019-12-17 17:27:49 +01:00
7267d1fe30 GPencil: Fix brush panels after UI reorganization
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.
2019-12-17 17:14:16 +01:00
5f79e0d8f7 USD: Only show in experimental features when built with USD support
Previously the USD Exporter was always visible in the Experimental Features
user preferences tab, even when Blender was built with `WITH_USD=OFF`.
2019-12-17 17:00:18 +01:00
4b62d98984 Fluid: Fix python script after refactor
Missing part in 2564e2a2ad.
2019-12-17 11:13:00 +01:00
2564e2a2ad Cleanup: RNA naming
- 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.
2019-12-17 14:49:11 +11:00
8676491090 Cleanup: de-duplicate check for un-baked guide
Also simplify particle combined export checks
2019-12-17 14:33:01 +11:00
de8a19077e Cleanup: rename effec -> effector
Effector is already used elsewhere for this purpose.
2019-12-17 14:06:47 +11:00
ca277d7d60 Cleanup: renaming guiding -> guide
The term guide makes sense on it's own in this context.
2019-12-17 14:00:19 +11:00
79e51d9e5f Cleanup: replace verbose checks with read-only attributes
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.
2019-12-17 13:03:52 +11:00
a977cb0445 Cleanup: use single quotes for enum values 2019-12-17 12:55:56 +11:00
647d54a36d Cleanup: remove unused variables 2019-12-17 12:53:45 +11:00
eb98cbb8c5 Fix: Missing category in IMAGE_PT_paint_settings_advanced panel
Addresses raised concern in fb74dcc5d6
2019-12-16 16:34:16 +01:00
4235fe37d6 Mantaflow [Part 3]: Customized UI for Manta fluids
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
2019-12-16 16:30:10 +01:00
f3dadd4115 UI: de-duplicate mask context menu
- 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.
2019-12-16 16:48:51 +11:00
e720661b7d Cleanup: move mask menu out of bl_operators
This file only defined a single mask menu, move the definition
along-side the other mask menus.
2019-12-16 16:31:57 +11:00
85f8690555 Cleanup: remove redundant dynamic tool expansion
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.
2019-12-16 15:40:20 +11:00
165afb3ad0 Cleanup: pep8, unused vars, line length 2019-12-16 14:54:32 +11:00
80062e6305 Cleanup: use static sets 2019-12-16 13:43:45 +11:00
3b163483c4 Industry Compat keymap: Fix paint mode context menus 2019-12-15 19:46:34 +01:00
dfe965bee2 UI: tweaks to the brush Stroke panel
- Make sure the spacing controls are together
  - Add separators around the dash controls
2019-12-14 21:41:29 +01:00
fb74dcc5d6 UI: Brush Settings overhaul
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
2019-12-14 18:48:18 +01:00