最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Unity獲取鼠標(biāo)所在的世界坐標(biāo)(附跟隨鼠標(biāo)轉(zhuǎn)動)

2020-11-11 14:49 作者:白白_可樂  | 我要投稿


好久沒有寫專欄了,趁著今(1)天(1)過(1)節(jié)(1)等外賣就來一篇.


雖然 Unity 提供了

Camera.ScreenToWorldPoint

這么個 API ,但是很多小伙伴在使用這個接口的時候還是會出現(xiàn)一些莫名其妙的問題,這是因為該接口的功能正如字面所說 Screen(屏幕) to World(世界),這個轉(zhuǎn)換的介質(zhì),是基于 Camera(相機)的,大家有沒有想到一個問題,我們的攝像機在通常情況下和地面或者玩家之間 ,是有一段距離的,而這段距離,就成了問題的多發(fā)區(qū).

眾(使用Unity進行開發(fā)的小伙伴們)所周知,Unity 的攝像機拍攝方式有兩種,透視(Perspective)正交(Orthographic)

其中透視的的攝像機是一個,而正交的攝像機則是一個


攝像機的透視與正交


[理論基礎(chǔ)]我們在調(diào)用 ScreenToWorld 的時候,?鼠標(biāo)和攝像機是處于同一的平面的,這就導(dǎo)致了,如果我們直接使用 Input.Mouse Position 作為參數(shù)的話,結(jié)果是和相機一個平面,如果是正交還好,因為起碼是一個面,但是透視則怎么都只是一個點.


屏幕點擊測試

使用此腳本進行測試.

分別在屏幕的四個角點擊得到的結(jié)果.

可以看到,透視模式下控制臺返回的結(jié)果都是同樣的一個點(主攝像機的位置)


有了前面的理論基礎(chǔ)后,再要解決問題就變得簡單了,即,在使用接口將鼠標(biāo)坐標(biāo)轉(zhuǎn)換之前,先修正鼠標(biāo)坐標(biāo)的Z值,以下代碼適用于默認(rèn)場景,主要物品Z軸為零的情況,小伙伴們可以根據(jù)自己的需求將其改造成適合自己項目的代碼.

可以看到,在修改了Z值之后,點擊可以正確獲取世界坐標(biāo).


[以下內(nèi)容投幣可見]

DLC——物品跟隨鼠標(biāo)轉(zhuǎn)向

物品轉(zhuǎn)向代碼

效果如下:

跟隨鼠標(biāo)轉(zhuǎn)動

都看到這里啦~


歡(下)迎(次)投(一)幣(定)

Unity獲取鼠標(biāo)所在的世界坐標(biāo)(附跟隨鼠標(biāo)轉(zhuǎn)動)的評論 (共 條)

分享到微博請遵守國家法律
开远市| 防城港市| 孟州市| 民县| 抚州市| 江门市| 宜丰县| 西宁市| 吴堡县| 久治县| 车险| 商水县| 陕西省| 桑日县| 聂拉木县| 施秉县| 屏山县| 绥宁县| 嵊泗县| 舞阳县| 扶余县| 彩票| 永川市| 莎车县| 政和县| 郧西县| 鄂伦春自治旗| 蛟河市| 温宿县| 介休市| 仁怀市| 潍坊市| 泰州市| 镇平县| 乌鲁木齐市| 博客| 大名县| 宁都县| 五台县| 鄄城县| 曲靖市|