This has to do with how editors/modes have changed in 2.8 (presumably related to multi object editing?)
There is an option in the edit menu called Lock Object Modes which forces the mode to be consistent across all objects. If an object doesn't support the current mode then it cannot be selected. Disabling this mode allows leaving the armature in pose mode ...
Editing armature with existing animations is totally possible.
When you edit the armature in edit-mode, you directly change the rest-position. Any transformation (animation) is relative to this rest-position, so by changing the rest-pose you might break the animation (but if the animation is mostly rotations and you change only proportions of bones there ...
First note that bones have two representations within blender, the EditBone data represents it's static rest position within the armature while the PoseBone is the animated bone data that you would be moving around. The edit bones are stored in obj.data.edit_bones while the pose bones are in obj.pose.bones.
The rotation_mode value of a pose bone is used to ...
Choose the tab at the top of the screen that says "Animation". This will put a narrow "Timeline" panel at the bottom. Change the Timeline panel to "Dope Sheet"
The "Dope Sheet" panel has another drop-down menu near the panel-changing menu you just accessed. From this drop-down menu, change it from "Dope Sheet" (or whatever it may be) to "Action Editor".
The green man icon with the square indicates (and when clicked accesses editing of) the skeleton, rig, or Armature. It is about the number of Bones in the Armature, their relationship to each other, and their base position and rotation. (So even though it is the armature icon, an armature has a base pose, because it cannot not have one.)
The green man icon ...
Ditch the bones and make an object hierarchy.
Since each flap of your test file is a separate object would suggest can be done without the extra hassle of creating an armature.
For simplicity the face with the most folds is selected as the parent. Its origin is arbitrary and has been kept as the center of geometry.
Now for each flap connected to this, move ...
You can't move the panel in Pose mode because you haven't assigned any vertex of the panel to any vertex group in Edit mode, parenting With Empty Groups won't assign any vertex, it will just create vertex groups but by default no vertex is assigned to these groups for the moment, the object is waiting for you to assign its vertices to the right group, i.e. ...
The rotation difference returns how much to rotate from direction to direction. The result needs to be applied to current direction.
Setting the direction absolutely from the rotation difference result will only work for the case when initial value is 0.
By using matrices, will work for whatever rotation type the pose bone has.
Test script. Rotates ...
The word for that kind of thing is "vertex animation". Blender supports shape keys that can be imported into unity via FBX. They are typically used for cloth animation and facial animations that are difficult to do with bones - if you're looking for movement in general then you'd generally want to stick to the armature and use an armature in Unity as well. ...
I Noticed the same issue with Blender 2.79c. Even very simple models were presenting lags in bone selection.
What solved it for me was going to "user preferences->System" and changing the "Selection" option from "automatic" to "OpenGL Occlusion Queries".
Hope this helps.
Set matrix_basis to Identity
Following will reset transforms on all selected bones of the active object.
from mathutils import Matrix
context = bpy.context
for pb in context.selected_pose_bones_from_active_object:
pb.matrix_basis = Matrix() # == Matrix.Identity(4)
Using matrices per component
The above will reset all. What if we only ...
from mathutils import Vector, Quaternion
arm = bpy.data.objects['Armature']
for pb in arm.pose.bones:
#Set the rotation to 0
identityQuaternion = Quaternion((0, 0, 0), 1 )
pb.rotation_quaternion = identityQuaternion
#Set the scale to 1
pb.scale = Vector( (1, 1, 1) )
#Set the location at rest (edit) pose bone ...
I solved my problem.
For every bone in Edit Mode, I had to set the Roll value to 0.
Then, for some bones with Bone Constraints, I had to set the Pole Angle to 0 or 180.
Finally, I had to clear parents for my meshes and parent them to the bones again.
See this section of the api documentation. Setting PoseBone.matrix probably does the calculations required for PoseBone.matrix_basis but does not update the value of the underlying DNA world matrix property, which is wierd. Here is a script which uses the scene.update method:
def __init__(self, obj, scene):
What you want is currently not (simply) available as far as i know.
When animating on the right there is options, there you could enable AutoIk.
Together width that i would use helper empties. So you can set Bone constrains so that for example the feed take 100 height influence of the surfboard, and the hip takes 30%... but it might not realy look 'elastic ...
To return to the original pose, simply reset all the transformations.
Make sure your are in Pose Mode, by selecting the Armature and choosing Pose Mode in the 3D View (CtrlTab).
Then select all bones (A) and press
AltG to reset location
AltR to reset rotation
AltS to reset scale
EDIT: After inspecting the file you provided, the issue is that the leg bones actually bend backwards at the knee very slightly. In this case, Blender will never make the point point the direction you want. If you pull the knee joint forward a bit, or even just make the leg bones perfectly in line the IK will work as expected.
In the IK constraint options, ...
Copy Location Constraint.
Can leverage the existing behaviour of the copy location constraint, targeted to a mesh, subtargeted to a vertex group.
Test script, run in object mode with mesh object selected. Will add an empty for each vertex group at the mean location (as determined by constraint) of each ...
In Python, How to get pose bone to rotate with another pose bone from a different armature? Finding Rotational difference have shown how to snap a bone to another using world space matrices of each. The example snaps one bone to the world space rotation of another.
Similarly here could look at local space. Have simply converted the local ...
It's an action.
Just as poses are stored when keyframing to an action, a pose library is simply using an action as well.
Run thru example in python console, simple single bone object, LOCROTSCALE added to pose library as "Pose".
The object and its action
You could link-duplicate both the object and the armature, reset the pose of the linked-duplicated armature, and weight paint the linked-duplicated object, you'll see the result on the original posed object.
Ctrl+Tab will toggle pose mode if an object of type 'ARMATURE' is selected, or it will toggle weight paint if an object of type 'MESH' is selected.
Otherwise, you can select the armature in your 3D View (or outliner), then select pose mode from the menu in the header.