unity3d⿏标旋转视⾓⾃由视⾓代码
//把下⾯的代码挂在摄像机中
//摄像机跟随的主⾓物体
public Transform target;
//摄像机距离模型的默认距离
public float distance = 20.0f;
//⿏标在x轴和y轴⽅向移动的速度
float x;
float y;
//⿏标在x和y轴⽅向移动的速度
float xSpeed = 250.0f;
float ySpeed = 120.0f;
void Start()
{
if (gameObject.GetComponent<Rigidbody>() != null)
{
gameObject.GetComponent<Rigidbody>().freezeRotation = true;
}
}
void LateUpdate()html代码转链接
{
if (target)
{
//我的分析:1.根据垂直⽅向的增减量修改摄像机距离参照物的距离
distance += Input.GetAxis("Vertical");
//根据⿏标移动修改摄像机的⾓度
x += Input.GetAxis("Mouse X") * xSpeed * 0.02f;
y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;
Quaternion rotation = Quaternion.Euler(y, x, 0);
Vector3 position = rotation * new Vector3(0.0f, 0.0f, -distance) + target.position;
//设置摄像机的位置与旋转
transform.position = position;
}
}
void Update()
{
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论