Unity坐标系详解
1. World Space(世界坐标系):
我们在场景中添加的物体(如:Cube),他们都是以世界坐标显示在场景中。transform.position 获取的便是这个 坐标数值。
2. Scene Space(屏幕坐标系):
以像素来定义的,一屏幕的左下角为(0,0)点,右上角为(Screen.with,Screen.height),Z轴的位置是以相机的世界单位来衡量的(个人感觉是世界坐标的Z值)。
2.1 鼠标位置属于屏幕坐标,Input.mousePosition 可以获得该位置坐标。
2.2 手指触摸屏幕也为屏幕坐标,Input.GetTouch(0).position 可以获得单个手指触摸屏幕的坐标。
2.3 当有多个手指触摸屏幕时,Input.GetTouch(0).position会获取到多个点击点的中心位置。
http://docs.unity3d.com/Documentation/Manual/Input.html
3. ViewPort Space(视口坐标):
视口坐标系是标准的和相对于相机的。相机的左下角为(0,0)点,右上角为(1,1)点,Z的数值是以相机的世界单位来衡量的(又是衡量的……)。
4.绘制GUI界面的坐标系(UI坐标):
这个坐标系与屏幕坐标系相似,不同的是该坐标系以屏幕的左上角为(0,0)点,右下角为(Screen.width,Screen.height);
【坐标系的相互转换】
1. World Space --> Screen Space: camera.WorldToScreenPoint(transform.position);
2. Screen Space --> ViewPort Space: camera.ScreenToViewportPoint(Input.mousePosition);
3. ViewPort Space-->Screen Space: camera.ViewportToScreenPoint();
4. ViewPort Space-->World Space: camera.ViewportToWorldPoint();
参考:https://www.cnblogs.com/tekkaman/p/3809409.html
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单