VR開發(fā)--SteamVR框架工具(3):基礎(chǔ)傳送器+可調(diào)節(jié)高度的傳送器+頭盔碰撞淡出+玩家呈現(xiàn)+觸摸板移動(dòng)+游玩區(qū)空間組件

摘要
BasicTeleport:基礎(chǔ)傳送器+可調(diào)節(jié)高度的傳送器:HeightAdjustTeleport+HeadsetCollisionFade:頭盔碰撞淡出+PlayerPresence:玩家呈現(xiàn)+TouchpadWalking:觸摸板移動(dòng)+RoomExtender:游玩區(qū)空間擴(kuò)展組件

1话速、VRTK_BasicTeleport:基礎(chǔ)傳送器

(1)概念:
基礎(chǔ)傳送器更新[CameraRig]在游戲世界中的x和z位置到由WorldPointerDestinationSet事件設(shè)置定位的世界指針頂端的位置译隘。由于支持X,Z軸的改變墙牌,所以不能進(jìn)行上下移動(dòng)游戲?qū)ο螅ū疚牡诙河锌烧{(diào)節(jié)高度傳送器)。
實(shí)現(xiàn)方式:

舊版本使用這種模式Ok
1儿奶、手柄控制器上添加VRTK_Basic Teleport
2、手柄控制器上添加VRTK_Simple Pointer
3鳄抒、在CameraRig上添加一個(gè)VRTK_Height Adjust Teleport
11.png

11.png

(2)腳本參數(shù):
Blink Transition Speed(眨眼淡入淡出速度):可以在基礎(chǔ)傳送腳本中改變眨眼漸變速度來(lái)提供一個(gè)自定義的傳送體驗(yàn)闯捎。速度設(shè)置為0意味著沒(méi)有漸變眨眼特效呈現(xiàn)。漸變通過(guò) SteamVR Unity 插件腳本里的SteamVR_Fade.cs腳本實(shí)現(xiàn)许溅。

Distance Blink Delay(距離眨眼延時(shí)): 范圍從0到32瓤鼻,這個(gè)值決定了基于被傳送距離的眨眼過(guò)渡保持黑屏的時(shí)長(zhǎng)。值為0時(shí)贤重,任何傳送距離都不會(huì)延長(zhǎng)傳送的眨眼過(guò)渡茬祷,值為32時(shí),就算距離初始點(diǎn)很 近的被傳送距離都會(huì)延長(zhǎng)傳送的眨眼過(guò)渡并蝗。這可以被用來(lái)模擬用戶傳送更遠(yuǎn)的距離花費(fèi)更長(zhǎng)時(shí)間祭犯。值為16對(duì)用戶來(lái)說(shuō)就剛好。

Headset Position Compensation(頭盔位置補(bǔ)償): 如果勾選滚停,傳送坐標(biāo)將會(huì)式游玩區(qū)內(nèi)頭盔的位置沃粗。如果沒(méi)有勾選,傳送坐標(biāo)將總是游玩區(qū)中間的位置键畴,就算頭盔位置不在游玩區(qū)中間也式如此最盅。

Ignore Target With Tag Or Class(忽略帶有標(biāo)簽或腳本的目標(biāo)): 一個(gè)指定對(duì)象標(biāo)簽或者對(duì)象上添加的腳本名字的字符串,通知傳送器這種目標(biāo)點(diǎn)應(yīng)該被忽略镰吵,所以用戶就不能傳送到這些位置上檩禾。同時(shí)也確保指針顏色被設(shè)為丟失目標(biāo)點(diǎn)顏色。

參考VRTk框架里面:004場(chǎng)景

2疤祭、VRTK_HeightAdjustTeleport:可調(diào)節(jié)高度的傳送器送器

(1)概念:
繼承自基礎(chǔ)傳送器盼产,允許根據(jù)傳送位置是否在其他對(duì)象頂部來(lái)讓[CameraRig]改變y位置。高度調(diào)整傳送器被添加到[CameraRig]預(yù)制并需要一個(gè)可用的世界指針勺馆。

12.png

12.png

(2)腳本參數(shù):
Blink Transition Speed :眨眼淡入淡出的速度:可以在基礎(chǔ)傳送腳本中改變眨眼漸變速度來(lái)提供一個(gè)自定義的傳送體驗(yàn)戏售。速度設(shè)置為0意味著沒(méi)有漸變眨眼特效呈現(xiàn)侨核。漸變通過(guò) SteamVR Unity 插件腳本里的SteamVR_Fade.cs腳本實(shí)現(xiàn)。

Distance Blink Delay:距離眨眼延時(shí): 范圍從0到32灌灾,這個(gè)值決定了基于被傳送距離的眨眼過(guò)渡保持黑屏的時(shí)長(zhǎng)搓译。值為0時(shí),任何傳送距離都不會(huì)延長(zhǎng)傳送的眨眼過(guò)渡锋喜,值為32時(shí)些己,就算距離初始點(diǎn)很 近的被傳送距離都會(huì)延長(zhǎng)傳送的眨眼過(guò)渡。這可以被用來(lái)模擬用戶傳送更遠(yuǎn)的距離花費(fèi)更長(zhǎng)時(shí)間嘿般。值為16對(duì)用戶來(lái)說(shuō)就剛好段标。

Headset Position Compensation:頭盔位置補(bǔ)償: 如果勾選,傳送坐標(biāo)將會(huì)式游玩區(qū)內(nèi)頭盔的位置炉奴。如果沒(méi)有勾選逼庞,傳送坐標(biāo)將總是游玩區(qū)中間的位置,就算頭盔位置不在游玩區(qū)中間也式如此瞻赶。

Ignore Target With Tag Or Class:忽略帶有標(biāo)簽或腳本的目標(biāo): 一個(gè)指定對(duì)象標(biāo)簽或者對(duì)象上添加的腳本名字的字符串赛糟,通知傳送器這種目標(biāo)點(diǎn)應(yīng)該被忽略,所以用戶就不能傳送到這些位置上砸逊。同時(shí)也確保指針顏色被設(shè)為丟失目標(biāo)點(diǎn)顏色璧南。
Play Space Falling:游玩區(qū)墜落:檢查是否玩家是否走出對(duì)象,即所在游玩區(qū)的位置不在對(duì)象上师逸,然后就會(huì)自動(dòng)傳送到最近的地面上穆咐。

反過(guò)來(lái)說(shuō)Play Space Falling 選項(xiàng)是在玩家頭盔在一個(gè)對(duì)象上方時(shí)會(huì)自動(dòng)傳送到一個(gè)對(duì)象的頂部,這一點(diǎn)在模擬爬梯子時(shí)很有用字旭,不需要使用指針光束定位对湃。如果這個(gè)選項(xiàng)關(guān)閉,玩家就能在他們 所站在的對(duì)象的同樣y高度的空中行走(也就是有一部分游玩區(qū)在對(duì)象外部)遗淳。

具體例子:VRTK框架工具中的07拍柒、10、20場(chǎng)景屈暗。

3拆讯、VRTK_HeadsetCollisionFade:頭盔碰撞淡出

(1)概念:
檢測(cè)用戶的VR頭盔何時(shí)碰撞到其他游戲?qū)ο蟛⒌銎聊坏揭粋€(gè)單色處理玩家把頭放進(jìn)一個(gè)游戲?qū)ο罄锟吹綄?duì)象內(nèi)部的裁剪,但不僅限于此养叛,因?yàn)槿绻婕野杨^放到不該放的地方就會(huì)淡出到一個(gè)顏色(如RGB單色)种呐,而這會(huì)誤導(dǎo)玩家,所以這個(gè)能避免這種錯(cuò)誤弃甥。

14.png

這個(gè)分兩種情況:
Unity 5.3及之前:此腳本在[CameraRig] 預(yù)制的Camera(head)對(duì)象上爽室。

14.png

Unity 5.4及之后版本,此腳本在[CameraRig] 預(yù)制下的Camera (head)Camera(eye)對(duì)象上淆攻。

(2)腳本參數(shù):
Blink Transition Speed****(****眨眼淡入淡出速度****)****:碰撞時(shí)淡入淡出速度阔墩。
Fade Color****(****淡出顏色****)****:頭盔碰撞時(shí)淡出顏色嘿架。

發(fā)出事件如下:
HeadsetCollisionDetect: 當(dāng)用戶頭盔碰到其他游戲?qū)ο髸r(shí)發(fā)出。
HeadsetCollisionEnded:當(dāng)用戶頭盔停止碰撞游戲?qū)ο髸r(shí)發(fā)出啸箫。

發(fā)出事件的有效載體內(nèi)容包括:
collider: 頭盔所碰撞的游戲?qū)ο蟮呐鲎财鳌?br> currentTransform: 當(dāng)前頭盔碰撞淡入淡出腳本所添加到的對(duì)象(相機(jī))的Transform耸彪。
具體例子:VRTK框架工具中的11場(chǎng)景.

4、VRTK_PlayerPresence:玩家呈現(xiàn)
15.png

(1)概念:
在虛擬空間內(nèi)忘苛,我們會(huì)遇到展示身體這一狀況蝉娜。比如從身體上拿出東西≡伲或者穿過(guò)其他物體的情況蜀肘。游戲人物的下蹲,爬行等稽屏,其相應(yīng)的碰撞體要達(dá)到與人一樣的狀態(tài)。

15.png

(2)腳本參數(shù):
Headset Y Offset:頭盔y偏移:為用戶創(chuàng)建的盒型碰撞體的高度由用戶頭盔位置設(shè)置西乖。如果需要碰撞體小一點(diǎn)來(lái)讓游玩區(qū)和頭盔之間留有空間的話狐榔,這個(gè)值將降低生成的盒型碰撞體的高度。

Ignore Grabbed Collisions:忽略抓取碰撞:如果勾選获雕,任何被控制器抓取的物品都不會(huì)和游玩區(qū)的盒碰撞體及剛體發(fā)生碰撞薄腻。這在用戶需要抓取和揮動(dòng)對(duì)象時(shí)是很有用的,因?yàn)槿绻鲎搀w激活届案,這些抓取的東西就會(huì)被游玩區(qū)的碰撞體彈開庵楷。
具體例子:VRTK框架工具中的17場(chǎng)景.

5、VRTK_TouchpadWalking:觸摸板移動(dòng)

(1)概念:
通過(guò)手指在觸摸板上滑動(dòng)來(lái)實(shí)現(xiàn)用這個(gè)腳本讓游玩區(qū)在游戲世界中能夠移動(dòng)楣颠。

添加位置:

TouchpadWalking腳本用在[CameraRig]預(yù)制上尽纽,并且在用戶位置添加一個(gè)剛體和盒型碰撞來(lái)防止他們穿過(guò)其他帶碰撞的游戲?qū)ο蟆?/p>

15.png

16.png

(2)腳本參數(shù):
Left Controller:如果勾選,左控制器的觸摸板就能移動(dòng)游玩區(qū)童漩。在運(yùn)行時(shí)可以被切換弄贿。

Right Controller:如果勾選,右控制器的觸摸板就能移動(dòng)游玩區(qū)矫膨。在運(yùn)行時(shí)可以被切換差凹。

Max Walk Speed:當(dāng)觸摸板被觸摸到軸的極限時(shí)游玩區(qū)所能達(dá)到的最大移動(dòng)速度。觸摸板距離中心越近的位置被觸摸侧馅,移動(dòng)速度就越慢危尿。

Deceleration:減速度:當(dāng)用戶不再觸摸到觸摸板時(shí)游玩區(qū)從減速到完全停止的速度。這種減速度效果可以減緩可能遭受的移動(dòng)惡心馁痴。

具體例子:VRTK框架工具中的17場(chǎng)景.

7谊娇、VRTK_RoomExtender:游玩區(qū)空間擴(kuò)展

(1)概念:
允許游玩區(qū)跟隨玩家移動(dòng)。CameraRig 只在達(dá)到定義的圈的邊緣才會(huì)移動(dòng)罗晕。腳本添加到CameraRig來(lái)使用邮绿。

16.png

17.png

(2)腳本參數(shù):
Additional Movement Multiplier:額外移動(dòng)乘數(shù): 圈邊緣的移動(dòng)放大因數(shù)渠旁。0就是不移動(dòng)CameraRig。值越高模擬的游玩區(qū)域就越大船逮,但是也可能就越不令人舒適顾腊。
Head Zone Radius:頭部空間半徑:游玩區(qū)不會(huì)發(fā)生移動(dòng)的圓圈尺寸,一切都正常的挖胃。如果值太低在蹲下時(shí)就會(huì)感到不舒服杂靶。
Debug Transform:調(diào)試Transform: 這個(gè)調(diào)試狀態(tài)下的transform讓玩家周圍的CameraRig不移動(dòng)圓圈顯示出來(lái)。在demo場(chǎng)景里就是一個(gè)在地板上的柱體酱鸭,使用之前要關(guān)閉碰撞吗垮。

具體例子:VRTK框架工具中的28場(chǎng)景.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市凹髓,隨后出現(xiàn)的幾起案子烁登,更是在濱河造成了極大的恐慌,老刑警劉巖蔚舀,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饵沧,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡赌躺,警方通過(guò)查閱死者的電腦和手機(jī)狼牺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)礼患,“玉大人是钥,你說(shuō)我怎么就攤上這事∶宓” “怎么了悄泥?”我有些...
    開封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)肤粱。 經(jīng)常有香客問(wèn)我码泞,道長(zhǎng),這世上最難降的妖魔是什么狼犯? 我笑而不...
    開封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任余寥,我火速辦了婚禮,結(jié)果婚禮上悯森,老公的妹妹穿的比我還像新娘宋舷。我一直安慰自己,他們只是感情好瓢姻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開白布祝蝠。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绎狭。 梳的紋絲不亂的頭發(fā)上细溅,一...
    開封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音儡嘶,去河邊找鬼喇聊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蹦狂,可吹牛的內(nèi)容都是我干的誓篱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼凯楔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼窜骄!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起摆屯,我...
    開封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤邻遏,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后虐骑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體准验,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年富弦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氛驮。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡腕柜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出矫废,到底是詐尸還是另有隱情盏缤,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布蓖扑,位于F島的核電站唉铜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏律杠。R本人自食惡果不足惜潭流,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望柜去。 院中可真熱鬧灰嫉,春花似錦、人聲如沸嗓奢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至泽示,卻和暖如春付鹿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背炎滞。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工敢艰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人厂榛。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓盖矫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親击奶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辈双,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容