Unity3D世界的坐标系
2016-05-19 20:01
459 查看
Unity3D世界中的坐标系有四种:世界坐标系、屏幕坐标系、视口坐标系和绘制UI界面的坐标系。
注:鼠标位置坐标属于屏幕坐标,Input.mousePosition可以获得该位置坐标,手指触摸屏幕也为屏幕坐标,Input.GetTouch(0).position可以获得单个手指触摸屏幕的坐标。
Screen.width=Camera.pixelWidth;
Screen.height=Camera.pixelHeight;
2.屏幕坐标→视口坐标:Camera.ScreenToViewPortPoint(Input.GetTouch(0).position);
3.视口坐标→屏幕坐标:Camera.ViewportToScreenPoint();
4.视口坐标→世界坐标:Camera.ViewportToWorldPoint();
1.世界坐标系
我们在场景中添加物体(Cube),他们都是以世界坐标显示在场景中。transform.position可以获取他们的世界坐标。2.屏幕坐标
屏幕坐标是以像素为单位的,以屏幕左下角为(0,0),右上角为(Screen.width,Screen.height),z的位置是以相机的世界单位来衡量的。注:鼠标位置坐标属于屏幕坐标,Input.mousePosition可以获得该位置坐标,手指触摸屏幕也为屏幕坐标,Input.GetTouch(0).position可以获得单个手指触摸屏幕的坐标。
Screen.width=Camera.pixelWidth;
Screen.height=Camera.pixelHeight;
3.ViewPort Space(视口坐标)
视口坐标是标准的和相对于相机的。相机的左下角为(0,0)点,右上角为(1,1)点,z的位置是以相机的世界单位来衡量的。4.绘制GUI界面的坐标系
这个坐标与屏幕坐标相似,不同的是该坐标系以屏幕的左上角为(0,0)点,右下角为(Screen.width,Screen.height)。四种坐标系的转换:
1.世界坐标→屏幕坐标:Camera.WorldToScreenPoint(transform.position);2.屏幕坐标→视口坐标:Camera.ScreenToViewPortPoint(Input.GetTouch(0).position);
3.视口坐标→屏幕坐标:Camera.ViewportToScreenPoint();
4.视口坐标→世界坐标:Camera.ViewportToWorldPoint();
相关文章推荐
- unity3d项目文件目录发布后,对应的ios/android应用目录
- unity烘培
- unity 合并skinnedMeshRenderer中遇到的一个大坑
- Unity编辑器扩展-菜单项
- Unity 里双击脚本打不开的解决方法
- 如何将资源打包成unitypackage的形式
- Unity之Invoke、InvokeRepeating、StartCoroutine学习一
- Unity3D之VR开发笔记@Oculus开发UNITY环境搭建
- Unity3d 顶点着色器传入的顶点数据
- (转载)Unity3D研究院之处理摄像机与角色之间被挡时的局部透明效果
- (转载)Unity3D研究院之获取摄像机的视口区域
- Unity4.3 bug GetChild顺序错乱
- Unity对象的所有组件深拷贝与粘贴
- Unity对象的所有组件深拷贝与粘贴
- Unity3D之VR开发笔记@大朋VR开发UNITY环境搭建
- [UnityUI]UGUI按钮长按效果
- Unity中的C#内存管理(三)
- Unity中的C#内存管理(二)
- Unity中的C#内存管理(一)
- Unity内置 Asset store下载文件夹的位置