Bone constraints IPO

Hey,
I’ve added some copy rotation constraints to some bones of an armature and set their influence to 0, and in logic added an actuator to set their influences to 1, and then play an armature action and set back the influences to 0. But it isn’t smooth at all (blendin value for the action doesn’t seem to solve that) plus it looks like a mess, around 8 actuators connected to only 1 controller makes it hard to see. So I’ve tried keyframing the influences in the dope sheet but when I try to play it in the game engine nothing happens.

Is there a way to use keyframed constraint influences in the game engine? or applying transform to pose before setting the copy rotation constraint to 0 so it blends smoothly to pose?

Thanks in advance.

Only way I can think about is to blend two armatures (same method to smoothly go from IK-pose to FK-pose with driver).

Actually I’m already blending 2 armatures. kindof too long to explain it all but what I want to achieve is: each bone of the first armature copies the rotation of it’s corresponding bone in the second, and then applying the rotation to pose and disabling the constraint, then playing an action that is blended smoothly.

In short: Applying visual transform to pose in the game engine, Is that possible?

Bump, I really need to know if it’s possible.

With drivers you can smoothly increase/decrease the influence of the constraints. So play actions on the drivers. Maybe I don’t quite understand the question. I’m sorry if that’s the case.

you did understand it, thanks :slight_smile:
I’ll study more about drivers.

Sorry for bumping this again, but the drivers don’t seem to work in the GE… any tip?

They should. It’s been a while, but I did this before, by adding drivers on the constraints and then making controls for those drivers on an Empty. Then you can make actions on that Empty for those channels. Or maybe since 2.6 there’s been some changes, but I’ve never seen a bug report.

It worked perfectly in viewport but not in the GE.

Ok, if you want to try and mix states, I suggest using a “rigga ragdoll” and then use Torque and force applications to attempt to match the actions.

2 conflicting forces can be applied, by “Weighting” the force and torque, you could end up with the mixed state,
or smoothly switch targets.

Check out the item Empty.001 in this file and the script “text”

This is “TorqueTrackTo” and “ForceMoveTo”

if these were in Rigid body bone, and targeted the armatures, you could change the properties

“Force”
and
“X1”

in real time, the higher the number, the greater the amount of force applied to try and match the target objects position, or/and orientation.

modifying the script so each rigid body bone stores it’s own target could mean easy target transitions in real time in game :smiley:

Attachments

3rd_person_cam_beta (1).blend (469 KB)

@BluePrint
Well I thought about it and tried it before but it’s just so glitchy and it has around 50% chance of doing it correctly :stuck_out_tongue: So I just wanna stick to armatures.

What is not happening? are they not aligning?

maybe we can fix this, what is the damping level of your Rigid body objects?

You’re right. A simple exercise showed that drivers are broken in de BGE. Or am I missing something here? I’m pretty sure it hasn’t always been like that so maybe someone else knows about this issue. It’s pretty important that it should be fixed, I would believe. Hmm, very disappointing.

Up/Down Arrows to change the influence of the constraint. It should be the same as moving the slider in the viewport.

Attachments

Armature_driver_00.blend (92 KB)

Well then I guess I’ll just use my messy, non smooth way until drivers are fixed.

@BluePrint it does work but not as perfect as armature with children rigid body jointed to the ragdoll (It’s basically a fully controlled armature with not in-a-box collisions and realistic springness at some parts, which cannot be obtained with torque to target).

Best to be sure first if this will happen in the near future. Maybe Monster or someone else could confirm this is a bug? Maybe it isn’t and I imagined that it worked previously?

Edit: I checked with following versions and none seem to support drivers for the game engine: 2.5alpha2, 2.57b, 2.60a, 2.65a, … It seems that I was mistaken. I guess I never got to the point to actually check if my character setup worked in the game engine. I believe I was working with 2.57b back then.