[Robotics] Python control of armature in the GE

Benoit Bolsee benoit.bolsee at online.be
Tue Sep 8 18:00:37 CEST 2009


Hi,
 
I have added support for controlling armatures through Python in the GE.
This is provided through the new proxy class BL_ArmatureChannel that
corresponds to the pose channel structure. Most attributes match
directly the Blender bPoseChannel structure but I added a
'joint_rotation' attribute that gives direct access to joint angles. You
can use this attribute to set the joint angles from external data or
your own calculation and the armature will move according to it. If the
armature is controlled by IK, you can read the joint angles computed by
the algorithm. Full details is provided in the BPY documentation
included in the packages below. Download them if you want to know more
about it.
 
Other fix in this build is correct matrix operation with MathUtils:
http://lists.blender.org/pipermail/bf-blender-cvs/2009-September/022245.
html
 
For those who want to experiment, I made two builds on graphicall:
 
Linux: http://graphicall.org/builds/builds/showbuild.php?action=show
<http://graphicall.org/builds/builds/showbuild.php?action=show&id=1082>
&id=1082
Windows: http://graphicall.org/builds/builds/showbuild.php?action=show
<http://graphicall.org/builds/builds/showbuild.php?action=show&id=1080>
&id=1080
 
If your system is not in this list, you can check out the itasc branch
and compile. For those interested in the implementation, look at the
BL_ArmatureChannel.cpp module in source/gameengine/converter. If you
have some ideas to extend the API, you are welcome to make your own
additions and send me the diff, I will review and commit them to SVN.
 
The itasc branch will be merged with 2.5 in the coming days, it would be
nice to get some feedback before I start the merge.
 
/benoit.
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/robotics/attachments/20090908/9edf39e0/attachment.htm 


More information about the Robotics mailing list