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
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-31== Armature Tools - Separate (not yet functional) ==Joshua Leung
Initial commit of Separate tool for Armatures. Currently, the functionality is hidden behind a temporary patch, as there are still issues to be worked out (crashes under certain conditions and a re-linking issue). It may remain like this for the release if I can't get it to work correctly. Note: - Hotkey for separate is Ctrl-Shift-P (it's a bit clumsy, and isn't consistent with P for separate for meshes, but Select Parent(s) is better as P)
2008-02-21Following on from the commits yesterday for "Action Channel Settings" ↵Joshua Leung
quick-toggle tools, bones now have this functionality too. Use Shift-W to toggle, Ctrl-Shift-W to enable, and Alt-W to disable one of the bone's settings.
2008-01-28== Automatic Bone Extension Adder ==Joshua Leung
Added three new tools to the WKEY menu for Armatures in EditMode/PoseMode. These add .* extensions to the names of selected bones based on their position in 3d-space on the axis considered by that tool. The current naming schemes are based upon the extensions I normally apply. Some people may have slightly different preferences though. There is one for: * Left-Right names (along x-axis) * Front-Back names (along y-axis) * Top-Bottom names (along z-axis)
2007-12-13== 2 New Rigging Tools ==Joshua Leung
This commit introduces two (currently only one is actually functional) new features for working with armatures. * Bone Merging (Alt-M) It is now possible to select a bunch of linked bones and "merge" them together. Currently, there's only one option to merge bones that are selected and linked to each other in a chain. * Add Bone Between Joints (FKEY) This allows you to select a few joints, and have a bone created between them. Currently, this is not yet functional (but the code is there)
2007-12-11Merge from Harmonic Skeleton branchMartin Poirier
This code adds a basic and simple skeleton generator. Examples and links are in the wiki, docs will come eventually: http://wiki.blender.org/index.php/User:Theeth/skeletor In a nutshell, select a vertex at the top of the head and press "Generate Skeleton". UI Panel is in the Editing buttons in Edit Mode, tooltips and semi-useful.
2007-11-23Code cleanup and recursive symmetry detection.Martin Poirier
2007-11-07Initial commit for Harmonic Skeleton generation.Martin Poirier
This is very much a work in progress commit to allow me to work outside of home. While it does somewhat work, I wouldn't recommend anyone to use it.
2007-11-07Filling in branch from trunkMartin Poirier
2007-09-09Patch #6794: Subdivide Multi for ArmaturesJoshua Leung
This patch, by Juho Vepsalainen (BeBraw), introduces subdivide multi functionality for armatures. It lets you specify the number of divisions that selected bones should be divided into. I've slightly optimised the code a bit, though the change shouldn't make much of a difference. I've also fixed a minor bug in the menu highlighting, due to duplicate menu event-codes.
2007-08-15Fix for 'undefined function' compiler warning in poseobject.c, introduced by ↵Joshua Leung
Brecht's cool heat-skinning stuff.
2007-08-03== Bone Roll - Align to Cursor ==Joshua Leung
In this commit, a new way to set the bone roll is introduced. It aligns the z-axis of the selected bone(s) to the 3D-Cursor, so that the cursor intersects with the YZ plane. This makes it easier to align bone rolls to a target, for use in rigs where arms/legs are not horizontal/vertical. To use this, just press Ctrl N, and choose the "Align Z-Axis to 3D-Cursor" option. Credits go to Robert Christian (wavez) for providing the method as a working BPy script, that demonstrated this in action.
2007-04-04moved source and text to american spellingCampbell Barton
* colour -> color * centre -> center * normalise -> normalize * modelling -> modeling
2007-02-10=Armature Undo Fix= Joseph Eagar
Armature undo was incomplete; no less then 6 places needed undo pushes. Added undo pushes, and made sure deselectall_armature/posearmature played nice and only did undo pushes when they're called with AKEY. This seems like a fairly old issue. I guess people just didn't notice it enough to file a bug report. :)
2007-01-16== Armature Joining Bugfixes ==Joshua Leung
Since 2.40 (and a few pre-releases around then), armature joining has not worked correctly. Constraints and other attributes of bones in posemode (IK DOF limits, transform locks, custom shapes, etc.) were not preserved on the armature(s) that were joined onto the last selected armature. This was a serious production problem, as it meant that you could not easily add pre-made rig segments and merge them with the rest of your rigs without having to redo all the constraints. After a few attempts, I've finally managed to fix this. All constraints and parenting relationships get name corrections for the post- merge armatures. Action channels in actions don't really get any corrections yet unless the action is being used by an Action Constraint. Python-API people: beware, I may have broken something in this commit.
2006-12-28== Armature Centering Tools ==Joshua Leung
After all these years, it is now possible to (re)center armatures like you can do with meshes and curves. At the moment, you can only access this functionality from the menus (Spacebar->Transform) as the armature button panels are pretty crowded.
2006-11-01Plumiferos request: Added button in Armature options panel to set customTon Roosendaal
bone drawing on/off. Is default on.
2006-01-04Orange; merger with bf-blender.Ton Roosendaal
(Merging is *not* fun work, especially not with bugfixes in main branch for code that got cleaned up in the other! Poor Hos... :)
2006-01-03Moved Object.Join() into a function of an object.Campbell Barton
eg. ret_val = ob.join(objects) Now it dosent depend on the current selection, or change the selection context. Made respective join_* functions return 0 if the join was not mode, 1 when it workes.
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-19Finally switched to porting UI stuff from tuhopuu!Ton Roosendaal
This commit is based on the patch & cool design work of Matt. It includes the new Lamp drawing style, and replaces the Object center dots with a similar styled OpenGL drawn dot. Important side-note is that removing the old glDrawPixels() for centers or lamps will not only make Blender faster, but also prevents crashing on a couple of cheaper 3d cards (as reported for S3 and Intel on-board cards) Notes: - The new default only draws Object centers when selected or active. If you like to see them always, use the View Properties Panel. You can also save that in the .B.blend - The size for centers (and lamps) is in the User settings "View & Controls" - Unselected Lamps, and their offset lines from zero Z, are drawn in a new Theme color Changes and additions in Matt's patch: - Lamps and centers are drawn fixed size, in pixels. Also the 'sun' lamp draws screen aligned now. - Center dots now also draw in blue to denote Library linkage or to show that an Object has been linked to other scenes. - When objects are empty (no vertices) they will always draw a center dot. Otherwise these objects would never be selectable anymore! - Added theme setting for center size, and initialization - Removed the old redundant code for drawing centers - Cleanup of drawing routines, made center dots faster - Started removing calls to glBlendFunc(). Regular alpha drawing should become standard, and the (very) occasional exception should return this to default after usage.
2005-10-29Orange's buglist!Ton Roosendaal
- Action Editor: hotkeys V and H for handles were invisible, added menus - NLA strips: when current frame is exactly on the strip end, it didn't include that action... needs a rounding correction for it. - Action/NLA: deleting keys in Action, which results in only 1 key left, resulted in zero sized strip length. Now the strips are defaulted to be 1 frame in size minimal. - NLA editor: ALT+C "Convert to strip" didn't increment Action user count - 3D Window: CTRL+P make parent to Bone still gave the insane menu with all bone names. With unified PoseMode select it can just parent to the active Bone. Note; this now requires the Armature to be in PoseMode to work. - Rotation Constraint; the new options to only map to X,Y,Z rotation, did set the not mapped rotation axes to zero. These should remain unchanged. - AutoKey optionn for Actions; should not insert action keys on ESC And added a fix myself: - When SHIFT+selecting a Bone in PoseMode, and the Armature was not selected or active yet, it doesn't extend-select/deselect the Bone anymore. This case is only useful when you try to add IK or Constraint, so the shift+selection should only activate the clicked Bone.
2005-10-22Various stuff in one commit;Ton Roosendaal
- Added (BKE_utildefines.h) POINTER_TO_INT(poin) and INT_TO_POINTER(int) defines, to help fixing issues with switch to 64 bits systems. This assumes that a) not more than 16GB mem is used and b) that address space is below the 1<<35 value. The latter has to be confirmed, but it seems to conform the current 64 bits generation of OSs (for mallocs). Needless to say; use long if you want to store pointers! This is for temporal fixing. - Added editmesh version for mesh-octree lookups, not used yet. - Fix: ESC on armature posemode restored the actions, should not happen - Fix: If in NLA an action was 0 frame long, it caused draw error - Fix: Click on name in Action Window now activates Bones - Fix: "Snap to" options in Armature editmode now use X-axis mirror edit.
2005-09-11Bug fix #3033Ton Roosendaal
Using "make parent armature with creating vertex groups" option gave corrupted memory when one or more bones had the "Deform" option not set. Was caused by old boneclass SKINNABLE variable. To end this confusement, removed this define from code. Note for future Armature tool coders; don't use this bonelooper functionality. Operations in Object mode for armatures should use the Pose Channels, which is a simple ListBase to go over. I have to recode the 'create vertexgroups' still...
2005-09-06Quick added; editmode bone subdivision (Wkey only). Doesn't do mirroredTon Roosendaal
yet. Need commit so I can access it on the compu in Orange studio :)
2005-08-27IK work-in-progress commit;Ton Roosendaal
- Removed old convention that only allowed one "IK" connection for Bones in a joint. Was highly frustrating for editing trees or branches. In a next commit, there will be a different method to define IK target and IK root, so this option actually will become "Connect Bone" or so. - the IK group name is gone, now is just an option "Tree IK". When IK chains share a root they'll form a tree. Todo is preventing conflicts here (will be for editor to define IK Root) - Adding new IK constraint with CTRL+I activates Constraint
2005-08-19Armature "Envelope" editing.Ton Roosendaal
For defining the deformation distances of Bones, three values are being used now. The bone tip and root radius define the bone-shape itself and the "dist" defines the soft area around it. A full (user) doc is in CMS here; http://www.blender3d.org/cms/Armature_Envelopes.647.0.html Note: todo still is allowing both Vertex Deform Groups and these Envelopes together (and or per Bone). Also part of this commit is: - New: Hiding bones in EditMode. This is a separate 'hide flag', so you can keep the PoseMode hidden Bones separate from EditMode. (In the future we should do some kind of bone-grouping or so) - While transform(), the hotkeys G,R,S only switch mode when the previous mode was compatible. Caused conflicts with Crease/BoneDist/etc. - Deleting the last VertexGroup now also deletes the entire Mesh 'dvert' data. Sounds logical, but remember that VertexGroups are partial on a Mesh, partial on Object. Weird design decision though... Anyhoo, at this moment the only way to have Bone Envelopes deform, is by deleting all VertexGroups! - In PoseMode, the hotkey ALT+S now does both B-Bone size or Envelope, depending draw type. - In EditMode, Extrude now also works when only Root points were selected. - Weight editing is also symmetrical btw, with the "X-axis Mirror" option set.
2005-08-15A nice character modeling time-saver:Ton Roosendaal
In WeightPaint mode, pose-mode armatures now allow selecting Bones, but without making the Armature object active. Selecting a Bone then results in selecting the associated vertexgroup. :) Little quirk; all armatures with posemode then draw selectable...
2005-08-15EditMode armature: mirrored editing feature.Ton Roosendaal
- Option is in EditButtons, Armature panel. - Currently only local X-axis mirror (seems to be default anyway) - Transform then applies changes to the mirrored-name bone as well. - Extrude: also does the counterpart Bone - New: SHIFT+E extrude: extrudes 2 mirrored Bones out of a normal Bone. (creating names by appening _L and _R) Or in short: you can now model a full rig without any manual naming! Of course the names are not too nice... a couple of ideas to explore; - rename a mirrored bone renames counterpart too - allow in weightpaint mode to select Bones - and of course mirrored edit in PoseMode (if that's useful...) Important note: I tweaked the naming convention a bit; names like Bone_L.005 and Bone_R.005 are considered counterparts. However, if you use the "Flip names" option, the number extension is still truncated. BTW: Commits in Zr's code are fixes for gcc warnings. :)
2005-08-13New; Wkey in Armature Editmode. Has option for flipping names too.Ton Roosendaal
(And moved flip_name to armature kernel)
2005-07-23Killed silly modal PoseMode mode! :)Ton Roosendaal
- PoseMode now is a state Armature Objects can be in. So, while in PoseMode for an Armature, you can just select another Object or Armature. - The old PoseMode options (transform, insert keys etc) are accessible with making the Armature Object 'active' (and have object in PoseMode). - At this moment no multiple Poses can be transformed/edited at the same time. - The old hotkey CTRL+TAB, and view3d header menu, still work to set an Object's PoseMode It was quite a lot recode, so tests & reports are welcome. Oh, as a bonus I added Lasso Select for Bones in PoseMode! It selects using only the line between root and tip of the Bone.
2005-07-191) Removed old annoyance in adding armature or bones.Ton Roosendaal
- Add Armature or Bone (SHIFT+A) now adds by default a single Bone, view aligned and of unit-size 1. - Then use E-key (extrude) to draw chains, this option now doesn't popup the "OK" requester anymore, so works fast - Another new method is using CTRL+click to add Bones This makes it working identical to the other edit modes in Blender. The old modal loop for drawing bones just wasn't working well either. Related to this; have a real set of useful Armature primitives? 2) Removed event REMAKEALLIPO, which was added in NaN days for testing, and proved to be extremely slow. Code is moved now to editnla.c. Thanks Tom Hendrick to pointing to this nasty buggy feature!
2005-07-16More armature goodies;Ton Roosendaal
The B-Bones! (where the B can be read as 'block' or 'bezier' or 'b-spline') - set option on/off in edit buttons, armature panel - scaling of B-bones only works in editmode, use ALT+S to make bones fatter or thinner. Also works for constrainted transform - In pose mode, you now have a buttons panel with per-bone settings too Here you can find the "segments" button, which allows bones to interpolate between previous/next bones, including roll. - Buttons to control interpolation ("In" and "Out" are disabled, doesn't work satisfying yet NOTE: this doesn't give deform yet! Main purpose for now is to test if this drawing method serves to animate/pose armatures well. Still need to review proper interpolation methods... maybe bezier is too limited.
2005-07-12Cleanup of Armature 3d drawing.Ton Roosendaal
- In Solid drawmode, bones get drawn solid too now. Including Outline- selection color, if that's set. Disable it by setting Object-buttons "drawtype" for the Armature. Color used for solid bones is in Theme editor. - EditMode armature now follows (Mesh edit) theme colors (Vertex, Edge) - PoseMode armature has ThemeColor for selection, and draws three extra colors now; - blue shade for bones with action Ipos - yellow for bones with IK - green for bones with a constraint - "X ray" now only works for PoseMode... needs review, can be done better - "Draw Names" option uses theme color too, also indicates selection. Fixes; - In Armature EditMode, the deformed Mesh goes to rest-position - Border select didn't clear 'active' flag in Bones in PoseMode - Mouse-click select didn't work when a dashed line was close to Bone
2005-07-09Armatures; the bones menu used for "Make Parent" (CTRL+P) used wrongTon Roosendaal
indices still. Cleaned the code, moved to editobject.c
2005-07-03Result of 2 weeks of quiet coding work in Greece :)Ton Roosendaal
Aim was to get a total refresh of the animation system. This is needed because; - we need to upgrade it with 21st century features - current code is spaghetti/hack combo, and hides good design - it should become lag-free with using dependency graphs A full log, with complete code API/structure/design explanation will follow, that's a load of work... so here below the list with hot changes; - The entire object update system (matrices, geometry) is now centralized. Calls to where_is_object and makeDispList are forbidden, instead we tag objects 'changed' and let the depgraph code sort it out - Removed all old "Ika" code - Depgraph is aware of all relationships, including meta balls, constraints, bevelcurve, and so on. - Made depgraph aware of relation types and layers, to do smart flushing of 'changed' events. Nothing gets calculated too often! - Transform uses depgraph to detect changes - On frame-advance, depgraph flushes animated changes Armatures; Almost all armature related code has been fully built from scratch. It now reveils the original design much better, with a very clean implementation, lag free without even calculating each Bone more than once. Result is quite a speedup yes! Important to note is; 1) Armature is data containing the 'rest position' 2) Pose is the changes of rest position, and always on object level. That way more Objects can use same Pose. Also constraints are in Pose 3) Actions only contain the Ipos to change values in Poses. - Bones draw unrotated now - Drawing bones speedup enormously (10-20 times) - Bone selecting in EditMode, selection state is saved for PoseMode, and vice-versa - Undo in editmode - Bone renaming does vertexgroups, constraints, posechannels, actions, for all users of Armature in entire file - Added Bone renaming in NKey panel - Nkey PoseMode shows eulers now - EditMode and PoseMode now have 'active' bone too (last clicked) - Parenting in EditMode' CTRL+P, ALT+P, with nice options! - Pose is added in Outliner now, with showing that constraints are in the Pose, not Armature - Disconnected IK solving from constraints. It's a separate phase now, on top of the full Pose calculations - Pose itself has a dependency graph too, so evaluation order is lag free. TODO NOW; - Rotating in Posemode has incorrect inverse transform (Martin will fix) - Python Bone/Armature/Pose API disabled... needs full recode too (wait for my doc!) - Game engine will need upgrade too - Depgraph code needs revision, cleanup, can be much faster! (But, compliments for Jean-Luc, it works like a charm!) - IK changed, it now doesnt use previous position to advance to next position anymore. That system looks nice (no flips) but is not well suited for NLA and background render. TODO LATER; We now can do loadsa new nifty features as well; like: - Kill PoseMode (can be option for armatures itself) - Make B-Bones (Bezier, Bspline, like for spines) - Move all silly button level edit to 3d window (like CTRL+I = add IK) - Much better & informative drawing - Fix action/nla editors - Put all ipos in Actions (object, mesh key, lamp color) - Add hooks - Null bones - Much more advanced constraints... Bugfixes; - OGL render (view3d header) had wrong first frame on anim render - Ipo 'recording' mode had wrong playback speed - Vertex-key mode now sticks to show 'active key', until frame change -Ton-
2004-01-04A few related bug-fixes/refinementsChris Want
* A patch to make sure that constraints on bones that point to external objects are evaluated correctly (and that the bones that depend on these bones are evaluated correctly, etc, ad nauseum). This addresses some of intrr's issues (the blender-related ones, that is). * Make sure that deformed displists are updated when the user manipulates any of the constraint buttons. * Added a nice little function, ik_chain_looper(), that executes a callback for every bone in an IK chain.
2004-01-03When a bone is renamed, all constraints that point to it areChris Want
updated with the new name.
2004-01-03Added the prototype for the bone_looper() function to this headerChris Want
to silence some warnings.
2004-01-03Hide selected/hide unselected/show all bones in posemode using theChris Want
usual HKEY, shift-HKEY, alt-HKEY, and also through the menu. Thanks to malefico for the feature request, and thanks to broken for doing the menu code.
2004-01-03Armature speed ups, Part IIChris Want
--------------------------- "Delay Deform" option for armatures. The button is under the X-ray bones button in the edit buttons. With this armature option selected, manipulations in pose mode will only deform children after the transformation is finished. While hardly an optimal solution to the slow armature crisis, this gives about 4 times speed up on some meshes (ah well, at least lets me isolate armature vs. displist slowdowns while profiling).
2003-10-10Another huge commit!!!Ton Roosendaal
First, check on the new files, which are listed below. The new butspace.h is a local include, only to be used for the buttons drawn in the buttonswindow. - editbuts, animbuts, gamebuts, displaybuts, paintbuts, work now - i quite completely reorganized it, it's now nicely telling you what context it is in - sorting error in panel align fixed (tabs were flipping) - align works correctly automatic when you click around in Blender - editsca.c renamed to buttons_logic.h - button names are truncated from the right for allmost all buttons (except text buttons and number buttons) - while dragging panels, you cannot move them outside window anymore And of course fixed loads of little bugs I encountered while testing it all. This is a version I really need good test & feedback for. Next step: restoring material/lamp/texture/world
2003-04-24Support for auto-skinning when parenting a mesh to an armature.Chris Want
Applies to bones that do not have a boneclass of unskinnable (set per bone in editmode in the button window).
2002-12-27Removed the config.h thing from the .h's in the source dir.Kent Mein
So we should be all set now :) Kent -- mein@cs.umn.edu
2002-11-25Did all of the .h's in sourceKent Mein
(adding) #ifdef HAVE_CONFIG_H #include <config.h> #endif also the Makefile.in's were from previous patch adding the system depend stuff to configure.ac Kent -- mein@cs.umn.edu
2002-10-12Initial revisionv2.25Hans Lambermont