Point At

What does it do?

This expression tag is, frankly, a copy of the one originally delivered with the C++ SDK. I found it useful enough as it was... with the exception that the target was searched by name, with all the problems that it caused. Therefore, I added the local name search to allow aggregation in assemblies. Voilá.

Point At attributes

The tag does not have many attributes to inspect. For a discussion of the local name search, please refer to the Kinematic Tools page. The flag "Active" determines whether the tag is evaluated at all. If the flag "Change Pitch" is set, the z axis of the object will point at the target. This is useful for "pointing". If that flag is not set, the object will instead rotate around the z axis so the -y direction points into the general direction of the target.

Point At demo scene

The image above is taken from the demo scene "target_local.c4d".

Note that the position of the target has to be calculated into a rotation of the object. For such a calculation, more than one possible solution exists, and the internal algorithm of C4D has to decide which of these solutions fits best. This may lead to certain "jumps" in the object's rotational data when two slightly different target positions lead to vastly different solutions. Since in the demo scene above the pointing object is symmetrical, you won't be able to see those jumps, but try "target_local_B.c4d" instead, which visualizes the axes of the object, and you will see where the difficulties lie. If you use the tag in animations, you might want to align the axes in a way that no such jumps occur during the animated movement.

Also note that the expression is purely static. The position of the target is immediately converted into an object rotation. The object does not "follow" the target, and thus does not display any inertia.


Back to the Kinematic Tools Page

Back to Main Manual Page