unity如何实现摄像机控制
发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,这篇文章给大家分享的是有关unity如何实现摄像机控制的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。unity中第一,三人称控制器上绑定的都有一个叫Mouse Look的脚
千家信息网最后更新 2024年11月15日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安全错误
数据库的锁怎样保障安全
数据库 大小写敏感
软件开发的改进与创新
网络安全大脑互联网
在日本地图软件开发
服务器开发工程师面试题
恒合互联网络科技有限公司怎样
网络技术新兴企业
武威软件开发公司
金蝶与服务器失去联系
数据库选择原则包括
如何看sql数据库用户名
中小学教育与网络安全专题节目
沛县软件开发项目管理在线咨询
蓝阔打印服务器反应慢
珠海网络技术有效果吗
新修订网络安全
泗阳自动化网络技术多少钱
网络技术岗位视频
达梦数据库修改ulimit参数
青岛加百列网络安全
网络安全的分类
方舟以前玩的服务器找不到了
网络安全的目标是哪五个
中国电信网络安全风险提示
活动目录服务器
上海不染互联网科技有限公司
高中数据库面试视频
丽江代驾软件开发公司
公司员工管理数据库
网络安全等保测评百科