unity3d 的 坐标系统

来源:互联网 发布:mac os x lion 10.8 编辑:程序博客网 时间:2024/05/17 01:42

一、unity3d中有四种坐标系:
1,世界坐标系worldspace
在unity的场景中有一个坐标原点(0,0,0),场景中的物体的世界坐标都是基于这个原点而来的
通过 gameObject.transform.position获得游戏对象的世界坐标
2、本地坐标系localspace
本地坐标是相对于父节点而来的
3、屏幕坐标系screenspace
屏幕坐标就是物体在电脑屏幕中的坐标,Input.mousePosition得到的就是屏幕坐标
左下角为(0,0),右上角为 屏幕宽度的width和屏幕高度height,Z值是摄像机世界坐标取反。
4、视口坐标系viewportspace
摄像机前方的长方形格子就是视口,左下角为(0,0),右上角为(1,1),z轴和屏幕坐标一样,只想你为z轴正方向,z轴的值是摄像机的世界坐标取反
二。坐标相互转化

1,世界坐标转化为 本地坐标:通常情况下相等
2、世界坐标转化为屏幕坐标:Camera.main.WorldToScreenPoint(),屏幕坐标转化为世界坐标:
Camera.main.ScreenToWorldPoint();
3、世界坐标转化为视口坐标:Camera.main.WorldToViewPortPoint(),视口坐标转化为世界坐标:
Camera.main.ViewportToWorldPoint();
4、视口坐标转化为屏幕坐标:
Camera.main.ViewportToScreenPoint(),屏幕坐标转化为视口坐标:Camera.main.ScreenToViewPoint();

参考博客:http://blog.csdn.net/MagicXK/article/details/51706111