unity3d坐标系-创新互联

unity3d使用的是左手坐标系,即伸出左手,让拇指和食指成“L”形,大拇指向右,食指向上。其余的手指指向前方。这样就建立了一个左手坐标系。拇指、食指和其余手指分别代表x,y,z轴的正方向。

创新互联专注于企业营销型网站建设、网站重做改版、路北网站定制设计、自适应品牌网站建设、H5场景定制商城开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为路北等各大城市提供网站开发制作服务。

1、世界坐标系:unity3d中所有的gameobjet在视图中都是以世界坐标显示在场景中(左手坐标系,3d空间),由transform.position可以获得该位置坐标。

2、屏幕坐标系:以像素定义的,以屏幕左下角为(0,0)点,右上角(screen.width,screen.height),Z的位置以相机的世界单位来衡量,实际上将一个空间3d的坐标转换到2d平面的一个坐标。(鼠标和手指触摸都属于屏幕坐标)

3、ViewPort Space(视口坐标):视口坐标是标准的和相对于相机的。相机的左下角为(0,0)点,右上角为(1,1)点,Z的位置是以相机的世界单位来衡量的。

【坐标系的转换】

1、世界坐标→屏幕坐标:camera.WorldToScreenPoint(transform.position);

2、屏幕坐标→世界坐标:camera.ScreenToWorldPoint(transform.position);

3、屏幕坐标→视口坐标:camera.ScreenToViewportPoint(Input.GetTouch(0).position);

4、视口坐标→屏幕坐标:camera.ViewportToScreenPoint();

5、视口坐标→世界坐标:camera.ViewportToWorldPoint();

其中camera为场景中的camera对象。

InverseTransformPoint: 绝对坐标转相对坐标,也就是世界坐标转你想要放到的父节点下的相对坐标,

TransformPoint: 相对坐标转绝对坐标,也就是你想要放到的父节点下的相对坐标转成世界坐标,

本地坐标LocalPostion(没有父节点的gameobject除外,它的本地坐标与世界坐标相等),本地坐标就是相对于父节点的坐标相对位置,即父对象的pivot到该对象pivot的向量。

注意:坐标系中计算坐标位置是以pivot轴点的位置计算的。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:unity3d坐标系-创新互联
文章源于:http://ybzwz.com/article/ccsjce.html