BGE armature deform, without modifier (Python)

is there a way to get armature deforms without using a modifier?

what do i need it for? im making class based characters with attachable inventory items, some of those, like clothes, require armature deforms.

using the modifier doesnt work since the modifier is preset to a specific armature, and needs to start parented.

setting the parent mode to “Armature” doesnt work at all.

upbge suggestions welcome.

The usage of modifiers is because the BGE uses the Blender animation system (since 2.62 I think). This requires to set up the modifier. It is a Blender concept rather than a BGE concept. The BGE needs armature parent.

Nevertheless this is static too. You can’t create this relationship while running the game.

An easy way to deal with this situation is to armature parent multiple different object to the same armature (e.g. skin, boots, shirt, hair and others). The object need to be mesh objects, but you can have zero vertex meshes. It is still static (constant number of objects). In practice you do not need a huge number of deformable mesh objects.

When you have an armature parented mesh object you can replace the mesh (e.g. via replace mesh actuator or via python). This allows you to see the mesh objects as “slots” rather then meshes. So you can replace one shirt with another without replacing the object. You replace the mesh only.

I hope this helps

this could work well, i would only need to make small changes for this to work. ill do some experimenting and see what happens.

thanks!

Just use a bone parent for the objects own armature and for it’s ik, target to another bone empty Then run armature

(each object has like 1 or 2 bones in it rather than the actor)

To get at armature bones to parent to, I use a empty parented to the bone labled witb a property

SLOT_1 etc.

So you can slap on pieces or change their object color etc

Not the most performant however quite flexible.