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
2019-06-28Remove Sticky option from the Floor constraintSergey Sharybin
This option from the very beginning of its existence needed more work to make it work correct and this was never done. This option was working fine during continuous playback, when there are no skipped frames, but it was failing when AV-sync of framedrop was enabled. It was never working correct when jumping between frames, including rendering on a farm which usually does frame-range based rendering. With copy-on-write things became even more tricky, since the "stuck" flag was never preserved between re-evaluations. Fixes T65683: Sticky Option in Floor Constraint for Bones Not Working
2019-05-21Cleanup: pep8Campbell Barton
2019-05-08Copy Scale: support raising the copied scale to an arbitrary power.Alexander Gavrilov
Since scale is multiplicative, the appropriate way to partially copy it is to use power. However, the influence slider of constraints uses linear interpolation. Thus, there is no way to correctly split scale via constraints without adding this feature. In addition, this allows inverting scale by using negative powers, fulfilling the function of Copy Rotation's Invert checkboxes.
2019-05-08Disable Constraint and Keep TransformSybren A. Stüvel
A 'Disable and Keep Transform' button for constraints was added. This allows animators to disable a constraint without moving the constrained object/bone, making it easier to toggle constriants on and off without any visual consequence. Typical usage would be a character picking up an object (enable 'Copy Transform' constraint) and placing it somewhere else (disable the constraint). Note that there could still be movement when there are muliple constraints active. For example, when using this constraint stack - #1: Copy Transform from Empty.001 - #2: Copy Rotation from Empty.002 and disabling constraint #2, constraint #1 is still active and will still modify the visual transform of the object. According to our in-house animators, this is expected behaviour. Reviewers: campbellbarton, dfelinto, sergey Reviewed By: campbellbarton Subscribers: brecht Tags: #animation Differential Revision: https://developer.blender.org/D4677
2019-05-07Spline IK: support using both original scaling and volume preservation.Alexander Gavrilov
Add a new option that makes the Spline IK solver apply volume preservation on top of the original scaling, considering the pre-IK scale of the bone as the goal volume to be preserved. This basically works similar to the Stretch To constraint, and allows easily rigging a stretchy chain that uniformly follows its parent's scaling. Since the Stretch To behavior is more familiar, the new option is on by default for newly created Spline IK constraints.
2019-05-06Maintain Volume: introduce an option switching between modes.Alexander Gavrilov
After a lot of thinking about this, I decided that all operation modes that I've tried over the past couple of years, including the original 2.79 one, have their uses after all. Thus the only reasonable solution is to add yet another option. The modes are: - Strict: The current 2.80 mode, which overrides the original scaling of the non-free axes to strictly preserve the volume. This is the most obvious way one would expect a 'Maintain Volume' constraint to work. - Uniform: The original 2.79 mode, which assumes that all axes have been scaled the same as the free one when computing the volume. This seems strange, but the net effect is that when simply scaling the object uniformly with S, the volume is preserved; however, scaling the non- free axes individually allows deviating from the locked volume. This was obviously intended as a more or less convenient UI tool. - Single Axis: My own variant of the intent of the Uniform scale, which does volume-preserving if the object is scaled just on the Free axis, while passing the non-free axis scaling through. I.e. instead of uniform S scaling, the user has to scale the object just on its primary axis to achieve constant volume. This can allow reducing the number of animation curves when only constant volume scaling is needed, or be an easier to control tool inside a complex rig.
2019-04-19Cleanup: mark unused arguments in UI scriptsCampbell Barton
Quiet's pylint W0613 warning, also remove some unused args.
2019-04-16Spline IK: support changing individual bone length via Y scaling.Alexander Gavrilov
Previously Spline IK provided only two choices: either scale the length of the bone chain to fit the length of the curve, or don't scale the bone in the Y dimension at all (ignoring effects of actually fitting to the curve due to curvature and curve object scale). This patch adds a new option to use the pre-IK Y scale of the bones to adjust their length when fitted to the curve, allowing individual posing control over the length of the segments. Reviewers: brecht Differential Revision: https://developer.blender.org/D4687
2019-03-27Fix T61559: show object constraints also when in pose mode, remove warning.Brecht Van Lommel
This was originally added in 6feddb8b61df, but the warning is quite clumsy and we also don't limit editing object transforms that way. The add constraint button at the top now also indicates if it's for objects or bones, which was not the case before and probably was part of the confusion. If it does still cause issues we can always change back or hide the tab.
2019-03-14Cleanup: unused importsCampbell Barton
2019-01-30Cleanup: line lengthCampbell Barton
2018-12-18Cleanup: python quotesCampbell Barton
2018-11-23Cleanup: single quote enumsCampbell Barton
2018-11-06Shrinkwrap: new mode that projects along the target normal.Alexander Gavrilov
The Nearest Surface Point shrink method, while fast, is neither smooth nor continuous: as the source point moves, the projected point can both stop and jump. This causes distortions in the deformation of the shrinkwrap modifier, and the motion of an animated object with a shrinkwrap constraint. This patch implements a new mode, which, instead of using the simple nearest point search, iteratively solves an equation for each triangle to find a point which has its interpolated normal point to or from the original vertex. Non-manifold boundary edges are treated as infinitely thin cylinders that cast normals in all perpendicular directions. Since this is useful for the constraint, and having multiple objects with constraints targeting the same guide mesh is a quite reasonable use case, rather than calculating the mesh boundary edge data over and over again, it is precomputed and cached in the mesh. Reviewers: mont29 Differential Revision: https://developer.blender.org/D3836
2018-11-06Implement an Armature constraint that mimics the modifier.Alexander Gavrilov
The main use one can imagine for this is adding tweak controls to parts of a model that are already deformed by multiple other major bones. It is natural to expect such locations to deform as if the tweaks aren't there by default; however currently there is no easy way to make a bone follow multiple other bones. This adds a new constraint that implements the math behind the Armature modifier, with support for explicit weights, bone envelopes, and dual quaternion blending. It can also access bones from multiple armatures at the same time (mainly because it's easier to code it that way.) This also fixes dquat_to_mat4, which wasn't used anywhere before. Differential Revision: https://developer.blender.org/D3664
2018-10-18Cleanup: styleCampbell Barton
2018-10-17Shrinkwrap: implement the use of smooth normals in constraint & modifier.Alexander Gavrilov
- Use smooth normals to displace in Above Surface mode. - Add an option to align an axis to the normal in the constraint. I've seen people request the alignment feature, and it seems useful. For the actual aligning I use the damped track logic. In order to conveniently keep mesh data needed for normal computation together, a new data structure is introduced. Reviewers: mont29 Differential Revision: https://developer.blender.org/D3762
2018-10-01Shrinkwrap Constraint: implement projection features from the modifier.Alexander Gavrilov
Allow raycasting in two directions and culling front or back faces. Also implement a new Invert Cull option in both constraint and modifier that can be used to aim for faces aligned with the project axis direction when raycasting both ways. Reviewers: mont29 Differential Revision: https://developer.blender.org/D3737
2018-09-26Implement additional modes for Shrinkwrap to a surface.Alexander Gavrilov
In addition to the original map to surface and Keep Above Surface, add modes that only affect vertices that are inside or outside the object. This is inspired by the Limit Distance constraint, and can be useful for crude collision detection in rigs. The inside/outside test works based on face normals and may not be completely reliable near 90 degree or sharper angles in the target. Reviewers: campbellbarton, mont29 Differential Revision: https://developer.blender.org/D3717
2018-08-28Cleanup: pep8Campbell Barton
2018-08-28RNA: UILayout.split(..) 'percentage' to 'factor'Campbell Barton
Misleading name since it's between 0..1. Use as a keyword argument to prepare for keyword only args. Also document that leaving unset has special behavior.
2018-08-28UI: text keyword argument to labelCampbell Barton
Prepare for keyword only args
2018-08-13Implement multiplicative Copy Scale and make it the new default.Alexander Gavrilov
Scale is a multiplicative quantity, so adding it doesn't make sense. However, for backward compatibility reasons, and in case somebody actually desires the old additive behavior, the old way remains as an option. Without this change the only way to properly combine scale is via parenting or the complicated Transformation constraint. The new mode is turned on by a flag for file compatibility, but the RNA option is reversed so that the new behavior feels more default. Reviewers: aligorith Differential Revision: https://developer.blender.org/D3558
2018-06-05Cleanup: pep8Campbell Barton
Use 'autopep8 --ignore E721,E722' on our UI code, only minor changes.
2017-07-24Cleanup: trailing spaceCampbell Barton
2017-03-19Moving classes to separate listing broke panel orderCampbell Barton
Although this wasn't so obvious since it only showed up for factory settings and in the preferences window. Panel display order depends on registration order, Sorry for the noise. On the bright side we no longer need to move classes around to re-arrange panels.
2017-03-18PyAPI: remove bpy.utils.register_module()Campbell Barton
In preparation for it being removed, see: T47811
2016-08-06Basic Alembic supportKévin Dietrich
All in all, this patch adds an Alembic importer, an Alembic exporter, and a new CacheFile data block which, for now, wraps around an Alembic archive. This data block is made available through a new modifier ("Mesh Sequence Cache") as well as a new constraint ("Transform Cache") to somewhat properly support respectively geometric and transformation data streaming from alembic caches. A more in-depth documentation is to be found on the wiki, as well as a guide to compile alembic: https://wiki.blender.org/index.php/ User:Kevindietrich/AlembicBasicIo. Many thanks to everyone involved in this little project, and huge shout out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the custom builds and compile fixes. Reviewers: sergey, campbellbarton, mont29 Reviewed By: sergey, campbellbarton, mont29 Differential Revision: https://developer.blender.org/D2060
2016-07-07Revert "ChildOf Constraint: Hide the Loc/Rot/Scale toggles"Joshua Leung
This reverts commit 4fd78bb06faa31f265af6a5f247cf4255b5ac479. After further testing, it turns out that these options are less-broken than I remember them being (and have been hearing about). Specifically, as long as you disable all 3-axes of a transform component (i.e. all location, all rotation, all scale) you're not likely to have problems, whereas if you only disabled one axis (i.e. y-rotation), you may have problems in some cases. So, restoring these to the UI.
2016-06-23ChildOf Constraint: Hide the Loc/Rot/Scale togglesJoshua Leung
The RNA properties are still there (in case you really need them), except now they will not be shown in the UI anymore, as this constraint really didn't work well/at all when any of those was disabled. Most people shouldn't really need to worry about this change. If anyone wants a matrix-math challenge, they're welcome to try getting those working for real, so that we can show these toggles again.
2016-05-17Bendy Bones: Advanced B-Bones for Easier + Simple RiggingJoshua Leung
This commit/patch/branch brings a bunch of powerful new options for B-Bones and for working with B-Bones, making it easier for animators to create their own rigs, using fewer bones (which also means hopefully lighter + faster rigs ;) This functionality was first demoed by Daniel at BConf15 Some highlights from this patch include: * You can now directly control the shape of B-Bones using a series of properties instead of being restricted to trying to indirectly control them through the neighbouring bones. See the "Bendy Bones" panel... * B-Bones can be shaped in EditMode to define a "curved rest pose" for the bone. This is useful for things like eyebrows and mouths/eyelids * You can now make B-Bones use custom bones as their reference bone handles, instead of only using the parent/child bones. To do so, enable the "Use Custom Reference Handles" toggle. If none are specified, then the BBone will only use the Bendy Bone properties. * Constraints Head/Tail option can now slide along the B-Bone shape, instead of just linearly interpolating between the endpoints of the bone. For more details, see: * http://aligorith.blogspot.co.nz/2016/05/bendy-bones-dev-update.html * http://aligorith.blogspot.co.nz/2016/05/an-in-depth-look-at-how-b-bones-work.html -- Credits -- Original Idea: Daniel M Lara (pepeland) Original Patch/Research: Jose Molina Additional Development + Polish: Joshua Leung (aligorith) Testing/Feedback: Daniel M Lara (pepeland), Juan Pablo Bouza (jpbouza)
2016-01-31Cleanup: pep8Campbell Barton
2015-07-19Fix T45495: Armatures using the iTaSC IK solver causes UI truncation in bone ↵Bastien Montagne
constraints panel. Caused by rB404f9ddc37fc, cleanup is OK but please double-check changes before committing. :(
2015-06-07Cleanup: use staticmethodsCampbell Barton
2015-04-14Cleanup: don't use single sets for comparisonsCampbell Barton
2015-01-29cleanup: pep8Campbell Barton
also remove empty class parenthesis
2015-01-13Pataz-Gooseberry Request: Limits on Volume Preservation for Spline IKJoshua Leung
This commit adds a new type of volume preservation mode to Spline IK which makes it possible to set limits on the minimum and maximum scaling of bone "fatness". * The old volume preseving mode has been kept but renamed, to avoid breaking old rigs. "Volume Presevation" uses the new method, while "Inverse Preservation" is the old one. * The code and settings for this new xz scale mode are directly lifted from the improved Stretch To constraint
2014-10-13Integrated limits for volume preservation in stretch-to constraints.Lukas Tönne
Currently the volume variation feature in stretch constraints is unlimited. This has to be compensated by riggers by adding scale limit constraints, but these are unaware of the stretch orientation and can lead to flipping. Also the stretch calculation itself is not working properly and can lead to collapsing volume. The patch fixes this with several modifications: - Interpret the volume variation factor as exponent, which works better with large values for artistic purposes. - Add integrated limits to the volume "bulge" factor, so secondary constraints for compensation become unnecessary - Add a smoothness factor to make limits less visible. Eventually a generic volume preservation constraint would be nicer, because multiple constraints currently implement volume variation of their own. This feature could actually work very nicely independent from other constraint features. Differential Revision: https://developer.blender.org/D826
2014-07-24Implement option to parent object to undistorted position of 2D trackSergey Sharybin
2014-05-01Fix T39987: The new "redirect to bone constraints" button at the object ↵Bastien Montagne
constaints tab is wrong in bone edit mode In edit mode, do as with usual objects - show object constraints!
2014-04-07Fix T39563: Tiny unit-display problem in constraint panels.Bastien Montagne
There is no good solution here, since RNA props can only have one type/unit. Tried to find the less worse one - have different RNA props for same DNA value (a bit like the angle/length for camera lens). Also fixed two other issues with Transform conctraint: * Angle were still in degrees (yes, another backward-compatibility breacking). * Scale was absolute, unlike loc/rot. Also cleaned up a bit the code, replaced some magic numbers by proper enums, ...
2014-03-19Usual UI messages fixes...Bastien Montagne
2014-03-15UI Tweak: Add a convenience button for switching to Bone Constraints TabJoshua Leung
To reduce user confusion, we were already presenting users with an error message when they tried to edit constraints for bones from the Object Constraints tab. This commit just makes things more convenient by adding a button which takes users to the right tab when clicked.
2013-09-07shrink-wrap constraint, improve and remove some limitations.Campbell Barton
- ability to change the space the axis is projected in (so you can choose worldspace or -space, was always local-space before). - support projecting on a negative axis, without this some very simple clamping is not possible if the direction happened not to be positive. - add distance limit (same as modifier), without this single meshes surrounding an object would make the constraint impossible to use in some cases (it would snap to the wrong side). note: this removes the ability to project on multiple axes at once but this option only added up directions and didnt project on multiple axes as you might expect.
2013-08-24Followup to r59434 : py UI scripts edits.Bastien Montagne
Notes: * Made those edits by full checking of py files, so I should have spoted most needed edits, yet it remains quite probable I missed a few ones, we'll fix if/when someone notice it... * Also made some cleanup "on the road"!
2013-03-11code cleanup: pep8 & minor changesCampbell Barton
2013-03-11Renaming "properties_object_constraint.py" to "properties_constraint.py"Joshua Leung
The code in this file is NOT restricted to use in object context only. Renaming it makes it easier to find this file (taking in account name truncations).