摘要
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
(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è)可用的世界指針勺馆。
(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ò)誤弃甥。
這個(gè)分兩種情況:
Unity 5.3及之前:此腳本在[CameraRig] 預(yù)制的Camera(head)對(duì)象上爽室。
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)
(1)概念:
在虛擬空間內(nèi)忘苛,我們會(huì)遇到展示身體這一狀況蝉娜。比如從身體上拿出東西≡伲或者穿過(guò)其他物體的情況蜀肘。游戲人物的下蹲,爬行等稽屏,其相應(yīng)的碰撞體要達(dá)到與人一樣的狀態(tài)。
(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>
(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)使用邮绿。
(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)景.