0
$\begingroup$

Knowing the limitation of the animation system in BGE, I would like to make a eyelid-system for a character. I made a system that works in Blender, but it has a constraint influence driven by a bone, something that doesn't work in Game Engine.

You can download the test file here: http://www.pasteall.org/blend/41543

When eye.anim is animated (by being rotated), the eyelid.deform is influenced (with a Action constraint) to be raised or lowered, to have a natural movement. But, when I close completly the eyelid by animating eyelid.anim, eyelid.deform mustn't be influenced by eye.anim.

Again, the system that is in the file does work in Blender, but not in Game Engine. This is because it uses a constraint influence driven by a bone. And something like this doesn't work in BGE (*). The only way to change an influence is by Python... but I won't do this only for the eyelids.

(*) I reported this some years ago (and, by mistake, again some hours agou), but it is not a bug but a known limitation of the game animation system.

$\endgroup$
  • 1
    $\begingroup$ Aren't there other ways of animations, that result in the same effect but without changing the influence of a constraint? How about shape keys? $\endgroup$ – Monster Apr 22 '16 at 4:31
  • $\begingroup$ @Monster do shapekeys work in GE? o.O $\endgroup$ – Scalia Apr 24 '16 at 20:31
  • $\begingroup$ As far as I know shapekeys work in the BGE $\endgroup$ – Monster Apr 25 '16 at 6:31
  • $\begingroup$ @ARadish: yes, shape keys do work in BGE. Look at the answer I posted. $\endgroup$ – Mario Mey Apr 25 '16 at 19:39
0
$\begingroup$

@Monster comment made me remember that I used to use shape keys in eyelid movement. Now, I'm using bone deformation (because of someone suggest). To make any eyelid-system, I need to drive the influence of "something".

  • Using Bone Deformation: I have to drive some constraint influence.
  • Using Shape Keys: I have to drive shape keys value.

In BGE we can't drive constraint influence, but we can do it with Shape Keys values. So, the second method is the suitable one for me (at this moment).

I make a new file, with a Shape Keys based Eyelid-Movement here: http://pasteall.org/blend/41589

  • It respects the eye (bone) rotation (to raise and lower the eyelid.2 automatically).
  • When I close the eyelid (with eyelid.1 bone), eyelid.2 stands still.

enter image description here How the system works:

  • eyelid.1 is the bone to animate.
  • eyelid.2 copies eyelid.1 location (using Offset) and it has an Action constraint, to move itself when the eye is moving.
  • The mesh has a shape key eyelid.down that is driven with Minimum Value by two variables using eyelid.1 and eyelid.2, both with Transform Channel in Y Location at Local with its respective bones.
  • The shape key eyelid.up is driven by the same variables, but with Maximum Value and with the inverted curve.

... it's better to see the blend file.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.