Game Development Reference
In-Depth Information
//---------------------------------------------------------------
// Update is called once per frame
void LateUpdate ()
{
//Get output velocity
Vector3 Velocity = Vector3.zero;
//Calculate rotation interpolate
ThisTransform.rotation =
Quaternion.Slerp(ThisTransform.rotation, Target.rotation,
RotationDamp * Time.deltaTime);
//Get new position
Vector3 Dest = ThisTransform.position =
Vector3.SmoothDamp(ThisTransform.position, Target.position, ref
Velocity, PosDamp * Time.deltaTime);
//Move away from target
ThisTransform.position = Dest - ThisTransform.forward *
DistanceFromTarget;
//Set height
ThisTransform.position = new
Vector3(ThisTransform.position.x, CamHeight,
ThisTransform.position.z);
//Look at dest
ThisTransform.LookAt(Dest);
}
//---------------------------------------------------------------
}
More information on Quaternion.Slerp can be found online at
http://docs.unity3d.com/ScriptReference/Quaternion.
Slerp.html , and more information on Vector3.SmoothDamp can be
found online at http://docs.unity3d.com/ScriptReference/
Vector3.SmoothDamp.html .
 
Search WWH ::




Custom Search