Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-26GPencil: Small UI change in overlay for consistencyAntonio Vazquez
To keep consistency is better add the word `Inactive` for `Fade Layers` and `Fade Objects` to keep the same naming used in other areas of the overlay panel. Reviewed by: Matias Mendiola
2022-07-26Fix T99984: Small GPencil overlay UI bugs in Edit ModeAntonio Vazquez
This commit fixes the opacity for curves hiding the option. Actually, the curve points and handles drawing is using the same code that mesh curves and the opacity is not supported. While this feature will be added for mesh curves and gpencil, now it's better to hide this option. Reviewed: Matias Mendiola Note: The handle problem reported in this task was fixed in a separated commit: 203e7ba3320e7ed978ec094efa0c1b22137fb12a
2022-07-21Cleanup: formatCampbell Barton
2022-07-19Curves: Hide snapping menu in curves sculpt modeHans Goudey
The menu/popover doesn't affect anything in the mode, and precision operations that would use snapping are meant for edit mode anyway.
2022-07-08Hair Curves: The new curves object is now availableDalai Felinto
This commit doesn't implement any new feature but makes the new curves object type no longer experimental. Documentation: * https://docs.blender.org/manual/en/3.3/modeling/curves/primitives.html#empty-hair * https://docs.blender.org/manual/en/3.3/sculpt_paint/curves_sculpting/introduction.html Note: This also makes the Selection Paint tool available. This tool should have been moved out of the "New Curves Tool" flag when we got the selection drawing to work. Differential Revision: https://developer.blender.org/D15402
2022-07-07LibOverride: Make fully editable when creating an experimental user setting.Bastien Montagne
This is temporary to investigate which behavior should be kept when creating an override hierarchy if there are no cherry-picked data defined: make all overrides user-editable, or not. This removes the 'make override - fully editable' menu entries.
2022-07-07Curves: Add sculpt selection overlayHans Goudey
This commit adds visualization to the selection in curves sculpt mode. Previously it was only possible to see the selection when it was connected to a material. In order to obstruct the users vision as little as possible, the selected areas of the curve are left as is, but a dark overlay is drawn over unselected areas. To make it work, the overlay requests the selection attribute and then ensures that the evaluation is complete for curves. Then it retrieves the evaluated selection GPU texture and passes that to the shader. This reuses the existing generic attribute extraction system because there currently wouldn't be any benefits to dealing with selection separately, and because it avoids duplication of the logic that extracts attributes from curves and evaluates them if necessary. Differential Revision: https://developer.blender.org/D15219
2022-07-01Sculpt Curves: UI tweaks and shortcutDalai Felinto
* Minimum Distance -> Distance Mix * Max Count -> Count Max * Shift + A for selection grow This follows better the names we have in geometry nodes in the Distribute Points node when using the Poisson Disk method (Distance Min, Distance Max). The shortcut for the selection grow is the same we use in mesh sculpt for the Expand Mask operator (which behaves a bit similar).
2022-06-30Curves: New tools for curves sculpt mode.Jacques Lucke
This commit contains various new features for curves sculpt mode that have been developed in parallel. * Selection: * Operator to select points/curves randomly. * Operator to select endpoints of curves. * Operator to grow/shrink an existing selection. * New Brushes: * Pinch: Moves points towards the brush center. * Smooth: Makes individual curves straight without changing the root or tip position. * Puff: Makes curves stand up, aligning them with the surface normal. * Density: Add or remove curves to achieve a certain density defined by a minimum distance value. * Slide: Move root points on the surface. Differential Revision: https://developer.blender.org/D15134
2022-06-30Transform Snap: nearest face snap mode, snapping options, refactoring.jon denning
This commit adds a new face nearest snapping mode, adds new snapping options, and (lightly) refactors code around snapping. The new face nearest snapping mode will snap transformed geometry to the nearest surface in world space. In contrast, the original face snapping mode uses projection (raycasting) to snap source to target geometry. Face snapping therefore only works with what is visible, while nearest face snapping can snap geometry to occluded parts of the scene. This new mode is critical for retopology work, where some of the target mesh might be occluded (ex: sliding an edge loop that wraps around the backside of target mesh). The nearest face snapping mode has two options: "Snap to Same Target" and "Face Nearest Steps". When the Snap to Same Object option is enabled, the selected source geometry will stay near the target that it is nearest before editing started, which prevents the source geometry from snapping to other targets. The Face Nearest Steps divides the overall transformation for each vertex into n smaller transformations, then applies those n transformations with surface snapping interlacing each step. This steps option handles transformations that cross U-shaped targets better. The new snapping options allow the artist to better control which target objects (objects to which the edited geometry is snapped) are considered when snapping. In particular, the only option for filtering target objects was a "Project onto Self", which allowed the currently edited mesh to be considered as a target. Now, the artist can choose any combination of the following to be considered as a target: the active object, any edited object that isn't active (see note below), any non- edited object. Additionally, the artist has another snapping option to exclude objects that are not selectable as potential targets. The Snapping Options dropdown has been lightly reorganized to allow for the additional options. Included in this patch: - Snap target selection is more controllable for artist with additional snapping options. - Renamed a few of the snap-related functions to better reflect what they actually do now. For example, `applySnapping` implies that this handles the snapping, while `applyProject` implies something entirely different is done there. However, better names would be `applySnappingAsGroup` and `applySnappingIndividual`, respectively, where `applySnappingIndividual` previously only does Face snapping. - Added an initial coordinate parameter to snapping functions so that the nearest target before transforming can be determined(for "Snap to Same Object"), and so the transformation can be broken into smaller steps (for "Face Nearest Steps"). - Separated the BVH Tree getter code from mesh/edit mesh to its own function to reduce code duplication. - Added icon for nearest face snapping. - The original "Project onto Self" was actually not correct! This option should be called "Project onto Active" instead, but that only matters when editing multiple meshes at the same time. This patch makes this change in the UI. Reviewed By: Campbell Barton, Germano Cavalcante Differential Revision: https://developer.blender.org/D14591
2022-06-23Cleanup: Clang tidyHans Goudey
Mainly duplicate includes and else after return.
2022-06-16Fix T98904: GPencil sculpt brushes break after you delete a brushAntonio Vazquez
There were two problems here: 1) Console warnings due to brush was None. 2) It was impossible to recreate a brush. This patch fixes both issues and it is now possible to recreate any brush. Differential Revision: https://developer.blender.org/D15213 Reviewed by: @dflelinto
2022-06-02Cleanup: Simplify curves toolbar drawing logicHans Goudey
Use `elif` to clarify that only one case happens.
2022-06-02Cleanup: remove "<pep8 compliant>" from headersCampbell Barton
It can be assumed that all scripts comply with basic pep8 formatting regarding white-space, indentation etc. Also remove note in best practices page & update `tests/python/pep8.py`. If we want to exclude some scripts from make format, this can be done by adding them to `ignore_files` in: source/tools/utils_maintenance/autopep8_format_paths.py Or using `# nopep8` for to ignore for individual lines. Ref T98554
2022-05-31Curves: Add soft selection in sculpt modeHans Goudey
This commit adds a float selection to curve control points or curves, a sculpt tool to paint the selection, and uses the selection influence in the existing sculpt brushes. The selection is the inverse of the "mask" from mesh sculpt mode currently. That change is described in more detail here: T97903 Since some sculpt tools are really "per curve" tools, they use the average point selection of all of their points. The delete brush considers a curve selected if any of its points have a non-zero selection. There is a new option to choose the selection domain, which affects how painting the selection works. You can also turn the selection off by clicking on the active domain. Sculpt brushes can be faster when the selection is small, because finding selected curves or points is generally faster than the existing brush intersection and distance checks. The main limitation currently is that we can't see the selection in the viewport by default. For now, to see the selection one has to add a simple material to the curves object as shown in the differential revision. And one has to switch to Material Preview in the 3d view. Differential Revision: https://developer.blender.org/D14934
2022-05-23Cleanup: formattingAaron Carlisle
2022-05-20LibOverride: Add option to Hierarchy Creation to get all data user-editable ↵Bastien Montagne
by default. Avoids having to manually enable data-blocks for user-edition when you do not care about what should be edited by whom. Similar to default behavior before introduction of system overrides (aka non-user-editable overrides).
2022-05-18Cleanup: remove unused variables, redundant assignmentsCampbell Barton
2022-05-12Cleanup: formatCampbell Barton
2022-05-11Curves: Adjust sculpt mode UI layoutsHans Goudey
This patch adjusts the UI layouts for the tool header and the tool properties in sculpt mode in a few ways. The goals are to better group related settings, keep fundamental settings easily accessible, fix the availability of some options, and make better use of space. 1. Remove ID template in tool header 2. Rename "Add Amount" to "Count" for add brush 3. Add "use pressure" toggles to radius and strength sliders 4. Move strength falloff to a popover 5. Move many "Add" brush settings to popover called "Curve Shape" 6. Move two "Grow/Shrink" options to a popover called "Scaling" 7. Don't display "Falloff" panel in properties when it has no effect See the differential revision for screenshots and more reasoning. Differential Revision: https://developer.blender.org/D14922
2022-05-11Mesh: Add Auto Smooth option to Shade Smooth operatorPablo Vazquez
Add a property to the **Shade Smooth** operator to quickly enable the Mesh `use_auto_smooth` option. The `Angle` property is exposed in the **Adjust Last Operation** panel to make it easy to tweak on multiple objects without having to go to the Properties editor. The operator is exposed in the `Object` menu and `Object Context Menu`. === Demo === {F13066173, size=full} Regarding the implementation, there are multiple ways to go about this (like making a whole new operator altogether), but I think a property is the cleanest/simplest. I imagine there are simpler ways to achieve this without duplicating the `use_auto_smooth` property in the operator itself (getting it from the Mesh props?), but I couldn't find other operators doing something similar. Reviewed By: #modeling, mont29 Differential Revision: https://developer.blender.org/D14894
2022-05-10Curves: Interpolate point count in add brushHans Goudey
This commit adds an option to interpolate the number of control points in new curves based on the count in neighboring existing curves. The idea is to provide a more automatic default than manually controlling the number of points in a curve, so users don't have to think about the resolution quite as much. Internally, some utilities for creating new curves are extracted to a new header file. These can be used for the various nodes and operators that create new curves. The top-bar UI will be adjusted in a separate patch, probably moving all of the settings that affect the size and shape of the new curves into a popover. Differential Revision: https://developer.blender.org/D14877
2022-05-09Merge branch 'blender-v3.2-release'Bastien Montagne
2022-05-09Fix T97915: Regression: Blender doesn't translate viewpoint menu items.Bastien Montagne
Another mistake in rBdb3f5ae48aca.
2022-05-06Cleanup: Trailing white-spaceDalai Felinto
2022-05-06UI: Expand the Snap Curves to Surface operatorDalai Felinto
The different methods are too different. It is worth having them as individual choices by the users. Differential Revision: https://developer.blender.org/D14873
2022-05-06Curves: use old Add > Curve menu for new curves objectJacques Lucke
* Removes the `Curves` menu (leaving only `Curve`). * The `Curve > Random` option is still useful for testing, but it's under the second experimental flag so that it is turned off when only the "master ready" features are enabled. Differential Revision: https://developer.blender.org/D14861
2022-05-05Curves: control number of control points in new curvesJacques Lucke
Previously, the number of control points in a new curve was hardcoded. Differential Revision: https://developer.blender.org/D14857
2022-05-05Curves: unify "Front Faces Only" name with mesh sculpt modeJacques Lucke
2022-05-04Curves: support symmetry in curves sculpting brushesJacques Lucke
This adds support for X/Y/Z symmetry for all brushes in curves sculpt mode. In theory this can be extended to support radial symmetry, but that's not part of this patch. It works by essentially applying a brush stroke multiple with different transforms. This is similiar to how symmetry works in mesh sculpt mode, but is quite different from how it worked in the old hair system (there it tried to find matching hair strands on both sides of the surface; if none was found, symmetry did not work). Differential Revision: https://developer.blender.org/D14795
2022-05-03Merge branch 'blender-v3.2-release'Campbell Barton
2022-05-03Cleanup: auto-formatCampbell Barton
2022-05-02GPencil: New Sculpt Auto masking optionsAntonio Vazquez
Now it's possible to use auto masking at 3 levels: * Stroke * Layer * Material The masking options can be combined and allows to limit the effect of the sculpt brush. Diff Revision: https://developer.blender.org/D14589
2022-05-02Curves: support spherical delete brushJacques Lucke
Differential Revision: https://developer.blender.org/D14797
2022-04-30XR: Add object extras, object types visibility session optionsPeter Kim
This allows object extras such as image-empties to be shown in the VR viewport/headset display. Being able to see reference images in VR can be useful for architectural walkthroughs and 3D modeling applications. Since users may not want to see all object extras (lights, cameras, etc.), per-object-type visibility settings are also added as session options. By slightly refactoring the definition of the 3D View object types visibility panel (note: no functional changes), the VR Scene Inspection add-on can show a similar panel without duplicating code. When VR selection is possible in the future, the object type select options can also be enabled. Reviewed By: Severin Differential Revision: https://developer.blender.org/D14220
2022-04-25Sculpt: Remove hardcoded setting ofJoseph Eagar
auto-iteration property in mask filter Note: Auto-iteration is still set manually for increase/decrease contrast. These should probably become their own operators.
2022-04-21Curves: show sculpt tool settings in panelsJacques Lucke
Ref T97444. Differential Revision: https://developer.blender.org/D14700
2022-04-19Cleanup: remove unused codeJacques Lucke
2022-04-19Cleanup: run autopep8 on release/scripts/startup/Campbell Barton
2022-04-15Object: Set Parent (Keep Transform Without Inverse)Wayde Moss
**Relevant to Artists:** This patch adds an option to the Parenting menu, `Object (Keep Transform Without Inverse)`, and Apply menu, `Parent Inverse`. The operators preserve the child's world transform without using the parent inverse matrix. Effectively, we set the child's origin to the parent. When the child has an identity local transform, then the child is world-space aligned with its parent (scale excluded). **Technical:** In both cases, the hidden parent inverse matrix is generally set to identity (cleared or "not used") as long as the parent has no shear. If the parent has shear, then this matrix will not be entirely cleared. It will contain shear to counter the parent's shear. This is required, otherwise the object's local matrix cannot be properly decomposed into location, rotation and scale, and thus cannot preserve the world transform. If the child's world transform has shear, then its world transform is not preserved. This is currently not supported for consistency in the handling of shear during the other parenting ops: Parent (Keep Transform), Clear [Parent] and Keep Transform. If it should work, then another patch should add the support for all of them. Reviewed By: sybren, RiggingDojo Differential Revision: https://developer.blender.org/D14581
2022-04-11UI: make snap self inactive if proportional editingEthan-Hall
When using proportional editing, the 'project onto self' snap setting is ignored since proportional editing does not allow snapping to self. The UI should reflect this fact. This patch makes 'project onto self' active only when proportional editing is off. Reviewed By: mano-wii Differential Revision: https://developer.blender.org/D14496
2022-04-08GPencil: Fix unreported missing Sculpt popover menuAntonio Vazquez
The menu with the options was not visible because the tool checked must be the sculpt, not draw. This was broken in old version, but I cannot determine when or if never worked at expected.
2022-04-08Curves: expose convert to particle system operator in sculpt modeJacques Lucke
Ref T96889.
2022-04-07Curves: improve Add menu for new curves objectJacques Lucke
The goal is to make the Add menu more convenient for the new curves object. The following changes are done: * Add `curves` submenu. * Add an `Empty Hair` operator that also sets the surface object. * Rename the old operator to `Random`. It's mostly for testing at this point. Differential Revision: https://developer.blender.org/D14556
2022-04-07Curves: operator to snap curves to surfaceJacques Lucke
This operator snaps the first point of every curve to the corresponding surface object. The shape of individual curves or their orientation is not changed. There are two different attachment modes: * `Nearest`: Move each curve so that the first point is on the closest point on the surface. This should be used when the topology of the surface mesh changed, but the shape generally stayed the same. * `Deform`: Use the existing attachment information that is stored for curves to move curves to their new location when the surface mesh was deformed. This generally does not work when the topology changed. The purpose of the operator is to help setup the "ground truth" for how curves are attached to the surface. When the ground truth surface changed, the original curves have to be updated as well. Deforming curves based on an animated surface will be done with geometry nodes independent of the operator. In the UI, the operator is currently exposed in curves sculpt mode in the `Curves > Snap Curves to Surface` menu. Differential Revision: https://developer.blender.org/D14515
2022-04-05Refactor: Unify vertex and sculpt colors into newJoseph Eagar
color attribute system. This commit removes sculpt colors from experimental status and unifies it with vertex colors. It introduces the concept of "color attributes", which are any attributes that represents colors. Color attributes can be represented with byte or floating-point numbers and can be stored in either vertices or face corners. Color attributes share a common namespace (so you can no longer have a floating-point sculpt color attribute and a byte vertex color attribute with the same name). Note: this commit does not include vertex paint mode, which is a separate patch, see: https://developer.blender.org/D14179 Differential Revision: https://developer.blender.org/D12587 Ref D12587
2022-04-05Curves: new Grow/Shrink brushJacques Lucke
This adds a new Grow/Shrink brush which is similar to the Length brush in the old hair system. * It's possible to switch between growing and shrinking by hold down ctrl and/or by changing the direction enum. * 3d brush is supported. * Different brush falloffs are supported. * Supports scaling curves uniformly or shrinking/extrapolating them. Extrapolation is linear only in this patch. * A minimum length settings helps to avoid creating zero-sized curves. Differential Revision: https://developer.blender.org/D14474
2022-04-04Pose library: remove much of old pose library interfaceSybren A. Stüvel
Remove much of the old legacy pose library: - Remove from the Pose & Armature menus. - Remove from the default keymap. - Pose Library panel in Armature properties: Add "(legacy)" to title. - Add note that the functionality of that panel is obsolete, with a button that opens the manual on the chapter of the new pose library. - Add button to convert the selected legacy pose library to pose assets. - The rest of the functionality is greyed out to further communicate it's been deprecated. It's still functional, though. Ref: T93405
2022-03-30Curves: support converting curves to legacy hair systemJacques Lucke
This adds a new operator that converts all selected curves objects into hair particle systems on their respective surface objects. Existing particle systems with the correct name are updated, otherwise a new particle system is added. The purpose of the operator is the make the new curve sculpting tools useful even before all functionality is ported over from the old hair system. The operator can be found in the `Object > Convert` menu in object mode, when a curves object is active. Differential Revision: https://developer.blender.org/D14441
2022-03-30Apply Object Transform: Multi-user data supportDalai Felinto
The current behaviour is to prevent multi-user data from having its transformation applied. However in some particular cases it is possible to apply them: * If all the users of the multi-user data are part of the selection. * If not all the users are in the selection but the selection is made single-user. The active object is used as reference to set the transformation of the other selected objects. Note: For simplicity sake, this new behaviour is only available if all the selection is using the same data. Differential Revision: https://developer.blender.org/D14377