I am working with a makehuman model in blender. To change the pose of the model I modify the scale and rotation parameters of the bones. The code looks similar to
bpy.context.object.pose.bones['hand.fk.R'].rotation_euler[0] = 0
My goal is now to get the location of a specific vertex after some pose changes. I already tried to transform the vertex location with the object world matrix
bpy.data.objects['makehuman'].matrix_world * v.co
but since the world matrix is an identity matrix the result is the same independent from the current pose.
How can I derive the vertex location after a pose change, or is it even possible?
show_viewportof all modifiers temporarily, except the Armature modifier.to_mesh()will respect it. Obviously same problem with bmesh module. Maybe anyone else knows a good solution. It's not a problem however, as long as you don't use any fancy modifers on your posed meshed. – CodeManX Oct 22 '13 at 13:17ob.to_mesh). However, I am new to blender, and I don't understand what you mean with turn off theshow_viewportand how this could solve my problem? – Masala Oct 22 '13 at 14:23to_mesh(). If there's no modifier on your posed object other than the Armature modifier, access via index should be fine. If there are any other modifiers, you could temporarily turn them off in viewport (in python, by setting the.show_viewportproperty of each modifier), then useto_mesh(). Here is a code example – CodeManX Oct 22 '13 at 17:32bm = bmesh.new(); bm.from_object(..., deform=True); bm.transform(...)– CodeManX Mar 10 '15 at 17:34