相机跟随角色移动旋转方法

admin3年前unity基础API861

1:首先做个一个空的节点作为相机的根节点 

参数归0



2:在根节点添加一个节点作为缩放 镜头上下移动 Z 镜头远近 Y 镜头上下


微信图片_20221216102855.png



3:最后添加真正的镜头对象Camera 参数全部归0


微信图片_20221216103037.png



4:创建控制脚本


因为摄像机和根节点的距离是恒定的,所以可以通过选择根节点的Y轴实现围绕角色选择,


镜头缩放主要控制中间的suofang层进行操作 旋转主要控制根节点  

    //镜头缩放

    public void CamRotation()
    {


        if (Input.GetAxis("Mouse ScrollWheel") != 0)
        {
            //鼠标滚动滑轮 值就会变化
            if (Input.GetAxis("Mouse ScrollWheel") < 0)
            {
                this.transform.Find("suofang").Translate(0, 0,-1, Space.Self);
            }
            //Zoom in  
            if (Input.GetAxis("Mouse ScrollWheel") > 0)
            {
                this.transform.Find("suofang").Translate(0, 0, 1, Space.Self);
                
            }
        }

    }


  //摄像机的旋转
    public void Cam_Ctrl_Rotation()
    {



 
        if (Input.GetMouseButton(1))
        {
            var mouse_x = Input.GetAxis("Mouse X");//获取鼠标X轴移动
            var mouse_y = -Input.GetAxis("Mouse Y");//获取鼠标Y轴移动

                 
            this.transform.Rotate(0, mouse_x, 0);
           // this.transform.Rotate(mouse_y, 0, 0);

        }


    }


相关文章

利用射线获取被点击的物体信息

首先被点击的物体需要加上碰撞体Collider监听点击代码:鼠标点击:if (Input.GetMouseButtonDown(0))     &n...

Unity场景跳转方法

实现跳转不到的场景,需要先把场景添加到Build中首先引入命名空间using UnityEngine.SceneManagement;然后使用方法跳转 SceneManager.L...

Unity 插值运算

在unity3d中经常用线性插值函数Lerp()来在两者之间插值,两者之间可以是两个材质之间、两个向量之间、两个浮点数之间、两个颜色之间,其函数原型如下: 1.Material.Lerp&nbs...

Unity3d KeyCode 键盘各种键值详情

 Backspace     退格键  Delete      De...

unity 新的输入系统input system 使用

unity 新的输入系统input system 使用

1:首先在包管理器里安装 搜索"input system"2: 创建input acionts3:生成代码  勾选后点击右小角应用就可以自动生成相关代...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。