今天给大家介绍下关于unity smoothfollow,下面我会放出详细的代码内容供大家参考,学习。
- // The target we are following var target : Transform;
- // The distance in the x-z plane to the target var distance = 5.0;
- // the height we want the camera to be above the target var height = 5.0;
- // How much we
- var heightDamping = 2.0; var rotationDamping = 3.0;
- // Place the script in the Camera-Control group in the component menu @script AddComponentMenu("Camera-Control/Smooth Follow")
- function LateUpdate ()
- {
- // Early out if we don't have a target if (!target) return;
- // Calculate the current rotation angles wantedRotationAngle = target.eulerAngles.y;
- wantedHeight = target.position.y + height-0.1;
- currentRotationAngle = transform.eulerAngles.y;
- currentHeight = transform.position.y;
- // Damp the rotation around the y-axis currentRotationAngle = Mathf.LerpAngle (currentRotationAngle, wantedRotationAngle, rotationDamping * Time.deltaTime);
- // Damp the height currentHeight = Mathf.Lerp (currentHeight, wantedHeight, heightDamping * Time.deltaTime);
- // Convert the angle into a rotation
- currentRotation = Quaternion.Euler (0, currentRotationAngle, 0);
- // Set the position of the camera on the x-z plane to:
- // distance meters behind the target transform.position = target.position;
- transform.position -= currentRotation * Vector3.forward * distance;
- // Set the height of the camera transform.position.y = currentHeight;
- // Always look at the target transform.LookAt (target);
- }