国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)動)的評論 (共 條)

分享到微博請遵守國家法律
堆龙德庆县| 安溪县| 会泽县| 安远县| 抚州市| 崇明县| 平陆县| 九龙城区| 宜川县| 宝兴县| 资源县| 成都市| 华安县| 昌平区| 砚山县| 鄱阳县| 玉屏| 息烽县| 大余县| 隆尧县| 蓬溪县| 安义县| 苗栗市| 苍山县| 青河县| 芦溪县| 出国| 濮阳市| 斗六市| 杭州市| 南部县| 长治市| 扶沟县| 会宁县| 滨海县| 炉霍县| 柏乡县| 洛川县| 通江县| 垣曲县| 达日县|