Unity中的坐標轉換

前言:

最近項目中用到了很多自身坐標與世界坐標的轉換坯约,寫代碼的時候發(fā)現(xiàn)自己對于這部分的知識還不夠清晰雪隧,故記下此文。


不同的坐標系

一普办、世界坐標

  • 以世界空間下的原點的坐標系
  • 通過transform.position調用
  • 如果沒有父物體奕筐,檢視面板顯示的就是世界坐標

二舱痘、自身坐標(又叫本地坐標)

  • 以父物體空間為原點的坐標系
  • 通過transform.localposition調用
  • 如果有父物體变骡,檢視面板顯示的就是自身坐標

三、屏幕坐標

  • 以屏幕左下角為原點的二維坐標系.以屏幕的左下角為(0芭逝,0)塌碌,右上角為(Screen.width,Screen.height)
  • 坐標的右上角的值根據(jù)游戲視圖的屏幕分辨率來決定
  • 獲取的鼠標坐標就是屏幕坐標(Input.mousePosition)

四旬盯、視口坐標

  • 以屏幕左下角為原點的二維坐標系台妆,左下角是(0,0),右上角是(1,1),是一個歸一化的值
  • Z軸是世界坐標的Z軸
  • 多用來過渡轉換坐標胖翰,如世界坐標轉屏幕坐標:先從世界坐標轉視口坐標接剩,再從視口坐標轉屏幕坐標

五、GUI坐標

  • 以屏幕左上角為原點的二維坐標系萨咳,左上角是(0,0)懊缺,右下角是(Screen.width,Screen.height)

六培他、桌面坐標

  • 以左上角為原點的二維坐標系鹃两,左上角是(0,0),右下角是(桌面分辨率的寬,桌面分辨率的高)
  • 用SetCursorPos設置鼠標坐標舀凛,用GetCursorPos得到鼠標坐標俊扳。

不同的坐標系之間的轉換

一、自身轉世界

  • 世界坐標 = Transform對象.TransformPoint(自身坐標)

二腾降、世界轉自身

  • 世界坐標通過把父物體設置為想要成為的自身坐標的父物體拣度,得到的就是這個世界坐標轉化后的自身坐標

三碎绎、世界轉屏幕

  • 通過調用Camera.main.WorldToScreenPoint()
  • Unity底層是從世界轉視口螃壤,再從視口轉屏幕

四、世界轉視口

  • 通過調用Camera.main.WorldToViewPort()

五筋帖、視口轉屏幕

  • 通過調用Camera.main.ViewportToScreenPoint()
  • 視口坐標乘以屏幕分辨率(Screen.width和Screen.hight)也可從視口坐標轉為屏幕坐標

六奸晴、屏幕轉視口

  • 通過調用Camera.main.ScreenToViewportPoint()

七、視口轉世界

  • 通過調用Camera.main.ViewportToWorldPoint()
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末日麸,一起剝皮案震驚了整個濱河市寄啼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌代箭,老刑警劉巖墩划,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異嗡综,居然都是意外死亡乙帮,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門极景,熙熙樓的掌柜王于貴愁眉苦臉地迎上來察净,“玉大人驾茴,你說我怎么就攤上這事∏饪ǎ” “怎么了锈至?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長译秦。 經(jīng)常有香客問我峡捡,道長,這世上最難降的妖魔是什么筑悴? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任棋返,我火速辦了婚禮,結果婚禮上雷猪,老公的妹妹穿的比我還像新娘睛竣。我一直安慰自己,他們只是感情好求摇,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布射沟。 她就那樣靜靜地躺著,像睡著了一般与境。 火紅的嫁衣襯著肌膚如雪验夯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天摔刁,我揣著相機與錄音挥转,去河邊找鬼。 笑死共屈,一個胖子當著我的面吹牛绑谣,可吹牛的內容都是我干的。 我是一名探鬼主播拗引,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼借宵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了矾削?” 一聲冷哼從身側響起壤玫,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎哼凯,沒想到半個月后欲间,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡断部,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年猎贴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡嘱能,死狀恐怖吝梅,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情惹骂,我是刑警寧澤苏携,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站对粪,受9級特大地震影響右冻,放射性物質發(fā)生泄漏。R本人自食惡果不足惜著拭,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一纱扭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧儡遮,春花似錦乳蛾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至十嘿,卻和暖如春因惭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绩衷。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工蹦魔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人咳燕。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓勿决,卻偏偏與公主長得像,于是被迫代替她去往敵國和親迟郎。 傳聞我的和親對象是個殘疾皇子剥险,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內容

  • 一、Unity3D中有哪些坐標系宪肖? 坐標系這個概念最早是由法國數(shù)學家笛卡爾提出的,并由此創(chuàng)造了用代數(shù)方法來研究幾何...
    OneMore2018閱讀 4,565評論 0 7
  • 3D坐標系是在做3D項目開發(fā)中的基礎概念健爬,一般來說3D軟件或者開發(fā)工具都是采用笛卡爾坐標系來描述物體的坐標信息控乾。笛...
    S_H_C閱讀 6,318評論 0 6
  • 無論是2d還是3d游戲開發(fā),圖形學都是基礎娜遵,解析幾何的基本思想是將幾何圖形抽象成點的運動軌跡蜕衡,從而點可以作為組成圖...
    tmgg閱讀 12,810評論 2 4
  • 笛卡爾坐標系的定義 :1、每個2D笛卡爾坐標系都有一個特殊的點设拟,稱為原點(0,0)它是坐標系的中心慨仿。2久脯、每個2D笛...
    好怕怕閱讀 3,348評論 3 8
  • 在Unity中我們通常會用到以下幾個坐標系下的點: 世界坐標系:World Space簡單來講帘撰,我們通過 tran...
    GolDHeaven閱讀 60,815評論 2 16