Plane Deformation with Armatures

I’m fairly new to using armatures and bones, so bare with me please.

I’m attempting to use armatures to deform a plane real-time in the BGE. I’m having a hard time with this, as it seems that, generally, you only use one armature with many bones. The goal is to procedurally deform the plane in an attempt to create an essentially random ground model, on-load. I thought my setup would look something like this…

The plan was to move each armature individually (up and down), and the plane above it would bend according to the heights of the armatures. ** The heights I set for each armature would be determined by a python script to create a unique and varied terrain each time the scene is loaded. This allows me to increase the vert density of the terrain model and generate large, seeded environments on each fresh load. So unless I can move individual bones easily via python script (I’ll look that up right now, actually…) it would have to be multiple armatures, right?

I’m not sure where to start.


Looks like I should be using channels. Any chance someone could post an example of changing a bone position via channels? A snippet of code or a .blend, or link to an appropriate tut. Thanks in advance!

My current py script.

import bge
cont = bge.logic.getCurrentController()
own = cont.owner

actuators = cont.actuators['Property']
# does it matter what type of actuator I use?

channels = actuators.channels

I get an error that informs me actuators has no property “channels”.

You might want to be posting this in the game engine support section of this forum.

With a subdivided plane and 3 bones, like your picture is showing, is an easy task as far as animation is concerned. 1 armature will handle it all and you can move single bones via python, but the game engine part of it I don’t know about…