【HTC-VIVE】09-Teleport:手柄發(fā)射瞬移激光檢測線,處理角色瞬移

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ì)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容