I've been experimenting in a vain attempt to make a hug command that actually ensures that the two avs are oointing at each other before the animations play. I know you can't rotate avs directly from script, but I've found that an avatar will rotate as a result of being pushed (via PushObject or MoveToTarget), and was therefore trying to use that to ensure alignment by moving the av first to a point distant from but directly opposite the target, and then moving the av directly towards the target, with this movement forcing the av to turn towards the target.
The problem I've had is an unusual one. Sometimes the camera tracks with the moving av; if it does, then the av turns to face away from the camera as soon as the motion finishes. Sometimes, however, the camera stays in place when the av moves (meaning that you see your own av side-on walking across the screen) and in this case, the av does actually turn correctly. Does anyone know what determines whether the camera moves or not?
Another odd discovery occured when I tried to stop the avatar turning back to the original camera orientation by subjecting it to a continuous series of tiny MoveToTargets back and forth in the correct facing direction as soon as it arrived at the target. The AV did in fact stop turning and wound up at roughly halfway between the camera direction and the direction facing the target (having started facing perpendicular to the target). Does anyone know if this can be suppressed further, perhaps by using a different location for the tiny motions?