unity 坐标系
2016-04-23 11:37
92 查看
1. 世界坐标
游戏场景中的绝对坐标;
地面是 x 轴和 y 轴,垂直是 z 轴。
所有物体(包括子物体)的transform.position 都是世界坐标系坐标;
2. 相对坐标
游戏场景中子物体相对父物体的位置
子物体的transform.localPosition 是相对坐标;
3. 屏幕坐标
左下角(0,0),右上角(w,w), z 的位置是摄像机世界坐标;
鼠标的坐标是屏幕坐标;
4. ViewPort 视口坐标
摄像机投射区域,左下角(0,0),右上角(1,1),z 的位置是摄像机世界坐标;
5. GUI 坐标
左上角(0,0),右下角(w, h)
坐标转换:
世界坐标《-》相对坐标, 不需要转换,有position和localPosition属性;
世界坐标-》屏幕坐标:camera.WorldToScreenPoint(transform.position);
世界坐标-》视口坐标:camera.WorldPointToViewport();;camera.ViewportToWorldPoint();
屏幕坐标-》视口坐标:camera.ScreenToViewportPoint(Input.GetTouch(0).position);
由以上可见,屏幕坐标和视口坐标都是基于Camera的。
游戏场景中的绝对坐标;
地面是 x 轴和 y 轴,垂直是 z 轴。
所有物体(包括子物体)的transform.position 都是世界坐标系坐标;
2. 相对坐标
游戏场景中子物体相对父物体的位置
子物体的transform.localPosition 是相对坐标;
3. 屏幕坐标
左下角(0,0),右上角(w,w), z 的位置是摄像机世界坐标;
鼠标的坐标是屏幕坐标;
4. ViewPort 视口坐标
摄像机投射区域,左下角(0,0),右上角(1,1),z 的位置是摄像机世界坐标;
5. GUI 坐标
左上角(0,0),右下角(w, h)
坐标转换:
世界坐标《-》相对坐标, 不需要转换,有position和localPosition属性;
世界坐标-》屏幕坐标:camera.WorldToScreenPoint(transform.position);
世界坐标-》视口坐标:camera.WorldPointToViewport();;camera.ViewportToWorldPoint();
屏幕坐标-》视口坐标:camera.ScreenToViewportPoint(Input.GetTouch(0).position);
由以上可见,屏幕坐标和视口坐标都是基于Camera的。
相关文章推荐
- Unity3d-数学-游戏数学基础-未完结
- Unity5利用Monodevelop调试Unity
- C4D to Unity3D插件C2U Tool开源发布!简化你的工作流
- unity中的jsp函数 控制角色移动transform.Translate
- Unity进阶技巧 - RectTransform详解
- Unity Shaders and Effects Cookbook (4-4)在Cubemap 上使用 法线贴图 (法线贴图与反射)
- 【Unity闲谈】用快捷键清空Unity的控制台
- Unity3D 声音格式和导入
- Unity 绘图性能优化 - Draw Call Batching
- Unity3D入门
- unity用链表来实现贪吃蛇
- unity3d UGUI动态创建窗口获取窗口大小的问题
- Unity3d 防止内存修改工具的小方法
- 【小松教你手游开发】【unity实用技能】拓展函数(给系统代码添加可直接使用的接口)
- UnityEngine中Animator相关类的说明
- C#实例 Unity依赖注入使用
- Unity Shader 小功能之 透明
- Unity对象池(一)
- unity, GL.TexCoord or GL.Color must put before GL.Vertex!!!
- Unity Shader Tags