unity如何实现摄像机控制
发表于:2025-02-19 作者:千家信息网编辑
千家信息网最后更新 2025年02月19日,这篇文章给大家分享的是有关unity如何实现摄像机控制的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。unity中第一,三人称控制器上绑定的都有一个叫Mouse Look的脚
千家信息网最后更新 2025年02月19日unity如何实现摄像机控制
这篇文章给大家分享的是有关unity如何实现摄像机控制的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
unity中第一,三人称控制器上绑定的都有一个叫Mouse Look的脚本,我把它写下来了;
[AddComponentMenu("Camera-Control/Mouse Look")]public enum RotationAxes{MouseXAndY=0,Mouse1,MouseY=2}public RotationAxes axes=RotationAxes.MouseXAndY;public float SensitivityX=15F;public float SensitivityY=15F;public float minimumX=-360F;public float maxmumX=360F;public float minimumY=-60F;public float maxmumY=60F;float rotationY=0F;void start(){ if(Getcomponent()) { GetComponent ().freezeRotation=true; }}void update(){ if(axes==RotationAxes.MouseXAndY) { float rotationX=transform.localEulerAngles.y+Input.GetAxis("Mouse X")*SensitivityX; rotationY+=Input.GetAxis("MouseY")*SensitivityY; rotationY=Mathf.Clamp(rotationY,minimumY,maxmumY); transform.localEulerAngles=new Vector3(-rotationY,rotationX,0); } else if(axes==RotationAxes.MouseX) { transform.Rotate(0,Input.GetAxis("Mouse X")*SensitivityX,0); } else { rotationY+=Input.GetAxis("Mouse Y")*SensitivityY; rotationY=Mathf.Clamp(rotationY,minimumY,maxmumY); transform.localEulerAngles=new Vector3(-rotationY,transform.localEulerAngles.y,0); }}
主角面向鼠标点击的方向:
Vector3 m_pos=Input.mousePosition; //获取鼠标的屏幕坐标; Vector3 p_pos=Camera.main.WorldToScreenPoint(transform.position); //将主角的世界坐标转化为屏幕坐标,为的是获得他的z轴坐标; m_pos.z=p_pos.z; //将主角的屏幕z轴坐标赋值给鼠标; Vector3 wolrd; wolrd.x=Camera.main.ScreenToWorldPoint(m_pos).x; world.z=Camera.main.ScreenToWorldPoint(m_pos).z; world.y=transform.position.y //y轴坐标不变,主角才不会转进地底; transform.LookAt(world); //主角看向鼠标点击的位置;
滑动鼠标中建,调整视野的远近:
float fov=Camera.main.FieldOfView; //获得摄像机调整视野的值; fov+=Input.GetAxis("Mouse ScrollWheel")*sensitivity; //滑动中建,调整视野值得大小; fov=Mathf.Clamp(fov,minFov,maxFov); //限制视野值得大小为(minFov,maxFov); Camera.main.FieldOfView=fov; //再将调整好的值赋值给摄像机的视野;
感谢各位的阅读!关于"unity如何实现摄像机控制"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
坐标
主角
视野
鼠标
摄像机
摄像
调整
控制
屏幕
内容
大小
更多
篇文章
不错
实用
世界
人称
位置
地底
控制器
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
idea 数据库符号分号
服务器做pr
数据库创建车辆基本信息表
阿里云购买云服务器
6.0cydia数据库
影之刃角色查询服务器
群晖备份mysql数据库
卡到正在获取更新数据库
服务器远程管理使用的规范
oracle数据库过程
交易猫平台的服务器怎么填
1核1g服务器怎么样
主题交流活动 网络安全
江苏小型软件开发哪家好
定制网络技术咨询技能
软件工程中软件开发流程图
数据库index读法
自学软件开发需要考证吗
南宁系统软件开发公司
软件开发中心的设置
keras 数据库
北京北大青鸟学校软件开发
计算机网络安全ppt免费
主题交流活动 网络安全
网络安全龙头公司是谁
湘西网络安全培训班
北京户口审批单机版 数据库错误
联想ts150服务器
明日方舟服务器在哪看
趣步app软件开发玩法介绍