3

Bone Matrices. A bone is defined along its local Y axis. The roll is a rotation around the y axis. Let's say for example sake, we add a default single bone armature, and give bone a roll of 45 degrees. Edit Mode >>> C.active_bone bpy.data.armatures['Armature.001']...EditBone >>> C.active_bone.roll = radians(45) >>> degrees(C....


2

Try to disable "In Front" in Viewport Display in the Armature Tab - that worked for me


2

You can loop through all objects and check if they are parented to the armature. rig = bpy.data.objects['rig'] for obj in bpy.data.objects: if obj.parent == rig: # Do stuff pass If some objects are only connected via the armature modifier, simply check that the rig is the object of the armature modifier. rig = bpy.data.objects['rig'] ...


1

So, in the end I ended up creating the bones using new() then I converted by absolute rotation to matrix and transformed the bone by that. Then after that I added the absolute position to both the head and the tail of each bone and that got me the correct result. for i, node in enumerate(jms.nodes): scene_node = edit_bones.new(name=...


1

You don't have to shift origin in edit mode. Just parent armature to chair (if you want animate spinning from chair origin). For parented armature doesn't matter where origin is placed. Like here - Armature and Cone are parented to Empty with animated rotation. You can also parent armature directly to Cone, I did it just for a more freedom. But seems to me ...


1

When I would code this for a game, I would do it like this: Apply the sit down animation and wait for it to finish. Make the Character a child of the spinning chair seat. Rotate the seat of the spinning chair. Im not sure how to do this within a blender animation but I hope this approach might be useful for finding a solution.


1

Got an answer over discord but I figured I'd post it here to help anyone who finds this in the future. Connect the "stick" to the armature using object constraints instead of the armature modifier.


1

motion blur in blender is calculated based on the previous frame positions. so blender should load the scene for 2 frames to calculate motion blur, essentially to calculate motion. Adaptive subdivision is a heavy process and i believe happens only on the frame you are rendering so it has no data for the previous frame.


Only top voted, non community-wiki answers of a minimum length are eligible