Valve正在優(yōu)化SteamVR Input,在整體系統(tǒng)和用戶體驗方面已取得進(jìn)展
Valve正在努力優(yōu)化SteamVR Input,而他們在整體系統(tǒng)和用戶體驗方面已經(jīng)取得了進(jìn)展。
V社日前更新了SteamVR beta版本,優(yōu)化了Controller Binding UI,令重新綁定尚未實現(xiàn)新SteamVR Input API的游戲變得更加簡單?,F(xiàn)在,玩家和開發(fā)者可以更輕松地為任何當(dāng)前和未來控制器創(chuàng)建和共享VR游戲的新綁定。
要選擇加入beta,請在庫》工具中右鍵單擊SteamVR,選擇Betas選項卡,然后點擊SteamVR beta。
另外,V社提供了一份相關(guān)的 指南 ,介紹了如何重新綁定三款有著不同控制機(jī)制與需求的游戲。下面映維網(wǎng)整理了《Jeeboman》這個示例:
如何重新綁定游戲的第一個示例是《Jeeboman》。這是一款直截了當(dāng)?shù)能囕啈?zhàn)式射擊游戲,是 Vive 的首發(fā)游戲之一??刂剖秩菀咨鲜?,所以這是一個很好的入門案例。
如果你沒有《Jeeboman》,你可以通過免費試用版執(zhí)行下面的相同步驟。
1. 定義游戲的“action”
我們的第一步是確定游戲的acTIon,從而判斷可以綁定什么。確定這些acTIon的最佳方式是,使用游戲開發(fā)者用于測試的控制器來運行游戲。對于《Jeeboman》,開發(fā)者選擇的是Vive控制器,它包含四個acTIon:射擊,選擇武器,護(hù)盾,以及暫停/菜單。
我們現(xiàn)在可以在綁定界面中進(jìn)行設(shè)置。你可以在SteamVR狀態(tài)窗口的“Device”菜單下打開UI,也可以在頭顯中使用它。打開后,從游戲列表中選擇《Jeeboman》(前提是你近期已經(jīng)運行過游戲)。然后在綁定的控制器類型下選擇“Edit”。我的情況是:“Knuckles Legacy Defaults”。
然后選擇“Set Up Legacy AcTIon”選項卡:
在這里,你將看到游戲可以使用舊輸入API查詢的所有位數(shù)數(shù)據(jù)(輸入)列表。SteamVR不知道游戲?qū)⑦@些位元用來做什么,只是知道游戲可能正在使用它們。要重新綁定Legacy游戲,重點是確定游戲使用了什么位數(shù),然后對它們進(jìn)行標(biāo)記和組織,以便UI的其余部分可供人類使用。
由于SteamVR對游戲知之甚少,因此默認(rèn)情況下這個屏幕會顯示大量的選項。我們在這一步要需要為游戲關(guān)注的內(nèi)容提供名稱,并隱藏其他所有內(nèi)容。要做到這一點,我們要問自己三個問題。
1.1 游戲是否可以互換使用控制器?
是的。每只手都有相同的四個action。任何一只手都可以使用武器,而按鈕影響他們操作的手。
這意味著我們要勾選標(biāo)有“This game expects the left and right hands to use the same actions(該游戲希望左右手使用相同action)”的選項框。請注意,執(zhí)行此操作時,其他選項卡將重命名為“Legacy Bindings(Mirrored)”,從而反映右手是左手鏡像的事實。
1.2 游戲有什么簡單的“action”?
這款游戲公開了四個action:
射擊:單擊扳機(jī)鍵點擊
選擇武器:單擊觸控板
護(hù)盾:單擊握柄按鈕
暫停/菜單:單擊菜單鍵
現(xiàn)在我們知道了《Jeeboman》的action,接下來可以提供我們關(guān)心內(nèi)容的名稱,并隱藏其他內(nèi)容。我們先從暫停/菜單開始。當(dāng)游戲獲取菜單鍵單擊事件時,暫停/菜單action就會出現(xiàn)。接下來我們將其命名為Pause/Menu(暫停/菜單)?!禞eeboman》不使用“Application Menu Button Touch”事件(因為在游戲開發(fā)時Vive控制器尚不存在這個選項),所以我們隱藏這個action。
為其他三個action執(zhí)行相同的操作,并隱藏其他內(nèi)容。最終的界面如下所示:
如果你無意中隱藏了錯誤的action,你總是可以點擊“Show Hidden Actions”,找到這個action,并勾選“Show”。
1.3 游戲有什么復(fù)雜或“模擬”action?
沒有。我們最初是因為這是一個簡單的示例才選擇《Jooboman》。我們將在其他的示例中探討這個問題。
2. 將action綁定至新控制器
現(xiàn)在我們已經(jīng)命名了action,下一步是將它們綁定到控制器上的輸入。具體如何做到這一點取決于游戲,但同時取決于你的個人喜好。如果你不喜歡綁定的方式,你隨時都可以返回并重新綁定它。另外,如果你從某人已經(jīng)完成第一步的綁定開始,你可以使用他們的命名并直接跳到第二步。
我們希望綁定的第一個action是“Fire(射擊)”。扳機(jī)鍵是這個action的明顯選擇。通常來說,扳機(jī)鍵都是映射為按鈕,因此SteamVR Input將應(yīng)用閾值,并在扳機(jī)鍵部分按下時激活action。為此,我們?yōu)榘鈾C(jī)鍵添加“Button”模式。單擊Trigger旁邊的“+”,然后選擇“Button”。
在添加按鈕模式后,我們希望改變綁定至“Click”的action:
下一步是綁定Select Weapon(選擇武器),亦即Vive控制器觸控板。我們將選擇武器綁定到A按鈕:按照與上面相同的步驟使A Button成為“Button”類型,并設(shè)置Click以“Select Weapon”。
暫停/菜單已綁定到Vive控制器上的菜單按鈕,但Knuckles上沒有此類按鈕。所以我們將這個action綁定到B按鈕。
護(hù)盾位于握柄按鈕。但Knuckles上的握柄按鈕設(shè)計有所不同,因此我們需要確保獲得與此action綁定的正確值。在這種情況下,我們希望擠壓握柄以激活護(hù)盾,而不是單單閉合手掌就能激活。這樣做的第一步是添加“Button”模式。然后單擊齒輪圖標(biāo)以顯示該模式的設(shè)置。
從這里單擊“Generate Click From”以選擇單擊來自何處?!癋orce”是我們想要的選項,這樣我們就會使用力傳感器。另一種選擇是“Pull”,這對Knuckles來說意味著手柄上的電容(接近和觸摸)傳感器。對于某些游戲和action來說,這是正確的選擇,但我們正在尋找一個擠壓的選項。
單擊“Close”以保存設(shè)置。然后設(shè)置Grip》 Button 》 Click – “Shield”。
現(xiàn)在我們只需要將姿勢和觸覺action綁定到某些值,這樣游戲就可以獲得合理的控制器位置并發(fā)送觸覺反饋。 Valve 計劃在這里添加更多的功能,現(xiàn)在它暫時只是使用原始姿勢和控制器的標(biāo)準(zhǔn)觸覺。你可以在“Edit Action Poses”和“Edit Haptics”下面找到這些設(shè)置。
對于Pose,按照下面的方式設(shè)置“Left Hand Raw”-“Pose”:
對于Haptics,按照下面的方式設(shè)置“Left Hand Haptic”-“haptic”
隨著我們一直在為左手綁定action,相同的綁定將自動為右手設(shè)置。這為使用鏡像輸入的游戲節(jié)省了大量工作。
4. 測試你的綁定
你在綁定UI中所做的任何更改都會自動應(yīng)用于游戲。這時只需啟動《Jeeboman》并拿起控制器,然后就能看看具體的效果。
5. 向社區(qū)分享綁定
既然我們已經(jīng)完成了綁定,我們可以將其分享給任何想要用Knuckles控制器開玩《Jeeboman》的玩家。要做到這一點,只需單擊綁定窗口底部的“Publish to Workshop”按鈕即可。
為你的綁定命名并提供一定的描述,然后點擊Save進(jìn)行分享。
在完成分享后,你的綁定就可以成為其他用戶的一個選項。
V社最后表示,他們將繼續(xù)優(yōu)化這項功能,并鼓勵大家積極通過SteamVR論壇提供反饋。