VRTK 玩家移動功能 (2)

Author: Kelvin Huang

依照 Tag 來判斷移動的目標位置是否有效,例如指向地面時可以移動,若是指向空中時不可移動。

建立規則,透過 Tag 標籤判斷玩家是否可以移動至此,例如可在地板移動,其他物件上則顯示為紅色。

首先增加一個 Floor 的 Tag ,選取任一物件後,在 Tag 下拉式選單執行 Add Tag ,按 + 新增標籤。

輸入 Floor(地板)按下 Save 儲存。

 

執行 [ Window > Zinnia > Observable List Component Generator ] 開啟 Observable List Component Generator 視窗

-

將 Component Type 更改為 Any Tag Rule

-

如果目前有選擇遊戲物件,需要將 Generate in [ 物件名稱 ] 取消勾選

-

選擇 Indicators.ObjectPointers.Curved 物件,將 AnyTagRule_Container 拖曳放入到 PointerFacade 元件的 Target Validity 欄位

-

按下 Play 測試,當指向 Tag 非 Floor 的物件時,指過去的弧線會不會變為紅色的

 

 

 

完成以上步驟,可測試遊戲確認是否正常執行。

 

 

更改弧線與終點的外觀

開啟 [ Packages > .Tilia Indicators Objectpointers Unity > Runtime > SharedResources > NestedPrefabs ] 資料夾,將 Elements.AnimatedCube 預置物件拖曳放入 [ Indicators.ObjectPointers.Curved > ObjectPointer.Internal > Elements > RepeatedSegment ] 物件中

-

將原本的 Elements.Cube 停用

-

選擇 [ Indicators.ObjectPointers.Curved > PointerElements > RepeatedSegment ] 物件

-

原本的 Valid Container Settings 與 Invalid Container Settings 下面的欄位都是舊的 Elements.Cube 中的物件。

-

需要將 Elements.AnimatedCube 下的物件拖曳放入 Valid Container Settings 與 Invalid Container Settings 下面的欄位

-

測試弧線是否變更為動態弧線。

-

更改終點目標的圖示,增加一個半透明的圓柱體。

-

在 [ Indicators.ObjectPointers.Curved > Elements > Destination > Elements.Cylinder > ValidContainer > ValidCylinder ] 物件下增加一個圓柱體物件。

-

為圓柱體增加一個半透明材質

-

更改圓柱體的大小與高度,再將原本的 Capsule Collider 刪除或停用

-

測試,在弧線的終點會不會出現剛剛創建的圓柱體。

 

Copyright © 2025 CG Digital Corp. All rights reserved.