
Teleport腳本組件:
該腳本是一個很重要的腳本,涉及到使用手柄的圓盤進(jìn)行位置移動,通過該腳本來控制TeleportPoint與TeleportArea 的相關(guān)狀態(tài)。同時能播放相應(yīng)的特效,音頻,調(diào)整可以瞬移的最大距離等,下面會詳細(xì)分析該組件。
Teleporting.png可設(shè)置的屬性:
- Teleport Action : 瞬移傳送定義的輸入事件
- Trace Layer Mask: 該傳送激光可以追蹤的layer層
- Floor Fixup Trace Layer Mask: 地面修正的可追蹤的layer層
- Floor Fixup Maximum Trace Distance: 地面修正的最大的追蹤距離
- Area Visible Material : 區(qū)域傳送的未鎖定的材質(zhì)
- Area Locked Material: 區(qū)域傳送鎖定的材質(zhì)
- Area Highlighted Material: 區(qū)域傳送被激光打中的 高亮顯示的材質(zhì)
- Point Visible Material : 點傳送的未鎖定的材質(zhì)
- Point Locked Material : 點傳送鎖定的材質(zhì)
- Point Highlighted Material:點傳送被激光打中的 高亮顯示的材質(zhì)
- Destination Reticle Transform: 有效目的地時的十字線模型及材質(zhì)
- Invalid Reticle Transform :無效目的地時的十字線模型及材質(zhì)
- Play Area Preview Corner : 用于生成玩家可游玩的區(qū)域的 拐角 模型
- Play Area Preview Side : 用于生成玩家可游玩的區(qū)域的 邊線 模型
- Pointer Valid Color : 激光線 打到 可以傳送位置 的顏色
- Pointe rInvalid Color : 激光線 打到 無效位置 的顏色
- Pointer Locked Color: 激光線 打到 鎖定的位置 的顏色
- Show Play Area Marker : 如果是可傳送區(qū)域,則顯示角色可游玩標(biāo)記
- Teleport Fade Time : **瞬移的轉(zhuǎn)場時間,也設(shè)置頭顯SteamVR_Fade的模糊漸隱時間。
- Mesh Fade Time : 可瞬移的區(qū)域模型mesh 的漸隱時間
- Arc Distance : 可瞬移的最大距離
特效:
- On Activate Object Transform : 在激光一打到激活顯示的任何物體的一瞬間,產(chǎn)生特效的位置(可以將固定特效作為該點的子物體,就可以實現(xiàn)播放特效)
- On Deactivate Object Transform : 在激光一打到目標(biāo)點或區(qū)域一瞬間,產(chǎn)生特效的位置(可以將固定特效作為該點的子物體,就可以實現(xiàn)播放特效)
- Activate Object Time : 激光打到激活顯示的任何物體物體的特效,持續(xù)顯示的時間
- Deactivate Object Time : 激光一打到目標(biāo)點或區(qū)域的特效。持續(xù)顯示的時間
音效播放器:
- Pointer Audio Source : 激光線的音頻播放器(pointerStartSound與pointerStopSound)
- Looping Audio Source:持續(xù)循環(huán)播放的播放器(比如一直按下傳送時,一直播放的音效pointerLoopSound)
- Head Audio Source : 玩家頭部的音效播放器(比如播放傳送聲音teleportSound)
- Reticle Audio Source : 瞬移激光是否正確選中區(qū)域,或者能否傳送的播放器( badHighLightSound 與 goodHighLightSound)
音效資源AudioClip:
- Teleport Sound: 瞬移動作聲音 Clip
- Pointer Start Sound : 瞬移激光剛發(fā)射時的 聲音 Clip
- Pointer Loop Sound : 瞬移激光一直按下的 聲音 Clip
- Pointer Stop Sound : 瞬移激光停止的 聲音 Clip
- Good Highlight Sound : 可以移動的高亮顯示的 聲音 Clip
- Bad Highlight Sound : 不可移動的高亮顯示的 聲音 Clip
Debug:
- Debug Floor : 是否開起 地面測試
- Show Offset Reticle : 是否顯示 可移動與可游玩的偏移量
- Offset Reticle Transform : 行進(jìn)偏移模型
- Floor Debug Sphere : 地面檢測球
- Floor Debug Line : 地面檢測顯示線
可訪問的屬性或方法:
- HideTeleportPointer(): --------------隱藏激光線
- ShowTeleportHint() : ---------------顯示傳送按鈕點擊的提示
- CancelTeleportHint() : ----------------取消傳送按鈕點擊的提示
- IsEligibleForTeleport( Hand hand ) : -------判斷該手是否能夠進(jìn)行傳送,(當(dāng)拿著東西時,該物體有AllowTeleportWhileAttachedToHand 組件時,就可以傳送,如果沒有,就不能拿著物體進(jìn)行傳送)
注:
該腳本也是一個單例 ,通過instance 訪問公共成員。在同一時刻應(yīng)該只有一個。
為了顯示與調(diào)節(jié)瞬移的顯示線,在該組件下 添加 TeleportArc 腳本組件:
TeleportArc.png可設(shè)置屬性:
- SegmentCount : 激光線有多少段
- Thickness : 激光線的厚度
- Arc Duration : 線段的持續(xù)時間
- Segment Break : 線端每部部分之間的間隔
- Arc Speed: 線段移動速度
- Material : 激光線的材質(zhì)

