Commit Graph

33 Commits

Author SHA1 Message Date
Sybren A. Stüvel
4d0643a185 Fix T70447: 'WholeCharacter' Keying set doesn't key None properties
The issue is that `something.path_resolve('"custom_property"')` raises a
`ValueError` when the custom property is set to `None`. Since `None`
cannot be stored in a keyframe anyway, the property is now silently
skipped. Not having an explicit value is the closest we can get to
`None`. This of course breaks when the value should be `None` in between
not-`None` values, but I would consider that as a problem with the rig,
and not something Blender can fix.
2019-12-10 15:12:15 +01:00
Campbell Barton
2b029234ba Cleanup: alternate fix for T66019
Prefer triple quoting to avoid having to escape quotes.
2019-08-10 00:44:50 +10:00
Bastien Montagne
03f652b2c1 FIx T66019: Text cutoffs for descriptions in keyframe insertion (keyingsets). 2019-07-31 12:30:03 +02:00
Dalai Felinto
d01e0d1ef1 CTX_DATA_BEGIN for active object only (..._from_active_object)
For now only `selected_pose_bones_from_active_object`, more options can
be added on demand.

Discussed this with Campbell Barton. We may need this only for selected
pose bones, time will tell.
2018-10-19 08:31:58 -03:00
Dalai Felinto
c462c43c1a Multi-Objects: POSELIB_OT_pose_add
Make it work only for the active object bones
2018-10-12 19:51:11 -03:00
Sybren A. Stüvel
d8ee6158e9 keyingsets_builtins: use keyword parameters 2018-09-05 11:01:17 +02:00
Campbell Barton
b66aa0b0a6 Cleanup: pep8 2018-07-03 06:48:44 +02:00
Campbell Barton
7260a693e1 Cleanup: trailing space 2017-07-25 01:28:15 +10:00
Bastien Montagne
7abed4e433 Fix T51867: Insert Keyframe I - L / I - R / I - S key combos are broken.
Reorder keyingsets registration order, since it also afects order of I
menu options, better show most used ones first, pure alphabetical order
is not great here... Will likely break some muscle memory though. :|

Based on D2720 by Carlo Andreacchio (@candreacchio), thanks.
2017-06-22 10:29:55 +02:00
Campbell Barton
9bdda427e6 PyAPI: remove bpy.utils.register_module()
In preparation for it being removed, see: T47811
2017-03-18 20:03:24 +11:00
Sybren A. Stüvel
305fec8358 Fixes for pose library change 601ce6a89c
Apparently the keying sets system doesn't support subclassing
KeyingSetInfo subclasses. I have added a note to the top of the file to
indicate this to future developers.
2016-09-28 15:40:22 +02:00
Sybren A. Stüvel
601ce6a89c POSELIB_OT_pose_add: only create keyframes for selected bones.
Previously the pose library used the WholeCharacter key set, which ignores
selection and add keys for almost all bones in the rig. This is a very
slow operation on complex rigs. With this patch, only selected bones are
keyed, defaulting to keying all bones when none are selected.

Note that this fixes the FIXME previously mentioned in the source.
2016-09-28 13:54:57 +02:00
Campbell Barton
a3ce64be5a Cleanup: unused vars, imports, pep8 2016-08-01 11:55:06 +10:00
Joshua Leung
1139e51be6 Fix: "Whole Character" Keying Set should not include Location on bones with "connected" joint 2016-05-18 16:29:18 +12:00
Joshua Leung
49aeee5a3d Bendy Bones: Advanced B-Bones for Easier + Simple Rigging
This commit/patch/branch brings a bunch of powerful new options for B-Bones and
for working with B-Bones, making it easier for animators to create their own
rigs, using fewer bones (which also means hopefully lighter + faster rigs ;)
This functionality was first demoed by Daniel at BConf15

Some highlights from this patch include:
* You can now directly control the shape of B-Bones using a series of properties
  instead of being restricted to trying to indirectly control them through the
  neighbouring bones.  See the "Bendy Bones" panel...

* B-Bones can be shaped in EditMode to define a "curved rest pose" for the bone.
  This is useful for things like eyebrows and mouths/eyelids

* You can now make B-Bones use custom bones as their reference bone handles,
  instead of only using the parent/child bones. To do so, enable the
  "Use Custom Reference Handles" toggle. If none are specified, then the BBone will
  only use the Bendy Bone properties.

* Constraints Head/Tail option can now slide along the B-Bone shape, instead of
  just linearly interpolating between the endpoints of the bone.

For more details, see:
* http://aligorith.blogspot.co.nz/2016/05/bendy-bones-dev-update.html
* http://aligorith.blogspot.co.nz/2016/05/an-in-depth-look-at-how-b-bones-work.html



-- Credits --
Original Idea: Daniel M Lara (pepeland)
Original Patch/Research: Jose Molina
Additional Development + Polish: Joshua Leung (aligorith)
Testing/Feedback: Daniel M Lara (pepeland), Juan Pablo Bouza (jpbouza)
2016-05-18 03:19:06 +12:00
Bastien Montagne
6da449b86c More UI message i18n fixes and improvements...
Fix for keyingsets tips, and make them (and a few others) findable by i18n messages extracting code (for some reasons, their bl_rna.description are void???).
2013-03-10 17:42:08 +00:00
Bastien Montagne
c4a165f168 Adding Scale Visual keying (and de-duplicated part of the code returning visual values to key). 2012-12-23 10:51:48 +00:00
Campbell Barton
9fa36b12cc style cleanup: pep8 2012-10-08 08:28:05 +00:00
Campbell Barton
458600d692 don't have spaces in idnames, confuses py types:
http://www.blender.org/documentation/blender_python_api_2_62_4/bpy.types.Whole%20Character.html
2012-04-26 18:07:15 +00:00
Joshua Leung
48f284d544 Tweaks for typos in the Keying Set descriptions commit 2012-03-09 10:24:53 +00:00
Bastien Montagne
a80b7d6129 Fixing several issues with keyingsets:
*Add a new idname to keyingsets, keeping name as label-only (using same string for both made lookup fail when using i18n other than english, as it tried to compare an untranslated static string id against a translated RNA name). Also adding a description string (can be helpful with custom keyingsets, imho).
*Fixed a few other bugs related to that area (namely, you can’t deselect current keyingset from the shift-ctrl-alt-I popup menu, and insert/delete key ops were using a rather strange way to get chosen custom keyingset…).
*Fixed UI code so that it always uses (RNA) enum, and simplified menu-creation code.
2012-03-08 14:04:06 +00:00
Campbell Barton
1f74789d12 Correct mathutils documentation, also correct some python spelling errors and add makefile target check_spelling 2012-02-08 04:37:37 +00:00
Dalai Felinto
1936b31cd0 renaming BooleanProperty to BoolProperty (rna structs shouldnt affect scripters)
Talked with Brecht and Campbell and they both agreed that bpy.types should match bpy.props
In the ideal world we would rename bpy.props to BooleanProperty. This would break scripts though. So we go for a compromise and at least have some consistency.
2011-12-01 22:08:42 +00:00
Campbell Barton
1a62235417 svn merge -r41171:41170 . --- fix coming next 2011-10-21 08:31:28 +00:00
Joshua Leung
c22a1721e5 Bugfix [#28967] Attempting to add a new pose to the Pose Library
causes Blender 2.60 RC2 to crash

This commit just rolls back part of r.40868, which was causing crashes
when trying to treat id-property-groups as bpy.type.Property to access
a special "rna_type" attribute added as part of said commit.

The underlying Py-API voodoo here is far too evil (along with the
myriad of ways of creating custom props) to work out an API fix for,
but at least we don't get anymore crashes now. In tests here, this
check even seems redundant!
2011-10-21 06:36:01 +00:00
Campbell Barton
ee8078fb12 fix for BUILTIN_KSI_WholeCharacter keying custom string/collection/group properties 2011-10-09 02:11:43 +00:00
Campbell Barton
35fedac565 fix [#28821] Whole Character keying set ignores non animatable propertyflag 2011-10-08 12:27:52 +00:00
Campbell Barton
b20c9b0ba3 minor edits, pep8 - also correct float -> double promotion for blf. 2011-08-30 10:49:58 +00:00
Campbell Barton
301e5b4ea0 fix for various python bugs and remove unused var. 2011-07-10 17:26:15 +00:00
Joshua Leung
18e4f7de4f Bugfix [#27090] Available keying set fails in armature pose mode
A change in the poll callback that Available KeyingSet used to use
restricted its use to Object-mode only, while this could also be
useful in Pose Mode (though it would only affect all channels there).

Made this use a custom poll callback now that tests for whether the
active object has an action. This does mean that if you select a bunch
of objects with animation data, but the active object doesn't have it,
then the keyingset will fail to fire, but that's been marked as a todo
in the code.
2011-04-21 01:21:28 +00:00
Campbell Barton
28594bc742 minor pep8 edits, also added 'test_pep8' & 'test_cmake' to the GNUmakefile for convenience. 2011-04-10 10:45:56 +00:00
Joshua Leung
b2753f6af9 "Bugfix" (i.e. feature request in disguise!) [#26772] Delta Scaling,
Rotation and Location don't have Keying Sets

Added Keying Sets for Delta Loc/Rot/Scale settings (aka dLoc/dRot).
These settings could already be found in the Object properties, under
the collapsed "Delta Transforms" panel.

I've added these to the end of the Keying Sets list, since adding any
earlier will end up breaking active Keying Set setting in older files.
Besides, these settings aren't that frequently used either...
2011-04-05 11:49:58 +00:00
Campbell Barton
2e6a02438e move script directories for internal blender scripts.
ui/ --> startup/bl_ui
op/ --> startup/bl_operators

scripts/startup/ is now the only auto-loading script dir which gives some speedup for blender loading too.

~/.blender/2.56/scripts/startup works for auto-loading scripts too.
2011-03-21 12:35:49 +00:00