Revision a482d94 by Pablo Dobarro November 21, 2019, 18:06 (GMT) |
Sculpt: Invert Scrape to Fill After adding normal radius, the main use of the Scrape brush is to create flat surfaces with sharp edges. In that case, it does not make sense to have our current "Peaks" version of the brush as its inverted version. The correct inverted version of Scrape for this use case is the Fill brush. This way you can use this tool to crease both concave and convex sharp edges and to fix the artifacts one version produces with its inverted version. I think we should merge these two tools into one, but for now, this solution keeps compatibility with the old behavior. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6022 |
Revision a47f694 by Pablo Dobarro November 21, 2019, 17:58 (GMT) |
Sculpt: Topology Slide/Relax This commit implements the Topology Slide/Relax brush and the Relax mesh filter. These tools are designed to move the topology on top of the mesh without affecting the volume. The Topology Slide/Relax brush slides the topology of the mesh in the direction of the stroke. When pressing shift, it has an alternative smooth mode similar to the Relax Brush in the sculpt branch. It should be way more stable and produce fewer artifacts. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6059 |
Revision 186bd17 by Pablo Dobarro November 21, 2019, 17:39 (GMT) |
Pose brush: Smooth Iterations Brush Property The smooth iterations of the pose factor were hardcoded to 4. This works fine in most situations when you are posing a low poly mesh, which is the main use case of this tool. I added the smooth iterations as a brush property in case you need to pose a high poly mesh directly without producing artifacts. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6157 |
Revision 470fe59 by Pablo Dobarro November 21, 2019, 17:25 (GMT) |
Sculpt: Mask Slice This operator is similar to Mask Extract, but it deletes the masked points on the original mesh and fills the holes. This can be useful for quickly trimming or splitting an object. This is not meant to be the main trimming tool of sculpt mode. I plan to have a set of trimming tools based on geometry booleans (trim box, lasso, line, bisect...) but in some cases doing a mask selection is more convenient. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6160 |
Revision c3279be by Pablo Dobarro November 21, 2019, 17:16 (GMT) |
Sculpt: Multiplane Scrape Brush The Multiplane Scrape brush creates sharp edges with a given fixed angle by trimming the mesh with two planes in local space at the same time. When working with stylized or hard surface models, this brush produces way better results and is more predictable than any other crease/flatten brush based on curves and alphas. It is also the first brush we have than can produce hard surface concave creases. The Multiplane Scrape Brush also has a dynamic mode where it samples the surface to fit the angle and scrape planes during a stroke. With this mode enabled you can sculpt multiple times over the same edge without creating artifacts. It can also create creases that change between concave and convex during the same stroke. The behavior of this brush will improve after merging patches like D5993 and its behavior in concave creases can still be improved, so I will keep tweaking its parameters and default values once we have all brush properties available. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6174 |
Revision c23dbcf by Alexander Gavrilov November 21, 2019, 17:10 (GMT) |
Bones: implement a new Aligned Inherit Scale mode. Implement one more way of inheriting scale from the parent bone, as an addition to the choices introduced in D5588. This new mode inherits parent scale as if the parent and child were not rotated relative to each other, always applying parent X scale to child X scale and so forth. It is quite natural for connected bone chains with coherent roll, like limbs or tentacles, falling roughly between Average and Fix Shear in how closely the parent scaling is followed. Currently this can be achieved by using Inherit Scale: None plus a Copy Scale with Offset from parent on the child; however, this is cumbersome, and loses the distinction between true local and inherited scale in the child's Local space. This new mode also matches how the Before/After Original mix modes work in the Copy Transforms constraint. On the technical side this mode requires adding a right side scale matrix multiplication into the Local<->Pose conversion, in addition to the existing two left side matrices used for location and orientation. Differential Revision: https://developer.blender.org/D6099 |
Revision 6c9be3b by Pablo Dobarro November 21, 2019, 17:04 (GMT) |
Sculpt: Enable symmetrize operator with Dyntopo disabled After refactoring the mirror modifier and supporting geometry modifications with PBVH_FACES this operator can be easily implemented without Dyntopo. i The symmetrize button and options are still in the Dyntopo pannel. There are patches like doing multiple modifications in the Sculpt mode UI, so we need to find a way to organize this better. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6180 |
Revision 316107d by Pablo Dobarro November 21, 2019, 17:04 (GMT) |
Sculpt: New Clay Brush The previous Clay brush was similar to flatten. Now it has a different plane calculation and falloff, based on the position of the vertices before deforming them, so it feels more like adding clay to the model. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6228 |
Revision c7ade50 by Pablo Dobarro November 21, 2019, 17:02 (GMT) |
Clay Strips: Input pressure curve and new defaults By squaring the pen pressure and disabling BRUSH_SPACE_ATTEN the brush feels like it has a bigger strength range, wich makes it easier to control when applying less pressure in order to smooth sculpted surfaces. Each brush should have a custom input pressure curve by default to get an optimal behaviour and make all brushes consistent, but that is going to take some time to get it right. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6214 |
Revision 15f8227 by Pablo Dobarro November 21, 2019, 16:55 (GMT) |
Sculpt/Paint: Dash Ratio and Dash Samples Dash Ratio and Dash Samples are brush properties to modify the strength of the brush during a stroke. This is useful to create dashed lines in texture paint or stitches in sculpt mode. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D5949 |
Revision 2ec9aa3 by Campbell Barton November 21, 2019, 12:30 (GMT) |
Cleanup: spelling One of the corrections from last cleanup was wrong. |
Revision cee9478 by Philipp Oeser November 21, 2019, 12:20 (GMT) |
Fix T68499: weight paint gradient is broken with generative modifiers Caused by rBac442da4a14d. Above commit tweaked the logic to not only early out, but also set the WPGradient_vertStore screen coord to FLT_MAX in case this original index was visited before [gradientVertInit__mapFunc]. For generative modifiers though, we might get here multiple times for the same orig index, resulting in a valid orig index being made invalid for gradientVertUpdate__mapFunc [which would early out in case of FLT_MAX]. Restored original logic, so that setting FLT_MAX only really happens when it should: when ED_view3d_project_float_object fails... Maniphest Tasks: T68499 Differential Revision: https://developer.blender.org/D6282 |
Revision 1fbb866 by Campbell Barton November 21, 2019, 12:15 (GMT) |
Cleanup: spelling |
Revision 7c18fcb by Campbell Barton November 21, 2019, 12:15 (GMT) |
Cleanup: clang-format Also remove unused vars. |
Revision 355905c by Philipp Oeser November 21, 2019, 12:08 (GMT) |
Fix T67873: View Selected in Graph Editor (Only Selected Curve Keyframes) takes hidden keys into account when calculating zoom Note that with the 'View Only Selected Curve Keyframes' option enabled, it is also possible to select [box/circle/lasso] hidden/non-visible keyframes. Think this should never happen, but that is for a later commit (along some deduplication of animdata filtering code) Reviewed By: Severin, Sybren Maniphest Tasks: T67873 Differential Revision: https://developer.blender.org/D6237 |
Revision c637290 by Campbell Barton November 21, 2019, 12:00 (GMT) |
Cleanup: remove unused value2d gizmo |
Revision 616c2d7 by Campbell Barton November 21, 2019, 12:00 (GMT) |
Missed last commit |
Revision f4a4ec8 by Campbell Barton November 21, 2019, 11:45 (GMT) |
Tool System: make smooth & randomize modal operators Previously these used a gizmo to redo the operator however this complicated having on-screen gizmos to access tools (see T66304). Replace this with a generic way to make an operator that only has an execute function into a modal operator. This is used for smooth and randomize tools. Unlike operator gestures, this handles storing and resetting the data. Currently this only handles edit-mode data, however it's can be extended to other kinds of data. |
Revision 20620af by Campbell Barton November 21, 2019, 11:45 (GMT) |
Object: edit-mode data support for object vertex coordinate access Allows to access/transform/restore edit-mode coordinates in a generic way. |
Revision d98d4fc by Sebastian Parborg November 21, 2019, 11:31 (GMT) |
Fix T62631: Cloth vertex mass capped to a very low number on scaled scenes. Removed the weight limit and made the setting more clear in what it actually does. IE, it controlls the weight of the vertices of the cloth mesh Reviewed By: Brecht Differential Revision: https://developer.blender.org/D5450 |
|