unity ui坐标系转换

世界坐标:
transform.position获取的是世界坐标

屏幕坐标:
单位像素
屏幕左下角(0,0)右上角(Screen.width,Screen.height)
Screen.width = Camera.main.pixelWidth;
Screen.height = Camera.main.pixelHeight;
可通过Input.mousePosition获取屏幕坐标

视口坐标:
屏幕左下角(0,0)右上角(1,1)
视口坐标是一个3D坐标,z轴是相对于相机而言。

GUI坐标:
通过OnGUI()方法绘制UI时使用的坐标。
单位像素
屏幕左上角(0,0) 右下角(Screen.width,Screen.height)

原文地址:https://www.cnblogs.com/sweetXiaoma/p/11177520.html

时间: 2024-10-16 16:18:07

unity ui坐标系转换的相关文章

全面理解 Unity UI 系统

[狗刨学习网] 随着 Unity 4.6 发布,新 UI 系统终于与大家见面了. RectTransform Unity UI 系统使用 RectTransform 实现基本的布局和层次控制.RectTransform 继承于 Transform,所以 Transform 的所有特征 RectTransform 同样拥有.在 Transform 基础上,RectTransform 增加了 轴心(pivot).锚点(实际上是用 anchorMin.anchorMax 两个点定义的矩形区域).和 尺

2.cocos2d-x坐标体系(UI坐标系,GL坐标系,本地坐标,世界坐标,节点坐标)

 openGL & UI坐标体系 OpenGL坐标系:该坐标原点在屏幕左下角,x轴向右,y轴向上.这也就是cocos2dx中用到的坐标系. 屏幕坐标系:该坐标系的原点在屏幕左上角,x轴向右,y轴向下,其实和OpenGL坐标系的差别也就是y轴的方向.假设游戏场景的分辨率为(500,500),其中一个点坐标为(200,200),那么它在OpenGL坐标系中的坐标还是(200,200),在屏幕坐标系中则倒过来,则为(200,500-200).其实也就是6和9的差别. 图: UI坐标系 图: GL坐

简化ui文件转换写法

在命令行敲一串长的命令,枯燥麻烦. #coding:utf-8 import sys import os import subprocess if len(sys.argv) == 2: #节省输入,不输入后缀 #直接使用参数的第2个值 file = sys.argv[1] + '.ui' #检查输入文件是否存在 if not os.path.exists(file): print('input file is not exited.') exit(1) #分离文件名和扩展名 #本转换,和UI文

各种地图坐标系转换工具

class Gps { private double wgLat; private double wgLon; public Gps(double wgLat, double wgLon) { setWgLat(wgLat); setWgLon(wgLon); } public double getWgLat() { return wgLat; } public void setWgLat(double wgLat) { this.wgLat = wgLat; } public double g

ios开发之坐标系转换

1:坐标系转换最核心的问题就是:比较两个坐标是否包含,或者是重叠等,最主要的问题是先将两个坐标转换到同一个坐标系下再去比较.第一步先确定矩形框在某个view坐标系下的frame(该矩形框是以该view的左上角为坐标原点)2:再转换到另一个view坐标系下(转换后的坐标依然是以另一个view的坐标原点来计算得出新坐标系下的矩形框) 2:坐标系的转化方法:1:CGRectContainsRect(<#CGRect rect1#>, <#CGRect rect2#>),判断rect1矩形

Unity UI大小动态设置(Resize Unity UI RectTransform)

我们在开发过程中发现,要调整Unity UI元素的大小,RectTransform提供了sizeDelta属性可以用来动态修改RectTransform的大小,但同时我们也google到另外一个修改RectTransform大小的方法,方法如下: 1 public static void SetRectTransformSize(RectTransform trans, Vector2 newSize) 2 { 3 Vector2 oldSize = trans.rect.size; 4 Vec

unity UI事件

由于工作需要到持续按键,所以了解了一下unity UI事件,本文主要转载于http://www.cnblogs.com/zou90512/p/3995932.html?utm_source=tuicool&utm_medium=referral,并对相关问题进行解释. 我们最常用到的就是unity的button组件,其实button组件所响应的事件为unity众多ui事件中的PointerClick事件,unity的ui事件如下图所示: 实现响应事件有以下三种: (一)在相关UI控件上挂脚本,脚

Objective-C上地球坐标系到火星坐标系转换算法

Objective-C上地球坐标系到火星坐标系转换算法 http://blog.csdn.net/zhaoxy_thu/article/details/17033347

从gif到unity sprite——批量转换gif、批量导入texture packer图集为sprite、批量生成sprite预制体

背景是我有几百个角色gif资源,每个都有:站立.攻击.技能攻击的gif,我想用此资源作2d unity游戏,因此第一关就是如何把gif转成unity动画 GIF 转 PNG -- http://blog.csdn.net/leinchu/article/details/24806433 ,不再赘述了. 之后是批量gif用tp打包,我用php写了一个脚本遍历目录,下的gif把他们重命名并每个角色建立一个文件夹,把它的所有动作的png序列移动到他自己的目录去,再用tp打包: 上php代码,因为我是分