diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/makesdna/DNA_constraint_types.h | 4 | ||||
-rw-r--r-- | source/blender/src/editobject.c | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h index 1fb28fb8d87..d48e18c177a 100644 --- a/source/blender/makesdna/DNA_constraint_types.h +++ b/source/blender/makesdna/DNA_constraint_types.h @@ -79,8 +79,8 @@ typedef struct bKinematicConstraint{ typedef struct bTrackToConstraint{ Object *tar; - int reserved1; - int reserved2; + int reserved1; /* Track Axis */ + int reserved2; /* Up Axis */ char subtarget[32]; } bTrackToConstraint; diff --git a/source/blender/src/editobject.c b/source/blender/src/editobject.c index 6db681d9d9f..71b3c4ec844 100644 --- a/source/blender/src/editobject.c +++ b/source/blender/src/editobject.c @@ -288,6 +288,12 @@ void make_track(void) data = con->data; data->tar = BASACT->object; + /* Lamp and Camera track differently by default */ + if (base->object->type == OB_LAMP || base->object->type == OB_CAMERA) { + data->reserved1 = TRACK_nZ; + data->reserved2 = UP_Y; + } + add_constraint_to_object(con, base->object); } } |