Изменить положение костей в арматуре в игровом движке Blender с помощью Python
Я работаю над отображением модели в реальном времени с пользовательскими данными, полученными из Kinect. Я могу получить доступ к отдельной кости, используя bge.types.BL_ArmatureObject(). Каналы, которые дают список костей. Я не могу изменить положение кости. Я попытался использовать вращение, чтобы дать ему некоторое вращение, но это не имело никакого эффекта. Пожалуйста, скажите мне, как это сделать.
1 ответ
Возможно, немного поздно, но для blender >= 2.5 это должно сработать:
# Get the whole bge scene
scene = bge.logic.getCurrentScene()
# Helper vars for convenience
source = scene.objects
# Get the whole Armature
main_arm = source.get('NAME OF YOUR ARMATURE')
main_arm.channels['NAME OF THE BONE YOU WANT TO ROTATE'].joint_rotation[ x, y ,z] # x,y,z = FLOAT VALUE
main_arm.update()
Я также записал это в обширном учебном пособии, которое начинается здесь: http://www.warp1337.com/content/blender-robotics-part-1-introduction-and-modelling