bge camera actuator: -X and -Y axis

The camera actuator only allows to look the object from its front face.

Given that Blender takes -Y as the default forward orientation, the current
functionality doesn't let a camera to track an actor from behind.

This patch allows for -X and -Y axis tracking. This way a camera over the
shoulders of a character is possible (without resorting to rotate the
mesh/armature original orientation.

- patch reviewed by Campbell Barton, thanks
This commit is contained in:
Dalai Felinto
2012-01-11 07:27:39 +00:00
parent 0effb45d58
commit 782f0b6382
7 changed files with 72 additions and 31 deletions

View File

@@ -12941,7 +12941,23 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
/* put compatibility code here until next subversion bump */
{
{
/* convert Camera Actuator values to defines */
Object *ob;
bActuator *act;
for(ob = main->object.first; ob; ob= ob->id.next) {
for(act= ob->actuators.first; act; act= act->next) {
if (act->type == ACT_CAMERA) {
bCameraActuator *ba= act->data;
if(ba->axis==(float) 'x') ba->axis=OB_POSX;
else if (ba->axis==(float)'y') ba->axis=OB_POSY;
/* don't do an if/else to avoid imediate subversion bump*/
// ba->axis=((ba->axis == (float) 'x')?OB_POSX_X:OB_POSY);
}
}
}
}
}
/* WATCH IT!!!: pointers from libdata have not been converted yet here! */