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-06-15remove unused argumentsCampbell Barton
2011-03-13Pose Sliding Tools - Custom Property Support + Other bugfixesJoshua Leung
- Custom properties are now affected by the Pose Sliding tools too. This is now more important to support, given that modern rigs use these a lot for facial expressions/posing. By and large, this should work fine, though discrete integer values may experience a bit of trouble - Fixed potential bugs with the code which detects which F-Curves are relevant to a PoseBone's transforms (+ custom props). This was prone to being tricked by certain setups if the names of the bones contained some of the keywords these were searching for. - Shuffled some code around: moved bulk of logic out of vec3 case into new function for single-value, since it was really doing per axis already
2011-02-18doxygen: blenkernel under core as module.Nathan Letwory
2010-12-29Bugfix [#24163] Unable to animate INSIDE a group node in theJoshua Leung
compositor This commit fixes the original bug reported here by adding some methods to move the relevant F-Curves (and drivers) over to the new Node-Tree's (i.e. group-node) AnimData. Animated nodes which subsequently get grouped will still be able to animate as a result of this commit. TODO's: - Ungrouping now will not yet merge the animation back (or at least copy it) - Buttons for nodes freshly grouped do not correctly show animated status indicators for some reason, yet normal animation does
2010-04-01Assorted animsys fixes/tweaks:Joshua Leung
* Fixed all the dangerous code added in 27907. Using the code there, scripters could corrupt animation files in ways which would render them useless, with channels not appearing in any animation editors, and others not getting evaluated at all. * Partial fix of bug 21818, by disabling destructive replacement of keyframes. Will followup this commit with a more comprehensive commit which gets rid of the rest of the problems, by incorporating some requests from Durian team. * Fixed problems with users being able to see+edit the name of the active Keying Set in the Scene buttons. There is still a bug though with the list widget given how the indices are now interpreted...
2010-03-26Optimization for pose channel name lookups using a hash, makesBrecht Van Lommel
playback in one particular scene with 3 characters go from 10 to 13 fps. (commit 27728 by Brecht from render25 branch)
2010-02-12correct fsf addressCampbell Barton
2009-11-24added a function to duplicate bPoseChannel's internal data - constraints, ↵Campbell Barton
id-props etc. duplicate_pose_channel_data(), the code to do this was inline in editarmature.c duplicating editbones now duplicates posebone id-props also removed an if test for &channew->constraints since it will always be true.
2009-11-21id properties for editbones and pose channels were not being freed in a ↵Campbell Barton
number of cases, added free_pose_channel(pchan) and use this in all places that free pose bones
2009-09-25Merge of itasc branch. Project files, scons and cmake should be working. ↵Benoit Bolsee
Makefile updated but not tested. Comes with Eigen2 2.0.6 C++ matrix library.
2009-09-172.5 - Animation Utility FunctionJoshua Leung
Added a utility function to check which transforms for an object or bone are animated, returning these as bitflags and/or optionally retrieving the relevant F-Curves too. Beware that this method may not be working correctly yet, but it shouldn't hurt anyone in the meantime :) Also, split RNA-path building function up into a version which only creates the path up to the given struct, with the other parts being added later.
2009-08-252.5 - NLA Bugfixes:Joshua Leung
* F-Modifiers on F-Curves can now taken into account when calculating the extents of actions. This is used when there are some NLA strips and some action with some F-Modifiers is being played back on top of those. * The toggles in the NLA channels list now respect the width of the list instead of using a hardcoded position. This means that clicking on these toggles when the list is resized works again.
2009-07-212.5 - Restoring Bone Groups Joshua Leung
* Added Bone Groups UI to 'Armature' context buttons for now. Later, it may be more convenient to have these with bones instead? * Added operators for the operations that can be performed on these groups. Moved the core adding/removing functions to blenkernel so that they can be used elsewhere in future if need be. * Properly wrapped bone groups in RNA. Copied the way that Vertex Groups are wrapped, since they share some similarities. Setting colours for bone groups still needs more work though.
2009-06-23NLA SoC: Big Commit - Restored NLA-Mapping Corrections Joshua Leung
In TweakMode, the keyframes of the Active Action are now shown (and can be edited) in NLA-mapped time, with appropriate corrections applied when editing. This works in the DopeSheet and Graph Editors :) To do this, got rid of the old wrappers/API-methods, replacing them with new-style ones. A few methods previously (in this branch) used only for evaluation are now used for this purpose too. As the same code is used for editing + evaluation, this should now be much better to work with. I've only done a few brief tests now, but I think I might've muddled the invert-flags on one or two cases which I'll need to check out tomorrow. So, beware that there may be some weird and critical bugs for the next few days here... Also, added proper license headers to new NLA files. TODO: - testing + bugfixing due to this commit - show range of keyframes in NLA Editor active-action line
2009-06-202.5 merged 20773:21020Martin Poirier
2009-06-19BGE: allow action blending by bringing back blend_poses() as ↵Campbell Barton
game_blend_poses, the new animation system doesnt use it but doesnt have a replacement function so it can be kept for the BGE only.
2009-05-23NLA SoC: Adding more backend code/utilitiesJoshua Leung
* Data copying * Strip sorting
2009-04-15Action Constraint: Optimisation attemptJoshua Leung
Following on from the methods added specially for PoseLib to only execute the F-Curves in a given Action Group, I've attempted to use this for evaluating Action Constraints on Pose Channels. This does rely on the F-Curves being in groups named according to name of the Pose Channel of interest, hence, we may need some way to be able to fine tune this later. Preliminary tests seem to be promising, with rigs with quite a few action constraints being slightly more responsive (subjective test though). Please test thoroughly.
2009-04-14Action Code - Tidied up some code that wasn't working yetJoshua Leung
2009-02-09Animato: Added 'experimental' grouping schemes for F-CurvesJoshua Leung
When inserting keyframes on previous un-animated Objects/bones, F-Curves will be added into Action Groups into either "Object Transform" or <PoseChannel Name>. Ob->Material settings are not grouped for now to illustrate what's possible. Old files are currently not patched to use do this, as it's still not clear whether this will be ideal.
2009-01-29Animato: Groundwork for getting Action Constraint functional againJoshua Leung
Currently this still works really badly, but I'm not sure of the exact cause yet.
2009-01-182.5 - AnimSys Data management stuff...Joshua Leung
* Removed nAction struct. We'll be using good ol' bAction structs again, but putting new data in a different list. Apart from that, the data is similar enough to do so. * Rearranged code in DNA_action_types.h while renaming the structs to avoid confusion over what is currently in use... * Added freeing and AnimData execution loops for many other ID-types too. (NOTE: I've added AnimData in NodeTree struct too, but it's not clear to me where the relevant data-management calls should go in Nodes code). * File writing code should now only write the new data to files
2009-01-172.5: Blender "Animato" - New Animation System Joshua Leung
Finally, here is the basic (functional) prototype of the new animation system which will allow for the infamous "everything is animatable", and which also addresses several of the more serious shortcomings of the old system. Unfortunately, this will break old animation files (especially right now, as I haven't written the version patching code yet), however, this is for the future. Highlights of the new system: * Scrapped IPO-Curves/IPO/(Action+Constraint-Channels)/Action system, and replaced it with F-Curve/Action. - F-Curves (animators from other packages will feel at home with this name) replace IPO-Curves. - The 'new' Actions, act as the containers for F-Curves, so that they can be reused. They are therefore more akin to the old 'IPO' blocks, except they do not have the blocktype restriction, so you can store materials/texture/geometry F-Curves in the same Action as Object transforms, etc. * F-Curves use RNA-paths for Data Access, hence allowing "every" (where sensible/editable that is) user-accessible setting from RNA to be animated. * Drivers are no longer mixed with Animation Data, so rigs will not be that easily broken and several dependency problems can be eliminated. (NOTE: drivers haven't been hooked up yet, but the code is in place) * F-Curve modifier system allows useful 'large-scale' manipulation of F-Curve values, including (I've only included implemented ones here): envelope deform (similar to lattices to allow broad-scale reshaping of curves), curve generator (polynomial or py-expression), cycles (replacing the old cyclic extrapolation modes, giving more control over this). (NOTE: currently this cannot be tested, as there's not access to them, but the code is all in place) * NLA system with 'tracks' (i.e. layers), and multiple strips per track. (NOTE: NLA system is not yet functional, as it's only partially coded still) There are more nice things that I will be preparing some nice docs for soon, but for now, check for more details: http://lists.blender.org/pipermail/bf-taskforce25/2009-January/000260.html So, what currently works: * I've implemented two basic operators for the 3D-view only to Insert and Delete Keyframes. These are tempolary ones only that will be replaced in due course with 'proper' code. * Object Loc/Rot/Scale can be keyframed. Also, the colour of the 'active' material (Note: this should really be for nth material instead, but that doesn't work yet in RNA) can also be keyframed into the same datablock. * Standard animation refresh (i.e. animation resulting from NLA and Action evaluation) is now done completely separate from drivers before anything else is done after a frame change. Drivers are handled after this in a separate pass, as dictated by depsgraph flags, etc. Notes: * Drivers haven't been hooked up yet * Only objects and data directly linked to objects can be animated. * Depsgraph will need further tweaks. Currently, I've only made sure that it will update some things in the most basic cases (i.e. frame change). * Animation Editors are currently broken (in terms of editing stuff). This will be my next target (priority to get Dopesheet working first, then F-Curve editor - i.e. old IPO Editor) * I've had to put in large chunks of XXX sandboxing for old animation system code all around the place. This will be cleaned up in due course, as some places need special review. In particular, the particles and sequencer code have far too many manual calls to calculate + flush animation info, which is really bad (this is a 'please explain yourselves' call to Physics coders!).
2009-01-042.5Ton Roosendaal
Think global, act local! The old favorite G.scene gone! Man... that took almost 2 days. Also removed G.curscreen and G.edbo. Not everything could get solved; here's some notes. - modifiers now store current scene in ModifierData. This is not meant for permanent, but it can probably stick there until we cleaned the anim system and depsgraph to cope better with timing issues. - Game engine G.scene should become an argument for staring it. Didn't solve this yet. - Texture nodes should get scene cfra, but the current implementation is too tightly wrapped to do it easily.
2008-12-292.5 - Action Editor / Animation Stuff:Joshua Leung
* Brought back clean (OKEY), sample (Shift-OKEY), and delete (XKEY/DELKEY) tools for the Action Editor. Currently clean uses a predefined threshold (as a rna-prop, though it's still lacking the popup to set this when it is called) * Added new file for 'destructive' keyframe operations/tools. * Got keyframing.c compiling. Now, some of these tools need to be operatorised. Also, the API there might change when enough of the system is stable for RNA-IPO work to take place (so that it can be tested).
2008-12-242.5Ton Roosendaal
Removed global "workob" from BKE, should now by passed on as an arg.
2008-12-212.5 - Object name display in 3d-view now highlights on frames with keyframes ↵Joshua Leung
again. * Re-exposed relevant parts of anim_keyframing.c code that doesn't have external dependencies. * Added get_active_posechannel() to blenkernel api for poses/posechannels to solve the only missing link I found. This should have been moved there ages ago!
2008-09-17Fix for bug #4192: game engine armatures that are dynamically addedBrecht Van Lommel
but don't have an action got the pose of already added armatures, even though they're not related. This also fixes an issue where the armature in Blender would end up in the pose from the game after ESC, removes unneeded copies made during armature evaluation, and also solves the constraint copying hack.
2008-09-05* corrective UV transformation - only works with UV edge slide right now. ↵Campbell Barton
but should be extended so transforming dosnt distort UV's * smooth respects mirror option (will move mirrored vert too)
2008-06-18BGE Patch: Add Shape Action support and update MSCV_7 project file for glew.Benoit Bolsee
Shape Action are now supported in the BGE. A new type of actuator "Shape Action" is available on mesh objects. It can be combined with Action actuator on parent armature. Only relative keys are supported. All the usual action options are available: type, blending, priority, Python API. Only actions with shape channels should be specified of course, otherwise the actuator has no effect. Shape action will still work after a mesh replacement provided that the new mesh has compatible shape keys.
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-01-20== Bone Groups ==Joshua Leung
I'm committing some work-in-progress code for "bone groups" now, as I there have been are some major bugs caused by the timeoffset stuff (some of my test files were not loading, and other files were showing all sorts of weird problems). Anyway, in this commit, the following things for "bone groups" have been done: * Bone groups are stored per armature (internally, this is per bPose block) * Added controls for editing bone-groups per armature - "add", "remove", "rename". These can be found in the "Links and Materials" panel in PoseMode, beside the settings for PoseLib. * Reorganised buttons for editing selected bones in PoseMode. I've replaced the "dist" and "weight" buttons (they existed in EditMode anyway) with a menu to choose the bone-group and the custom-shape-ob field. In the place of the old custom-shape-ob field, I've restored the "Hide" button. This might break muscle-memory a bit, but there isn't a lot of space to play with there. Some stuff I'd been originally planning to do before committing: * When adding keyframes for bones, an action-group with the same name as the bone's group will be added to the action, and the action-channel will be made a member of that. * New action/bone groups have unique names (renaming/adding new should check if name exists before assigning it) * There's a setting under Bone-Groups stuff which sets which custom-colour set is used to colour that group's bones. Currently, this is non-functional, as the necessary drawing code for armatures is not in place yet.
2007-10-22== Action Constraint ==Joshua Leung
Now the Action Constraint can be applied to Objects as well as Bones!
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-19removing duplicate constantsCampbell Barton
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-08-20Bugfix #4892Ton Roosendaal
Compositor: Image nodes used for Movie files didn't convert the relative paths (if used), so it could not load the movie file. This bug explains why sometimes movies worked in the Compositor... so for the current release the bypass is to disable the "Relative" button in the File Window.
2006-01-04Orange: Another issue with Armature layers; in NLA, the strips with aTon Roosendaal
locked length should not skip hidden channels.
2005-12-19orange: cleaning up / (msvc) compile fixes to the new editnla functions ↵Toni Alatalo
(experimental / made for baking and AvailRot/Loc keying methods)
2005-11-16Revision of NLA stride option.Ton Roosendaal
Previously, using the "Stride Bone" tried to get that Bone motionless on the path by correcting the internal time of the Action. This however caused too many problems, especially with irregular walks. The new system also tries to keep the Stride Bone motionless, but this by moving the entire armature, and not changing the timing of the Action. Give much nicer results. :) To make editing Strides easier, I've added a new option in the NLA panel to disable the path. This way you can quickly switch to editing the action itself (keying the stride bone) and viewing the result.
2005-10-31Fix for HOME key in Action Window. Didn't check for mapped NLA time yet.Ton Roosendaal
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-10Stupid me! Committed in wrong console with wrong dir... here's the rest ofTon Roosendaal
all files for the Ipo/Action/NLA makeover...
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-
2005-04-11Bug fix #2411Ton Roosendaal
(Looks like big commit, but is mostly just change of API call!) Particle emittors now can be parented to an armature Bone, and give the correct path for each particle. Note that this doesn't work for deform! And, for each particle the entire armature is evaluated, all actions and NLA strips. It used to work a little while BTW, but the code just called ALL armatures and made ALL deforms again. Was quite slow... thats why the API call change: do_all_actions() now accepts Object * to only do that one. With a NULL it now does all still. Will disapppear in recode of course...
2004-11-111) Bug fix 1776Ton Roosendaal
Lattices seem to have deform lag, when they're animated with Ipos. Found out this behaviour is already from before 2.25... solved with removing a where_is_object() from deform code, but dont fully grasp why. Tested with good demo file, with motion blur too. 2) No functional changes, just made 2 files compile without warnings; - added extra ifdefs __NLA_BLENDCON for unused calls - removed zealot 'const' from function protos and variables, these cannot work there, and hence gave warnings - added void pointer casts for array conversions in matrix code
2004-01-03made verify_pose_channel() return the pose channel that is eitherChris Want
found or created (just removed some silly duplicated work).
2004-01-03Armature speed ups, Part IChris Want
-------------------------- Major speed up for armatures during times when you aren't posing a figure. Background: the calculation of poses generated by actions and the calculation of displists were getting somewhat out of sync. This was being remedied by 'clearing the constraint done flag' of the pose channels and recalculating the displists every time the 3d view was redrawn, making life slow and unpleasant. Commenting out the code that was doing this, then reinserting the 'clearing the constraint done flag' at the right times made things a bit more perky.
2004-01-02Fixed the goofy way the function prototypes in these files were doneChris Want