摄像机的旋转和移动(Unity / C#)

脚本要挂载在相机上

移动,实现左右和上下移动

void Update()
{
    float h = Input.GetAxis("Horizontal");                   //检测水平方向键
    float v = Input.GetAxis("Vertical");                     //检测垂直方向键
    transform.Translate(new Vector3(h, v, 0)*speed);         //左右上下移动,可以修改为前后左右移动
}

旋转

void Update()
{
	//检测水平和垂直方向键
    float h = Input.GetAxis("Horizontal") * speed;
    float v = Input.GetAxis("Vertical") * speed;
    // 获得鼠标当前位置的X和Y
    //float h = Input.GetAxis("Mouse X") * speed;
    //float v = Input.GetAxis("Mouse Y") * speed;
    // 鼠标在Y轴上的移动号转为摄像机的上下运动,即是绕着X轴反向旋转
    transform.localRotation = transform.localRotation * Quaternion.Euler(-v, 0, 0);
    // 鼠标在X轴上的移动转为主角左右的移动,同时带动其子物体摄像机的左右移动
    transform.localRotation = transform.localRotation * Quaternion.Euler(0, h, 0);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章