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
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$
2011-07-26BGE Animations: Adding a new choice for vertex deformation for armatures, ↵Mitchell Stokes
which can be found in the Armature's Skeleton panel by the Deform options. Before only Blender's armature_deform_verts() was used. Now users can choose a vertex deformation function that is optimized for the BGE. At the moment it is mostly a copy of armature_deform_verts() with various chunks of code removed, and the BLI_math code was replaced with Eigen2. In my test scene, the new function offered about a 40% improvement over armature_deform_verts() (17~19ms rasterizer to 11~12ms). The only current limitation that I'm aware of if that B-Bone segments are not supported in the BGE version, and I will probably leave it out. I would like to also limit the BGE version to 4 weights to make things easier for a GPU version, but this may just make things slower (sorting weights to find the top 4).
2011-05-26New experimental drawtype for armatures: "Wire"Joshua Leung
This is equivalent to using B-Bones which are all scaled to have xwidth=zwidth=0, which can be useful to see how some limbs will bend, without the overhead of blocks blocking the view or having to scale down bone sizes first.
2011-02-17DNA header files are now grouped under the same module. No further ↵Nathan Letwory
documentation done.
2011-02-13enforce string limits (reported by pedantic checking tools & some developers).Campbell Barton
mostly replace strcpy with BLI_strncpy and multiple strcat's with a BLI_snprintf(). also fix possible crash if CWD isnt available.
2011-02-05Fix bones moving when changing between editmode and posemode.Brecht Van Lommel
Patch #25901 by Tobias Oelgarte. Bone transformations would be converted back and forth between different representations when changing modes, which due to numerical errors could lead to bone transformations slowly changing as you edit the armature. Now the editmode head, tail and roll values are stored in bones and used directly when entering edit mode. Head and tail were already there but now we ensure they are the exact same value, roll was not yet there, so we have a version patch for it. The sub version was incremented to 1 for the version patch.
2010-12-12Bugfix #25179Ton Roosendaal
Armature properties: layer buttons now show which ones are in use, like object layers.
2010-12-08Changed armature active bone so it is separate from selection this is ↵Campbell Barton
consistent with active object, mesh editmode, curves & metaballs. - active is no longer assumed to be selected. this fixes a simple bug - eg: Adding a new armature, entering pose mode and toggling selection failed. - outliner editbone selection now works like object and pose mode. - mouse selection sets the bone active even when the tip is selected. - active, unselected bones draw as wire color with a 15% tint of the selected color.
2010-12-03- added GCC warning -Wstrict-prototypesCampbell Barton
- fixed bug in paste material, exposed by stricter warnings. - removed/renamed various shadowed vars. - removed BGE lamp.colour, only allow lamp.color attribute.
2010-12-03fix for some pedantic warnings.Campbell Barton
2010-10-19use unsigned int for all layers.Campbell Barton
2010-07-122.5: remove armature "B-Bone Rest" option, this was only added to keepBrecht Van Lommel
broken behavior for backwards compatibility, it's been there long enough now to be removed.
2010-02-12correct fsf addressCampbell Barton
2010-01-08Animation Visualisation Cleanups - Part 2:Joshua Leung
* Finished baking code for motion paths, generalising it so that it works for both Objects and Bones. It is based on the old code for baking bones, although I have modified the updating code to use a more 'correct' method of updating dependencies. However, this may turn out to be too slow, and another API method should be added for that... * Moved some of the old version-patching code for animviz settings out of the drawing functions, instead doing this on the version patching proper. * Added RNA support for the new AnimViz types, and included RNA access via their users too. The old settings have still been left in for now, since there are still some things not ready to use yet. ---- * F-Curve's with sample points (i.e. sounds to F-Curves) now perform linear interpolation between sample points instead of using constant interpolation.
2010-01-01Cleanup of MotionPaths+Ghosts (AnimViz) - Part 1Joshua Leung
This commit sets up some of the groundwork necessary to extend the animation visualisation capabilities, previously only available for bones in PoseMode, to Objects as well. Also, some of the other goals of this refactor is to make future visualisation goodies (i.e. editable paths) more feasible... (There's really nothing to see here yet. The following log notes are really just for my own reference to keep track of things.) Currently, the following things have been done: * New datastructures + settings have been tidied up, ready for usage * Added these new types into the Object and PoseBone code as necessary, with freeing/adding/copying accounted for * File IO code for the new data, including version patching to convert the old system to the new one. * Set up the drawing system for motionpaths based on the old armature path drawing code. Armatures still draw using the old system, since the two systems use different storage systems. * Started setting up the motionpath 'baking' code, but the core of this still needs to be coded... Next Steps (after some semi-urgent Durian Driver changes): * Port the ghosting/onionskinning code over too * Finish motionpath baking code * RNA wrapping for the new types * Hooking up all the new code into the operators, etc.
2009-11-28Durian Rigging Requests: (Armature Layers + Rotation Locking Tweaks)Joshua Leung
* Increased the number of Armature and Bone Layers from 16 to 32. Please note that older versions of Blender may not correctly resolve the layers that bones are on when loading new files. * Newly added objects are now made by default to allow locking of 4-component rotations using 4 separate locks (i.e. one by component) instead of requiring the obscure 'W' toggle (renamed '4L' now) to be enabled first. The objects in the default scene need modifying manually though.
2009-11-25Pose Bone "Local Location" option. This is enabled by default, disabling itBrecht Van Lommel
puts the bone location in pose space rather than local bone space.
2009-11-10use armature active bone as a pointer rather then a flag for each bone that ↵Campbell Barton
needs looking up. - rna vars arm.bones.active & rna.edit_bones.active - needed special undo support. - readfile.c loads. - duplicate and copy_armature support. - keep the draw flag, renamed to BONE_DRAW_ACTIVE, only use for openGL drawing. Note: it may be better to allow active/unselected as with objects.
2009-11-01Rigging Goodies: Spline IK ConstraintJoshua Leung
At last, this commit introduces the Spline IK Constraint to Blender. Spline IK is a constraint that makes n bones follow the shape of a specified curve. Simply add a chain of bones, add a curve, add a Spline IK Constraint to the tip bone and set the number of bones in the chain to make it work. Or, try the following test file: http://download.blender.org/ftp/incoming/250_splineik_spine01.blend Screenshots of this in action (as proof): http://download.blender.org/ftp/incoming/b250_splineik_001_before.png http://download.blender.org/ftp/incoming/b250_splineik_001_after.png I've implemented this in a similar way to how standard IK solvers are done. However, this code is currently not an IK plugin, since I imagine that it would be useful to be able to combine the 2 types of IK. This can be easily changed though :) Finally, a few notes on what to expect still: * Constraint blending currently doesn't affect this. Getting that to work correctly will take a bit more work still. * Options for not affecting the root joint (to make it easier to attach the chain to a stump or whatever), and non-uniform scaling options have yet to be added. I've marked the places where they can be added though * Control over the twisting of the chain still needs investigation. Have fun!
2009-10-28Added support for custom RNA properties on Bones, only worked forBrecht Van Lommel
PoseChannel previously.
2009-09-21* Added AnimData for Armature data, for animating armature/bone settings.Matt Ebb
This allows you to do funky things like animating the number of segments in a b-bone.
2009-07-19Store sketch in armature instead of ugly global.Martin Poirier
Like edit data, this isn't saved, just a temp pointer used during work session. Also bring back sketching panel for 3d view.
2009-01-022.5Ton Roosendaal
From the anti-globalization department: G.obedit terminated! Wherever possible, use CTX_data_edit_object(C) to get this now. It's stored in scene now, and the screen context has it defined.
2008-12-192.5Joshua Leung
Merged 'backend' changes from AnimSys2. Many of these changes are necessary for the Dopesheet and other changes I'm currently still stabilising. Those will come in due course.
2008-11-11Chain rotations for objects and pose bones (for teamto)Martin Poirier
This commit adds an exception for rotations (standard rotation and tracball) to still work on children of transformed objects and bones in an expected fashion. That is, you can select a chain of finger bones and rotate to flex them all at once. Notes: [1] This could be expended to other transformations if needed. [2] Center of transformation is determined using the same principle as hinge bones (transformed children aren't taken into account)
2008-07-27Patch #17336: Lock bones in edit modeJoshua Leung
Submitted by: Lorenzo Pierfederici (lento) This patch adds the ability to lock transformation on bones in edit mode, to protect them from accidental editing. Bones can be locked from the editing buttons, the transform property panel, the specials popup menu or the python api.
2008-04-17Patch from GSR that a) fixes a whole bunch of GPL/BL licenseChris Want
blocks that were previously missed; and b) greatly increase my ohloh stats!
2008-03-25Two constraints related fixesJoshua Leung
* Bugfix #8599d: When using the ChildOf constraint on bones without parents, with cyclic-offset in action the effect of the cyclic-offset was applied twice. Added a bone option to make the effect of cyclic-offset not be applied to rootbones which have the option 'enabled'. In the UI, this is presented in the opposite way. It is represented by the 'Offs' button beside the parent-bone selector in the Armature Bones panel when in EditMode. * Head/Tail setting and Constraint Channels: Added back in checks to see if the head/tail IPO-curves for Constraint Channels can get applied for the target constraint. I had removed these when applying the patch, but I'd overlooked the fact that users could add an IPO-curve for this from the IPO-editor, potentially mucking up the behaviour of some constraints.
2008-02-06Bugfixes:Joshua Leung
* Action Editor "Open/Close Level" now works with Action Groups. Groups have priority over Action Channels for collapsing/expanding. * Custom bone shapes using the new 'wire' option, were drawing with the wrong wireframe colour at times (i.e. when out of posemode, this happened quite often). * Fixed/added a few comments in various places
2008-01-30== Custom Bone Shape Drawing - 'Wireframe' Option ==Joshua Leung
In production rigs, such as those for Peach and Plumiferos, custom bone shapes are often simple wireframe shapes (formed with a single line). These are only visible when the armature's drawtype is Wire, which means that this drawtype must be used for the display of those bones. On the other hand, 'normal' bones must also be drawn as wireframes. I've added a small toggle beside the field for the name of the object to use. This is marked 'W' (this is not great, but it'll have to do for now). When activated, that bone's custom bone shape will always draw as a wireframe. As a result, the armature's drawtype doesn't have to be set to 'Wire' to see these bones.
2007-12-09== Armature - Ghosting Feature (Cessen request) ==Joshua Leung
Added a new option for Armature Ghosting: Only draw ghosts for selected bones. This is activated by toggling the "Sel" button beside the GStep: field. Note: this does not give any speed increases, as the whole pose must be recalculated for each ghost. In fact, it might even cause minor performance decreases, due to the need to tag and un-tag bones before/after drawing the set of ghosts.
2007-12-09== Armature Visualisation - A few additions ==Joshua Leung
* Added an option to make frame numbers of keyframes draw on bone-paths even when frame numbers for other points are not shown. * Added a new ghosting method, which only shows the keyframes within a range.
2007-11-19Revamp of multi modifier option!Ton Roosendaal
- error fix: overall weight group value was used inverted - added "Inv" button to make weight group work inverted - added bigger, more clear Multi Modifier button
2007-11-13== Peach Feature Requests (Bone-Path Drawing) ==Joshua Leung
* Added a new option to only calculate a certain number of frames before/after the current frame instead of defining a frame range. This is useful in certain cases on longer timelines, to be able to view the paths for certain regions quicker. * When inserting a keyframe, if a bone already has path drawing on, the path for that bone will get automatically recalculated. More testing is required to see if there are any more cases where this would be useful. Also, a global setting to turn this on/off would be a good idea. Todo (requested but not yet implemented): * Parts of path before/after current frame could get drawn with different colours
2007-11-09Quick added feature: the "do not get scaling from parent bone" option.Ton Roosendaal
It's next to the 'hinge' button, a small 'S'. No more space here... will make it nicer inferface later. :) Let's first see if this works as expected.
2007-11-01Hinge Bone TransformBrecht Van Lommel
==================== This changes the way hinge bones are transformed when their parent bones are also selected. Before it just disabled transform for these, now they are rotated and scaled as well, but without influencing the transform center, which gives behaviour as if they were regular bones.
2007-10-10Make B-Bones not deform in rest position by default.Brecht Van Lommel
B-Bones already deformed the mesh in the armature rest position, which is unconvenient. For backwards compatibility existing .blend files still have a button for the old behavior enabled. (peach feature request)
2007-09-25== Armature Animation Fixes ==Joshua Leung
This commit fixes several bugs related to animating armatures. I've also tidied up the formatting in a few files along the way, and also commented the flags for this pose->flag. What's new/fixed: * Undo will no longer destroy entire un-keyframed poses. Now it behaves as expected, and only reverses the most recent change. * On some files, POSE_DO_UNLOCK somehow got set on files and never cleared. The symptom of this was a file in which you suddenly could no longer pose an armature at all without using auto-keyframing. A check to prevent this from happening again has been added (it will also fix old files too) Notes: - Now, all PoseChannels get tagged with BONE_UNKEYED after they have been transformed. This flag prevents IPO data being flushed over these new values, even after undo. - These tags only get removed on frame-changes or inserting new keyframes.
2007-07-31Quaternion Deform InterpolationBrecht Van Lommel
=============================== This is a new armature deform interpolation method using Dual Quaternions, which reduces the artifacts of linear blend skinning: http://www.blender.org/development/current-projects/changes-since-244/skinning/ Based on the paper and provided code: Skinning with Dual Quaternions Ladislav Kavan, Steven Collins, Jiri Zara, Carol O'Sullivan. Symposium on Interactive 3D Graphics and Games, 2007.
2007-01-02== Armatures - Bone Paths ==Joshua Leung
* Shuffled a few bone-path buttons in the Armature Visualisation panel. * Added a new option for bone-paths drawing: Calculate/show the path travelled by the 'head' (fat end) of bone. By default, this option is off. * Also, I forgot to mention in last commit that I had added an option which specified the time-difference between each highlighted point on the curve.
2007-01-01== Armature Ghost and Path Drawing ==Joshua Leung
The Plumiferos Team have requested some improvements to the ghost and path drawing tools for armatures. These changes make these more useful, with more customisable settings. A new panel in the editing panels for armatures has been added to house these settings. -> Ghosts In addition to the existing method of showing ghosts either side of the current frame, it is now possible to show ghosts from a given frame range. This is useful for visualising how the poses in another part of the animation changed, while editing another part. The colour of ghosts goes from light (earlier on) to darker (later on). -> Paths Several new options for path drawing have been added. * It is now possibly specify a frame range in which to calculate paths too. This offers speedups for longer timelines as a shorter span of time can be sampled. * Keyframes from the active action/action strip can be shown in a different colour (in the default theme, this is yellow) on the path. * Frame numbers for the highlighted positions on the path can be drawn. Two notes of caution: * For ghost range: keep the frame ranges relatively small (20-50 frames), otherwise you will experience a slowdown. * For path frame numbers: if you have a graphics card which is picky about text in the 3d-view (like x,y,z labels on empty), this may cause issues.
2006-11-11Experimental feature, especially for the animation department:Ton Roosendaal
THE OBJECT PROXY Or simple said; local control of referenced data from libraries. Having library files with references is a very common studio setup, and Blender did do quite well in that area. Were it not that for character setups it was impossible to use still. This commit will enable a full rig+character to remain in the library, and still have - under strict control - local access for animation edits. Full log: http://www.blender3d.org/cms/Proxy_Objects.824.0.html
2006-11-01Plumiferos request: Added button in Armature options panel to set customTon Roosendaal
bone drawing on/off. Is default on.
2006-02-23Added UI numeric access to bone radius (for envelopes), needed to accsess ↵Campbell Barton
the other day to make bones the same radius and had to guess. See the edit bone properties. Just added a comment to DNA_armature_types.h about rad_head and rad_tail override, if a parant exists.
2006-01-11Orange: Added an option in View Properties panel to disable drawing of ↵Matt Ebb
'relationship lines' - i.e. the dashed lines that connect objects in parent/constraint/hook/IK relationships. After talking to the others I rolled the Armature-specific one into the same setting for simplicity's sake. We can see how it goes, always possible to put it back.
2005-12-18Orange: Made dashed parent-offset lines option for drawing Poses.Ton Roosendaal
Was too ugly! :)
2005-12-07Orange request; Bones in Armature now have own layer settings.Ton Roosendaal
Works like for Object layers, but local within Armature itself. Each Bone can be in (16 now) any layer, and the Armature layer defines what is visible or not. Also note that hiding will still work too. Since the Blender code is *stuffed* with Bone options now, this commit requires a good test if all tools we got now comply to layers... (I counted 130 cases for checking for selected Bones in code!) In PoseMode; hotkey M will show 'movetolayer' menu. Not in editmode... then its the mirror menu. Todo: make action/nla drawing comply to Armature layer settings.
2005-11-17Added stepsize option for Pose ghosting draw. Patch provided by RolandTon Roosendaal
Hess. In a comment on maillist I already mentioned a weird 0.5 in the code, which I added to ensure correct rounding to integer frame numbers. With a variable step size however, this won't work properly. You could see it in the patch, because the ghost steps were animating.... they should remain frozen, looks much nicer then. So I've added some fmod voodoo here.
2005-11-01Three new features:Ton Roosendaal
1) Stride Bone For walkcycles, you could already set an NLA strip to cycle over a path based on a preset distance value. This cycling happens based on a linear interpolation, with constant speed. Not all cycles have a constant speed however, like hopping or jumping. To ensure a perfect slipping-less foot contact, you now can set a Bone in an Armature to define the stride. This "Stride Bone" then becomes a sort-of ruler, a conveyor belt, on which the character walks. When using the NLA "Use Path" option, it then tries to keep the Stride Bone entirely motionless on the path, by cancelling out its motion (for the entire Armature). This means that the animation keys for a Stride Bone have to be exactly negative of the desired path. Only, at choice, the X,Y or Z Ipo curve is used for this stride. Examples: http://www.blender.org/bf/0001_0040.avi The top armature shows the actual Action, the bottom armature has been parented to a Path, using the Stride Bone feature. http://www.blender.org/bf/0001_0080.avi Here the Stride Bone has a number of children, creating a ruler to be used as reference while animating. Test .blend: http://www.blender.org/bf/motionblender1.blend Notes: - Note that action keys for Bones work local, based on the Bone's orientation as set in EditMode. Therefore, an Y translation always goes in the Bone's direction. - To be able to get a "solvable" stride, the animation curve has to be inverse evaluated, using a Newton Raphson root solver. That means you can only create stride curves that keep moving forward, and cannot return halfway. - Set the Stride Bone in the Editing Buttons, Bone Panel. You can set change the name or set the axis in the NLA Window, Strip Properties Panel. - Files in this commit will move to the blender.org release section. 2) Armature Ghosting In EditButtons, Armature Panel, you can set an armature to draw ghosts. The number value denotes the amount of frames that have to be drawn extra (for the active action!) around the current frame. Ghosts only evaluate its own Pose, executing it's Actions, Constraints and IK. No external dependencies are re-evaluated for it. 3) NLA/Action time control If you click in the NLA window on the action (linked to Object), it makes sure the Timing as drawn in the Action editor is not corrected for NLA. If you also set the Object to "Action", this timing will be executed on the Object as well (not NLA time). (It's a bit confusing... will make a good doc & maybe review UI!)
2005-10-30Two new IK features.Ton Roosendaal
1) Target-less IK If you add an IK constraint without a target set (no object or bone target), it now can be grabbed and moved with IK, using its own Bone tip or root as target itself. This way you can use IK for posing, without having the IK executed while it animates or while a Pose is being solved for real IK. After grabbing "Target-less IK", it applies the resulted motion in the pose-channels, which then can be used to insert keypositions. The Target-less IK bone can still be rotated without IK, also its chain can be edited as usual. UI: The CTRL+I menu gives this as an option too. In the 3D window it is drawn with orangish color. Note that IK is not resistant to non-uniform scaling yet. 2) Auto-IK When the option "Automatic IK" is set, in Edit Buttons Armature Panel, it creates automatic temporal Target-less IK for the Bone you grab or translate. The rules are: - it only works when a single Bone is selected - if the Bone is a root bone (no parent), it adds IK to the end of the chain(s) - otherwise it adds the IK to the active Bone - the temporal IK chain only consists of connected Bones. This method is still a bit experimental. Maybe it should become a special grabbing option (like SHIFT+G in Pose Mode). It also only works OK for rigs that fit for it well... when a rig already is fully setup with IK it can't do much good. :)