New Track To Constraint: "Damped"
authorJoshua Leung <aligorith@gmail.com>
Fri, 30 Oct 2009 06:33:40 +0000 (06:33 +0000)
committerJoshua Leung <aligorith@gmail.com>
Fri, 30 Oct 2009 06:33:40 +0000 (06:33 +0000)
commitae3cf92491be73f353b278f1632a68990d0e44d9
treefe905d35c85aa502620c97e9b53324c8dc99e5ba
parentfe68d2672dcba346a5bbf904a3d46141e5b4c651
New Track To Constraint: "Damped"

This is effectively a C-port of Nathan Vegdahl's "No Twist" TrackTo PyConstraint, and has been added as a separate type of constraint to be consistent with the existing constraints (Locked Track, and Track To).

In general, this works considerably better than the existing "Track To" constraint, since it works by determining the smallest rotation necessary to get the current orientation of the owner to an orientation which would be tracking the target. It is also a much more straightforward approach than the weird old method the old Track To uses.

I've made a few tweaks to the code to deal with the (hopefully rare) cases where the target and the constrained are coincident. These don't appear to cause too much trouble in general.

TODO:
- Probably the naming of the constraints will change, to better convey their purposes. Naming suggestions welcome.
release/scripts/ui/buttons_object_constraint.py
source/blender/blenkernel/intern/constraint.c
source/blender/blenlib/intern/arithb.c
source/blender/makesdna/DNA_constraint_types.h
source/blender/makesrna/RNA_access.h
source/blender/makesrna/intern/rna_constraint.c