日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

unity 坐标系转换_Unity的几种坐标系及相互转换

發布時間:2023/12/4 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 unity 坐标系转换_Unity的几种坐标系及相互转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹

1.WorldSpace(世界坐標系)

當我們向場景中添加物體時,他們都是以世界坐標系的方式的方式顯示在場景中的

通過transform.position可以得到它在世界中的坐標位置,transform.position(Vector3)可以設置它在世界中的位置(c#不支持單獨設置x y z);

2.ScreenSpace(屏幕坐標系)

以像素為單位,左下角是(0,0),右上角為(screen.width, screen.height),Z的位置是以相機的世界單位來衡量//及物體離相機遠近

注:鼠標位置坐標屬于屏幕坐標,Input.mousePosition可以獲得鼠標坐標,手指觸摸屏也為屏幕坐標,Input.GetTouch(0).position可以獲得單個手指的手機屏幕坐標

說點題外話

unity中Input.GetMouseButtonDown(0)代表按下鼠標左鍵,Input.GetMouseButtonDown(1)代表鼠標右鍵Input.GetMouseButtonDown(2)代表滾輪中間。

3.ViewPort(視口坐標)

左下角為(0, 0),右上角為(1, 1)在一些畫中畫效果中常用到,比如主視口為FPS,然后右下角有一個小窗口為第三人稱視圖。

4.繪制GUI界面的坐標系(自從有了新版UI之后這個也很少用到)

這個坐標系與屏幕坐標系類似,不同的是左上角為(0,0),右下角為(screen.width, screen.height)這樣繪制起來更方便。

5.桌面坐標系(系統坐標系)

這個坐標系與屏幕坐標系類似,不同的是該坐標系以桌面的左上角為(0,0),桌面右下角為桌面分辨率的寬和桌面分辨率的高

用SetCursorPos設置鼠標坐標,用GetCursorPos得到鼠標坐標。

C#中:

命名空間 using System.Runtime.InteropServices;

導入庫 [DllImport("user32.dll")]

函數原型 public static extern int SetCursorPos(int x, int y);

public static extern bool GetCursorPos(ref int x, ref int y);

******************************************************

轉換

1.物體的世界坐標到屏幕坐標的轉換

C#

1

Camera.main.WorldToScreenPoint(cb.transform.position);//cb代表場景中的一個方塊物體,得到的vector3中的z為相機離cube物體的遠近

2.屏幕坐標轉世界坐標

C#

1

Vector3world=Camera.main.ScreenToWorldPoint(Input.mousePosition);//及鼠標單擊位置距世界中心(0,0,0)點的距離

3.屏幕坐標轉視口坐標

C#

1

Vector3viewCoor=Camera.main.ScreenToViewportPoint(Input.mousePosition);//底層原理無非就是Input.mousePosition.x/Screen.width,Input.mousePosition.y/Screen.Height;

4.視口坐標轉屏幕坐標

C#

1

Vector3screen=Camera.main.ViewportToScreenPoint(newVector3(0.2f,0.3f,0));//注意視口左下角為(0,0),右上角為(1,1);

5.視口坐標到世界坐標

C#

1

Vector3word=Camera.main.ViewportToWorldPoint(newVector3(0.2f,0.3f,0));//注意當只改變一個z值時轉化出的世界坐標的x,y也會發生相應的變化

6.屏幕坐標轉射線

C#

1

2

3

4

5

6

7

8

9

if(Input.GetMouseButtonDown(1))

{

Rayray=Camera.main.ScreenPointToRay(Input.mousePosition);// 從鼠標位置發送射線

RaycastHithit;

if(Physics.Raycast(ray,outhit,100,1<

{

Debug.Log(hit.collider.name);

}

}

6.視口坐標轉射線

C#

1

2

3

4

5

6

7

8

9

if(Input.GetMouseButtonDown(1))

{

Rayray=Camera.main.ViewportPointToRay(newVector3(0.5f,0.5f,0));// 從屏幕中央發送射線

RaycastHithit;

if(Physics.Raycast(ray,outhit,100,1<

{

Debug.Log(hit.collider.name);

}

}

最后編輯:2017-12-05作者:網蟲蟲

分享是一種快樂;

分享是一種美德;

分享是一種幸福!

總結

以上是生活随笔為你收集整理的unity 坐标系转换_Unity的几种坐标系及相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费欧美一级 | 精品人妻一区二区三区久久嗨 | 日皮毛片| 黄色aaa大片 | 婷婷中文网 | 亚州av综合色区无码一区 | 日韩精品一区二区三区在线播放 | a∨鲁丝一区鲁丝二区鲁丝三区 | 久久国产视频精品 | 美日韩精品一区二区 | 国产精品久久久久毛片软件 | 熟女高潮一区二区三区视频 | 国产精品中文字幕在线 | 古典武侠av| 99精品人妻少妇一区二区 | 天天射天天干天天舔 | www.日日夜夜 | 亚洲av无码一区二区三区人妖 | 久久水蜜桃 | 午夜免费精品 | 免费播放毛片 | 亚洲AV无码成人国产精品色 | 无码人妻精品一区二区三区99日韩 | 色狠狠综合| 成人香蕉视频在线观看 | 在线观看中文字幕一区二区 | 人成网站在线观看 | 亚洲欧美一区二区三区不卡 | 午夜精品导航 | 国产福利小视频在线 | av网站有哪些 | 欧美激情爱爱 | 亚洲国产精品久久精品怡红院 | 91超碰人人| 亚欧精品视频一区二区三区 | 成人黄色三级视频 | 国产美女网站视频 | 日本日皮视频 | 久国久产久精永久网页 | 国产成人午夜 | 少妇扒开粉嫩小泬视频 | 中文在线永久免费观看 | 四虎中文字幕 | 精品欧美一区二区精品少妇 | 潘金莲一级淫片aaaaa武则天 | 亚洲黄色小视频 | 99免费国产| 成人91看片 | 久久久久久久成人 | 91精品入口 | 国产美女免费看 | 亚洲av片一区二区三区 | 涩涩成人 | 奇米影视888 | 实拍澡堂美女洗澡av | 国产999久久久 | 欧美精品一区三区 | 亚洲国产精品久久人人爱 | 成人无码久久久久毛片 | 国产成人精品无码免费看夜聊软件 | 在线一区观看 | 一区免费视频 | 欧美精品在线观看视频 | 天堂999| 97干在线视频 | 欧美乱色 | 在线h网| 日韩在线免费播放 | 亚洲欧美自拍一区 | 国产成人精品一区二区三区免费 | 亚洲女人毛片 | 波多野42部无码喷潮在线 | 亚洲AV午夜福利精品一级无码 | 日韩经典第一页 | 香蕉视频日本 | 中文在线免费视频 | 成人h片| 9久久9毛片又大又硬又粗 | 91原创视频| 影音先锋黄色资源 | 三级av在线免费观看 | 新天堂在线 | 国产网站久久 | 成人一区二区三区 | 欧美一级视频 | 亚洲1级片| av手机 | 综合激情网五月 | 色老头综合网 | 97无码精品人妻 | 成人福利视频导航 | 91av免费在线观看 | 久久伊人国产 | 金瓶狂野欧美性猛交xxxx | 亚洲婷婷av | 亚洲性精品 | 超级碰在线观看 | 亚洲中文字幕无码不卡电影 | 久久视频这里只有精品 |