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-11-21Bones: implement a new Aligned Inherit Scale mode.Alexander Gavrilov
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
2019-11-07Fix T69822: Switching sculpt objects breaks undoCampbell Barton
This introduces object mode tagging for data which hasn't yet been written back to the ID data. Now when selecting other sculpt objects, the original objects data is flushed back to the ID before writing a memfile undo step.
2019-11-06Cleanup: remove unused game engine variableCampbell Barton
2019-09-04Armature: add Inherit Scale options to remove shear or average the scale.Alexander Gavrilov
As an inherent property of matrix-based transformation math, non- uniform scaling of a parent bone induces shear into the transform matrix of any rotated child. Such matrices cannot be cleanly decomposed into a combination of location/rotation/scale, which causes issues for rigging and animation tools. Blender bones have options to exclude rotation and/or scale from the inherited transformation, but don't have any support for removing the often undesired shear component. That goal requires replacing simple parenting with a combination of multiple bones and constraints. The same is true about the goal of inheriting some scale, but completely avoiding shear. This patch replaces the old Inherit Scale checkbox with a enum that supports multiple options: * Full: inherit all effects of scale, like with enabled Inherit Scale. * Fix Shear: removes shear from the final inherited transformation. The cleanup math is specifically designed to preserve the main axis of the bone, its length and total volume, and minimally affect roll on average. It however will not prevent reappearance of shear due to local rotation of the child or its children. * Average: inherit uniform scale that represents the parent volume. This is the simplest foolproof solution that will inherit some scale without ever causing shear. * None: completely remove scale and shear. * None (Legacy): old disabled Inherit Scale checkbox. This mode does not handle parent shear in any way, so the child is likely to end up having both scale and shear. It is retained for backward compatibility. Since many rigging-related addons access the use_inherit_scale property from Python, it is retained as a backward compatibility stub that provides the old functionality. As a side effect of reworking the code, this also fixes a matrix multiplication order bug in the Inherit Rotation code, which caused the parent local scale to be applied in world space. In rigger opinion this option is useless in production rigs, so this fix should not be a problem. Reviewers: brecht Differential Revision: https://developer.blender.org/D5588
2019-06-07Remove Deform Delay armature optionSergey Sharybin
This option can not be supported by a new granular dependency graph, and, especially, copy-on-write. It was always doing full update ever since initial commit of new dependency graph which we are using here in the studio for the past years and lack of this option was never brought up. Fixes T65557: Delay refresh option in armatures is broken
2019-06-06Fix T64533: Using "X-Axis Mirror" while posing with auto keyframe on does ↵Sebastian Parborg
not keyframe the mirrored bone Use an additional pose bone flag so we can keep track of mirrored bones that should be autokeyframed. Reviewed By: Brecht Differential Revision: https://developer.blender.org/D5033
2019-05-14Armature: implement universal hash table lookup of Bone objects by name.Alexander Gavrilov
Since drivers on Bone properties are really supposed to be stored in Armature data and access bones via its bones[] collection, this lookup path should work efficiently. Mass lookup of bones by name was already done through hashes, but they were built temporarily every time that was needed. This simply replaces it with a common hash table computed immediately after file load, copy, or Edit to Object mode switch.
2019-05-09Move out pose edit options into the pose dataSebastian Parborg
Move pose edit mode booleans out of the armature data into the pose data Reviewed By: Brecht Differential Revision: http://developer.blender.org/D4832
2019-05-06Implement mirroring in pose mode (absolute and relative)Sebastian Parborg
Added working X-mirroring in pose mode with an optional relative mirror mode. Reviewed By: Campbell Barton Differential Revision: http://developer.blender.org/D4765
2019-04-23Cleanup: rename the curveInX etc bbone DNA fields to curve_in_x etc.Alexander Gavrilov
2019-04-23B-Bones: split the Scale In/Out properties into X and Y values.Alexander Gavrilov
As far as I can tell, there is no technical reason why the B-Bone segment thickness scaling can't be separated into two axes. The only downside is the increase in complexity of the B-Bone settings, but this is inevitable due to the increase in flexibility. Updating the file is somewhat complicated though, because F-Curves and drivers have to be duplicated and updated to the new names. Reviewers: campbellbarton Subscribers: icappiello, jpbouza Differential Revision: https://developer.blender.org/D4716
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-03-18Cleanup: spaces around operators in DNA headersCampbell Barton
2019-03-17Cleanup: rename DEPRECATED to UNUSEDCampbell Barton
While the flags have been deprecated they're currently unused. Rename for clarity.
2019-03-06DNA: remove none particle brush & deprecated flagsCampbell Barton
The none brush doesn't make sense to have anymore with the tool system. Also remove deprecated flags & types for object, armature & text.
2019-02-27Cleanup: use '_pad' convention for padding in all DNA structsCampbell Barton
Avoids mixing these in with regular variables in code-completion. Use char for pad members except for 'void *', to make size clearer. Removed/shrink a few redundant padding vars which were >= 8 bytes.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: Remove deprecated ghosting codeJacques Lucke
Most of this code is deprecated for many years already and does not work at all in Blender 2.8. Reviewers: brecht, aligorith Differential Revision: https://developer.blender.org/D4271
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-15Cleanup: commas at the end of enumsCampbell Barton
Without this clang-format may wrap them onto a single line.
2019-01-15Cleanup: comment line length (DNA)Campbell Barton
Prevents clang-format wrapping text before comments.
2019-01-07Cleanup: move DNA comments before struct membersCampbell Barton
Needed for clang-format in some cases, see: T53211
2018-10-05Add a new B-Bone Custom Handle type that uses the handle bone direction.Alexander Gavrilov
Both original handle types are based on location, and Absolute uses it in a weird way: the Start handle uses the head, while End uses the tail. This makes controlling the shape of the B-Bone via control bone rotation really non-intuitive, especially if trying to add a single control for the tangent in the middle of a B-Bone chain. To remedy this, add a new custom handle type that uses the orientation of the control bone, while completely ignoring location. It is even possible to control both ends of one B-Bone with the same handle bone, resulting in an S shape. Reviewers: brecht Differential Revision: https://developer.blender.org/D3769
2018-10-04Move B-Bone custom handle settings to Edit mode.Alexander Gavrilov
Custom handle settings actually affect the B-Bone rest shape, so they should be changed in Edit mode rather than Pose mode. This is necessary to be able to display the correct rest shape of the bone in Edit Mode. Also, instead of flags, introduce an enum to specify the handle operation modes, so that new ones could be added later. Differential Revision: https://developer.blender.org/D3588
2018-09-24Merge branch 'master' into blender2.8Brecht Van Lommel
2018-09-24Spelling fixes in comments and descriptions, patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3719
2018-06-17Merge branch 'master' into blender2.8Campbell Barton
2018-06-17Cleanup: trailing space for DNA headersCampbell Barton
2018-04-20Remove Armature Sketching & RetargetCampbell Barton
While the feature is interesting, it's not much from what we can tell. Retargeting is an important feature but needs to fit in better with typical animation work-flows. See: T52809
2017-11-01Fix for T48988 - Enabling bbone easing for posemodeJoshua Leung
This fix enables the usage of bbones easing parameters for edit and pose mode seperately. This allows animators to take advantage of the functionality and may eliminate confusion as the parameters now behave similar to other bbone parameters. Note that splitting the parameters between the modes effectively creates a new parameter set. Blend files of previous versions do not contain this information and will have the values set to 0 on load. As it broke backwards compatibility for pose mode values anyway, I also took the liberty to rename the easing parameters in some places for consistency (which breaks edit mode values). Reviewers: aligorith Subscribers: aligorith Tags: #animation Differential Revision: https://developer.blender.org/D2796
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)
2015-07-10DNA: replace GCC poison with ifdef for enumsCampbell Barton
2015-03-04Fix for snap to cursor /w parents (object/pose)Campbell Barton
Also don't use pose-bone transform unless the user is in pose-mode.
2013-12-10DNA Deprecation: add DNA_DEPRECATED_GCC_POISON for enum/structs.Campbell Barton
also fully remove freestyle raycasting_algorithm
2013-11-22fix for active bone not saving in editmode.Campbell Barton
2013-06-16replace strcat with BLI_strcpy_rlen in draw_selected_name(), view3d function.Campbell Barton
also fix for incorrect flag checking for shape key pin.
2012-12-21Armature bone feature:Ton Roosendaal
New Bone option: "Relative Parenting". This makes Child-Objects of Bones transform similar to how deformations of bones are calculated. Allows to move bones in editmode to set pivot. The option is in Bone Panel, with clear label. It is ON now by default when you add new bones Requested by Kjartan, our famous robot designer :) For "hard body rigs" it's very useful.
2012-10-21style cleanup: trailing tabs & expand some non prefix tabs into spaces.Campbell Barton
2012-09-27incorrect spelling in commentsCampbell Barton
2012-07-03More spell and typo fixes (mostly visualise->visualize, grey->gray, ↵Bastien Montagne
normalise->normalize).
2012-06-15Ensure enums in DNA files has got explicit valuesSergey Sharybin
See http://wiki.blender.org/index.php/Dev:Doc/CodeStyle#Macros.2C_Enums.2C_Inline_functions
2012-06-03Part-Bugfix, Part-Feature Completion: 'Armature' Option for Mask ModifierJoshua Leung
finally works This commit finally hooks up the Mask Modifier's "Armature" option with the relevant depsgraph updates on bone selection. Hence, this feature finally works as it was originally intended - that is, bone selections can be used to control which parts of the mesh that the mask modifier is applied to are displayed, giving riggers more freedom to experiment with rigs that don't necessarily feature overbearing/cluttering widgets. Regarding the implementation ("has_viz_deps" flag): This feature is just the "tip of the iceberg" of a number of related set of rigging/visual animation tools I've had in mind for a while now (dating back to the introduction of this modifier). Key considerations - Not all rigs will use this, so we don't want an extra (depsgraph-flush + search) recalc cost for those that don't use this. - There are some planned features which will also use this
2012-04-12fix [#30907] Inset tool with Select Outer disabled does not allow ↵Campbell Barton
translation of new faces inset with select-inner faces gave invalid selection. also correct spelling in some comments.
2012-03-18spelling cleanupCampbell Barton
2012-03-09style cleanup: comment blocksCampbell Barton
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-01-11Longer names support for all ID and other object namesSergey Sharybin
This commit extends limit of ID and objects to 64 (it means 63 meaning characters and 1 for zero-terminator). CustomData layers names are also extended. Changed DNA structures and all places where length constants were hardcoded. All names which are "generating" from ID block should be limited by MAX_ID_NAME-2, all non-id names now has got own define called MAX_NAME which should be used all over for non-id names to make further name migration stuff easier. All name fields in DNA now have comment with constant which corresponds to hardcoded numeric value which should make it easier to further update this limits or even switch to non-hardcoded values in DNA. Special thanks to Campbell who helped figuring out some issues and helped a lot in finding all cases where hardcoded valued were still used in code. Both of forwards and backwards compatibility is stored with blender versions newer than January 5, 2011. Older versions had issue with placing null-terminator to DNA strings on file load which will lead to some unpredictable behavior or even crashes.
2011-12-30minor dna header cleanupCampbell Barton
2011-08-12Bye bye vile relics of extinct version control systems,Joshua Leung
Causing a flurry of refresh file prompts post-commit, Confusing local diffs and causing merge conflicts, Stating the obvious; redundant and useless... We shall not miss thou, blasted expand $keywords$