您現(xiàn)在的位置:首頁 > 科技 > 正文

我做了一副元宇宙手套,成本300元

時間:2022-04-18 09:46:21    來源:科普中國網(wǎng)    

我做了一副元宇宙手套,成本300元

原創(chuàng) 露露Mikuru 果殼 2022-04-15 15:59

收錄于話題#GeekHere 有極客

5個

想啥呢?還不能“嘿嘿嘿”......

做了一個月的 VR 游戲主播之后,除了越發(fā)沉迷于《半條命:Alyx》之中,我還在思考另外一個問題:現(xiàn)在的 VR 還差點(diǎn)什么?

作為一名“中之人”,我在直播時會用虛擬形象來解說——我相信,如果未來一定要有一個虛擬世界,我們跟自己的數(shù)字替身要“深度綁定”在一起。這個綁定不僅是外在認(rèn)知上的,還有真實(shí)世界和虛擬世界中的體驗(yàn)應(yīng)該是共通的。

玩家知道,VR 游戲與傳統(tǒng)游戲擁有著截然不同的體驗(yàn)。在 VR 游戲里,你不必哈腰坐在電腦前,擺弄著鼠標(biāo)鍵盤。你真的可以用雙手手柄當(dāng)作槍,瞄準(zhǔn)敵人、扣動食指按壓扳機(jī),今天的 VR 游戲已經(jīng)能非常準(zhǔn)確地識別手指動作——但你卻無法在 VR 世界中撿起一節(jié)掉落的彈夾。

偶然間,我在油管閑逛時,看到 Lucas(一個美國的 VR 創(chuàng)業(yè)團(tuán)隊創(chuàng)始人)制作了一款 VR 觸覺手套,重點(diǎn)是所有零件成本,他只花了 60 美元。

我將這條視頻申請轉(zhuǎn)載到自己的賬號上,沒想到反響熱烈。加上 Lucas 的那句“你真的可以用它來觸摸任何東西”,加重了我的好奇心。順藤摸瓜,我在 GitHub 上找到了開源的教程,準(zhǔn)備動手做一對。

需要買的零部件丨作者供圖

目前的技術(shù)來說,我并沒有期待“能觸摸到任何東西”的 VR 外設(shè)出現(xiàn)。但打動我的也正是這一點(diǎn)。目前 VR 市場上,除了一個頭顯、兩個手柄,就沒什么所謂的新東西了,任何能以“平民價格”擴(kuò)展用戶體驗(yàn)的嘗試,我覺得都值得一試。

用最便宜的方式觸摸虛擬

1987 年,還是任天堂紅白機(jī)的時代,手套作為體感游戲的外設(shè)就已經(jīng)承擔(dān)起“輸入設(shè)備”的功能。

Power Glove丨YouTube“Gaming Historian”

現(xiàn)實(shí)中的你如果想摸到游戲里那把槍,除了讓計算機(jī)識別你的手在動,建模出虛擬的手跟著真實(shí)的手同步運(yùn)動(信號輸入功能),還要等到虛擬的手握住槍時,返回一個信號——這個信號作用在手上,也就是我們常說的力反饋。

Meta 曾經(jīng)放出觸感手套的視頻,采用微流體(microfluidics)技術(shù),使用氣致動器(pneumatic actuators)通過氣泡充氣、放氣的方式制造精準(zhǔn)壓力。為此 Meta 稱還在構(gòu)建一個高速微流體處理器。本來大家還在欣慰“all in”元宇宙的扎克伯格,終于拿出來點(diǎn)兒東西時,另一家觸感手套開發(fā)商 HaptX 說,“Meta 是抄我們的!”

Meta 研發(fā)了七年,HaptX 研發(fā)了十年,誰抄誰我們不得而知,但確定的事,VR 相關(guān)技術(shù)從面世到成熟(最起碼價格上被普通用戶接受)需要很多年的沉淀。

如何以“極低成本”實(shí)現(xiàn)力反饋?zhàn)屛遗d奮。當(dāng)我翻閱教程之后,發(fā)現(xiàn) LucidVR 用了一種特別“取巧”的方式。如果說 Meta 和 HaptX 是讓你的每一寸手部皮膚都是受力點(diǎn),那 LucidVR 這副手套只把力反饋給指尖。

將拉繩固定在手指上丨作者供圖

簡單來說,當(dāng)即將抓住物體的一刻,手指要被立即拉扯住,防止進(jìn)一步彎曲。因?yàn)閺澢炔煌?,意味著手里“握”著的物體大小、形狀都不同。控制手指不能繼續(xù)彎曲的方式,就是給指尖一個“反作用力”。

指尖受力丨作者供圖

所以手套的主體部分就是一個“總閘”,延伸出去五根套在指尖的拉繩,隨時喊停。

舵機(jī)與電位器相連。當(dāng)輪軸轉(zhuǎn)至(舵機(jī))限位時,舵盤就會擋住輪軸上的螺絲釘,讓輪軸無法繼續(xù)轉(zhuǎn)動,拉繩不能繼續(xù)展開。丨作者供圖

當(dāng)我知道力反饋的原理之后,還需要搞清楚何時,以及如何“關(guān)閘”。

“何時”很好理解,就是當(dāng)虛擬的手觸碰到虛擬世界的物體的時刻。因此我們需要做一個媒介,讓生物體的動作信號和計算機(jī)的電信號能相互轉(zhuǎn)換,彼此“理解”。這也是我認(rèn)為這副手套最為巧妙的設(shè)計。

旋轉(zhuǎn)式電位器(其原理類似于初中課本上的滑動變阻器)與拉繩連接使用,當(dāng)手指彎曲時,五條拉繩分別帶動五個電位器,拉繩拉出的長度被轉(zhuǎn)化為電位器阻值的變化,傳遞給虛擬世界做解析。

課本上的滑動變阻器丨圖片來自網(wǎng)絡(luò)

在建模“數(shù)據(jù)手套”上,也有例如基于 IMU(慣性測量單元)或彎曲傳感器的其他實(shí)現(xiàn)方式。所謂慣性傳感器是測量物體三軸姿態(tài)角和加速度的裝置,一般包括三軸陀螺儀、加速度計、磁力計來進(jìn)行多傳感器數(shù)據(jù)融合,以重建每根手指的三自由度方向。彎曲傳感器更好理解,手指在做彎曲動作時,發(fā)生物理變形來使傳感器阻值發(fā)生變化。

對比彎曲傳感器和電位器的價格丨圖片來自淘寶

這兩者傳遞數(shù)據(jù)明顯更加精準(zhǔn),但為什么不用?答案只有一個:更昂貴。

借助 3D 打印的輪軸把電位器和拉繩“連”起來丨作者供圖

了解完何時“關(guān)閘”,還有如何“關(guān)閘”。顯然,拉繩需要一個裝置,在其伸縮過程中“卡”住它。我跟著教程買回了 MG-90S,航模中常見的舵機(jī),也很便宜 10 元一個。

適用領(lǐng)域極廣的 MG-90S 舵機(jī)丨圖片來自亞馬遜

做了一個月,只在游戲里撿起了一支酒瓶子

看完一遍教程,我迅速掌握了原理,對自己說,這“貌似”挺簡單的?不就先這樣,再這樣,最后那樣?

我立刻在電商平臺下單了所有零件,都是一些生活中常見的工具。唯獨(dú)有一部分沒法買到的現(xiàn)成品(將各模塊拼裝起來的骨架),我是根據(jù)開源的零部件參數(shù),用家用 3D 打印機(jī)解決的。

當(dāng)然也可以找萬能淘寶代打丨作者供圖

然后,這一做就是一個月啊……同時我深刻理解了“取巧”的另一層含義是“還不完美”。

當(dāng)我戴上做好的觸覺手套,調(diào)整好 Valve Index(VR 頭顯)的位置,啟動游戲《半條命:Alyx》。我身處熟悉的“17 號城市”,從背包中掏出手槍,瞄準(zhǔn)散落在街邊的酒瓶,“砰!”在開槍的一瞬間,我腦補(bǔ)應(yīng)該有一股后坐力傳來。實(shí)際上,僅是我的食指在扣動扳機(jī)的那一刻被拉住了——要說這體驗(yàn)比在公園打氣球還“塑料”。

但是我應(yīng)該是成功了吧!我換了一個散落在街邊的酒瓶子,“拿”在手里,我能大概“摸”出,它是一個圓柱體。

游戲里的使用效果丨作者供圖

當(dāng)我想更靈活的使用它們時,我發(fā)現(xiàn)了問題。

首先是“識別準(zhǔn)確率”問題。我們需要先明白,定位追蹤和局部追蹤是兩個概念,手套整體的定位追蹤可以通過附加 Vive Tracker、Oculus 手柄,這樣現(xiàn)成的追蹤技術(shù)來實(shí)現(xiàn)。

手指的局部追蹤才是一款力反饋手套要去解決的重點(diǎn)。我在組裝時就發(fā)現(xiàn),這副手套設(shè)計并非為每個指關(guān)節(jié)附有傳感器,手指的彎曲狀態(tài)只能通過拉繩轉(zhuǎn)化的電阻信號被大概建模出來(為此 Lucas 可能設(shè)計了一套軟件),不夠精確到每一處關(guān)節(jié)。

手部追蹤丨作者供圖

其次是“識別范圍”問題。同樣是因?yàn)槭痔缀喡臉?gòu)造,我的手指只能在上下運(yùn)動時被識別,左右展開,旋轉(zhuǎn)等其他自由度是無法實(shí)現(xiàn)的。但是 Lucas 告訴我,他已經(jīng)在解決這個問題,下一版手套將會增加左右展開的自由度,實(shí)現(xiàn)方式是在第一節(jié)指關(guān)節(jié)處增加一個電位器。

識別準(zhǔn)確與否,會影響力反饋的效果。另外一個因素,就是限位位置的調(diào)整。手指的不同彎曲程度,與不同的限位位置一一對應(yīng),驅(qū)使舵盤轉(zhuǎn)向不同的角度,再作用給正在伸縮中的拉繩。

在我的理解中,能實(shí)現(xiàn)這一點(diǎn),是 LucidVR 系統(tǒng)預(yù)設(shè)好了這種“對應(yīng)關(guān)系”。

但是每個人手部狀況不盡相同,需要在使用前,對限位做“個人化”的校準(zhǔn)。調(diào)太緊導(dǎo)致,還沒等抓到物體手就被拉??;調(diào)太松導(dǎo)致,拿到物體就跟空手握拳一樣。

這一點(diǎn)沒有簡便的方法,只能在戴上頭顯時,感受松緊,“估算”限位位置。摘下頭顯之后,擰開舵機(jī)螺絲,調(diào)整舵盤,如此反復(fù),直到在虛擬世界中正巧抓住物體。

不停調(diào)試限位位置丨作者供圖

除此之外,長時間的拉伸,會導(dǎo)致拉繩、手套變形。由于整套裝置并非完全貼合在手上,而是粘在手套上,手套的輕微移位也會帶來力反饋的誤差。

優(yōu)化體驗(yàn)不能停止!可以改造,也可以腦補(bǔ)

在手套真正用起來之前,還有一段小插曲。

在我調(diào)試很多遍之后,舵機(jī)依然紋絲不動。我跑到 Discord 上面求助,網(wǎng)友告訴我,并不是舵機(jī)線跟開發(fā)板連錯了,而是電流太小了,帶不起舵機(jī)。我需要單獨(dú)給舵機(jī)連接一個新的充電寶,而不是跟開發(fā)板共用一個充電寶。

LucidVR 的 Discord 討論組里有 14000 個關(guān)注者。有人將這副手套改良,把拉繩換成更加堅韌的塑料片,解決拉繩容易變形的問題。

也有人直接改變構(gòu)造,做成了外骨骼形狀,留出空間加更多傳感器。很多的開源項(xiàng)目,都不會面面俱到,相反他們會留出很多“空白”,讓技術(shù)愛好者自行探索。

外骨骼版丨作者供圖

Lucas 在他的演示中,把戴了手套的 VR 體驗(yàn)描繪得令人異常興奮。在《半條命:Alyx》中,你可以拾起易拉罐,再扔出去,走到車旁,開門上車,甚至遇到危險時,爬墻而逃。不過,這更多是帶入其他感官體驗(yàn)的“腦補(bǔ)”,你最多體驗(yàn)到頂在一面墻上的阻力,不會有克服重力向上攀爬的感覺。

明知道這些,當(dāng)我第一次戴上這只手套,感受著物體是大是小,是圓是方,即便只是從指尖傳來的生硬“觸感”,仍然讓我覺得新奇。在此之前,我甚至無法想象“空握”一只玻璃瓶。

幾乎在做手套同時,我自制了 SlimeVR 全身追蹤器。與手套“同理”,我做了五個傳感器分別綁在腳踝、大腿、腰部(因?yàn)?SlimeVR 軟件沒有對上肢建模),五個傳感器先通過 T-pose 重置識別出絕對位置,再通過“彼此”識別出相對位置,將電信號解析成虛擬人的動作。配合這副手套(手柄)和頭顯,就能讓“老二次元”在 VRChat 里快樂斗舞。

SlimeVR 也將代碼開源丨圖片來自 SlimeVR

幾個月之前,我將自己制作的視頻發(fā)在網(wǎng)上,隨機(jī)收獲了很多關(guān)注者。當(dāng)然這還不是令我最興奮的?!癝limeVR 全身追蹤器”視頻發(fā)出兩個月后,其中最重要的零部件——BNO-080(九軸傳感器模塊)在淘寶上從 90 塊錢漲價到 300 塊錢。(在此之前,沒有人教學(xué)自制 SlimeVR 全身追蹤器,姑且當(dāng)作是我激發(fā)了老二次元們的熱愛吧。)

傳感器模塊丨作者供圖

當(dāng)然我收到的不都是“贊美”。我 3D 打印了一個能正好裝下小風(fēng)扇的模型,接到頭顯上,解決悶熱的問題。

自制 VR 頭顯風(fēng)扇丨作者供圖

但這一次,因?yàn)槭褂玫娘L(fēng)扇過于便宜,我的方案被調(diào)侃產(chǎn)生噪音過大——“像飛機(jī)場”。

作者:露露Mikuru

更多“有極客”故事

本文來自果殼,未經(jīng)授權(quán)不得轉(zhuǎn)載.

如有需要請聯(lián)系sns@guokr.com

收錄于話題 #GeekHere 有極客

5個

上一篇外公去世十年后,我用 AI “復(fù)活”了他

喜歡此內(nèi)容的人還喜歡

熊貓才不是“性冷淡”!關(guān)于熊貓的3個謠言和2個真相

...

果殼

不喜歡

不看的原因

確定

內(nèi)容質(zhì)量低

不看此公眾號

微信掃一掃關(guān)注該公眾號

標(biāo)簽: 虛擬世界 的零部件 做了一個

上一篇:
下一篇:

相關(guān)新聞

凡本網(wǎng)注明“XXX(非現(xiàn)代青年網(wǎng))提供”的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和其真實(shí)性負(fù)責(zé)。

特別關(guān)注

熱文推薦

焦點(diǎn)資訊