Mesh problem when the scale is inverted

I have a small problem with the game I’m working on and I don’t know how to solve it.
There is two characters that are always looking to each other and to do that, I just scale the X axis world of the armature (character_armature.worldScale = [-1, 1, 1]) when they switch position. It works fine except when the armature is animating in pose mode by Actions. Normals seems inverted too but I’m not sure. What could I do to fix that?


Tab key to enter Edit Mode
A key to select all
W key for specials menu
Select ‘Flip Normals’

Voila!

No, because it will be switched anyways after the scale, I need to do that each time they switch.

But I checked and this is not an issue from the normals. When I zoom close to the character I can see that’s more a geometry problem. Probably the skinning that doesn’t support the scale ? Any idea ?

I wonder why you scale them to achieve a rotation?
Wouldn’t it make more sense to turn the characters base (e.g. physics object) by 180°?

Yes of course I could just rotate the character (and It’s working perfectly! :rolleyes:) but I like more the visual result when they are flipped. More like a 2D display with 3D objects.

I finally found that the problem is not directly related to the game engine. The rig does also the same issue in the 3D view when I flip the armature in object mode. I thought that doing it, everything in pose mode would just work inverted. Apparently not all constraints, I need to see what exactly.

Yep, negative scales produces normal flipping.
You need character flatten to 2d plane and then it grow full scale backwards?
You need made it 3 stages.
First Animate scale 1.0 to 0.0
Second rotate character 180 degrees (z axis)
Then animate scale 0.0 to back 1.0

To flip/ mirror an object just press ctrl + m and select an axis (x or y), inverted scaling doesn’t always work very well. You will have to recalculate the normals after flipping (most likely).

And can I change the normals during the game with the bge api?