Inverting/Flipping a boned character?

Blitz3D Forums/Blitz3D Programming/Inverting/Flipping a boned character?

Dock(Posted 2005) [#1]
I want to do a cheap reflection effect by flipping my boned character and putting it beneath my regular character. However, I seem to be having problems.

I'm using the following psuedo code:

newentity = CopyEntity(oldentity)
ScaleEntity newentity,1,-1,1

This flips the character, but I seem to be getting lots of errors. The character is inverted, and it doesn't animate. It also screws up the multiple textures (though I can get around this by using a single textureon the character).

Is there any way to flip an animated character reliably?


jhocking(Posted 2005) [#2]
I imagine the problem is that you are copying just the mesh and not the bones. Not sure how to fix that though.


Ross C(Posted 2005) [#3]
You could load in two versions :o)


Dock(Posted 2005) [#4]
I'm playing with this more, and there's definitely something amiss - it must be down to the bones. I can squash and stretch the mesh but I can't seem to flip it on the X co-ordinate, so I can't realistically reflect it.

The inside-out meshes just neeeded their normals updated, and then they were fine. However, still not able to mirror these things.


Dock(Posted 2005) [#5]
Just to clarify, I've tried loading the model as a seperate entity, and it still doesn't let me manipulate it properly. For instance if I use ScaleEntity 1,-1,1 it actually does ScaleEntity -1,-1,-1.

I'm trying to make water reflections and duplicating the geometry by hand is the cheapest way (CreateMirror is too much). Hmm.


Danny(Posted 2005) [#6]
I guess if you flip a bone on ANY axis, you will get the full inverted effect you describe..

I think Ross's suggestion would be the best, and 'create' the inverted character in your modeler yourself and move & animate it in-sync with your normal upright character?!

Danny