Unity3D中怎样让摄像机跟随小球移动而不旋转
1个回答
2017-08-24
展开全部
public class CameraMover : MonoBehaviour {
public Transform follew;
public float distanceAway = 5.0f;
public float distanceUp = 2.0f;
public float smooth = 1.0f;
private Vector3 targetPosition;
private void LateUpdate()//Update()里也可以
{
//follow表示小球的transform组件,这里是对小球的坐标进行抬升,形成的摄像机的位置,调整distanceAway,distanceUp的值可以得到你想要的摄像机位置。
targetPosition = follew.position +
Vector3.up * distanceUp - Vector3.forward * distanceAway;
//Lerp是一个渐变函数,让摄像机目前所在的位置均匀的到达targetPosition的位置。
transform.position = Vector3.Lerp(
transform.position, targetPosition, Time.deltaTime * smooth);
//lookar看向目标
transform.LookAt(follew);
}
public Transform follew;
public float distanceAway = 5.0f;
public float distanceUp = 2.0f;
public float smooth = 1.0f;
private Vector3 targetPosition;
private void LateUpdate()//Update()里也可以
{
//follow表示小球的transform组件,这里是对小球的坐标进行抬升,形成的摄像机的位置,调整distanceAway,distanceUp的值可以得到你想要的摄像机位置。
targetPosition = follew.position +
Vector3.up * distanceUp - Vector3.forward * distanceAway;
//Lerp是一个渐变函数,让摄像机目前所在的位置均匀的到达targetPosition的位置。
transform.position = Vector3.Lerp(
transform.position, targetPosition, Time.deltaTime * smooth);
//lookar看向目标
transform.LookAt(follew);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询