HTC VIVE丨5. Linear Drive與Circular Drive的使用 【轉載】
Linear Drive
簡介
Linear Drive:線性驅動
Circular Drive:滑行驅動
LinearDrive和CircularDrive一方面實現物體按照設定方式進行運動,另一方面輸出數值到LInearMapping
LinearMapping提供0-1之間的數值,可用其改變其他物體的屬性,如位置,時間等
屬性
Start 、End Position:開始和結束點。該兩點組成一條直線。Sphere起止點就在該兩點上。剛執行時,Sphere會自動調整位置到和起止點同一直線上去
更改無形gameOjgect為有形方法:更改gameObject的圖示,使其在場景中顯現出來
LinearMapping:一個指令碼元件,用於輸出該物體在起止點上的比例,數值為0-1
Reposition Game Object:遊戲物體重定位,即不勾選時,Sphere不可移動,但還會輸出數值到LinearMapping
Maintain Momemntum:物體在滑動時是否具有慣性,即勾選後,停下滑動Sphere,Sphere還會根據慣性繼續向前移動一段距離
Momemutum Dampen Rate:勾選上個選項後的阻力值。越大,物體停下越快
使用LinearMapping
實現:使用LinearMapping控制動畫播放進度
為人物新增LinearAnimator指令碼元件,賦值LinearMapping,Animator直接賦值人物便可
執行專案後,會發現滑動小球,人物會根據小球進度運動。反向滑動,人會運動會回退
實現該效果的原理是該指令碼通過Value的數值控制動畫的播放,我們完全可自己寫程式碼,通過Value的值,實現各種效果
Circular Drive
新建Cube,為其新增Circular Drive指令碼元件
Axis Of Rotation:設定物體繞X、Y、Z哪根軸旋轉
Child Collider:物體如果自帶碰撞體元件,只要接觸到它,便可對它進行選轉。但若類似門把手結構,我們將一個小球置於該Cube下成為它子物體,取消cube的Collider,該選項選擇小球,執行專案時,旋轉小球,便可實現方塊的旋轉
LinearMapping:同上
Hover Lock:勾選時,當手柄按住Trigger鍵移出感應區域,仍可像在感應區域內一樣,對該物體進行操作。但取消勾選,則停止操作
Limited Rotation:
Limited:旋轉是否被限制(旋轉角度),勾選,則被限制,不勾選,則可無限制旋轉
Frozen Distance Min Max Threshold:當距離最小或最大角度小於多少以內,便執行鎖定(無論是否勾選Freeze On Min/Max)
Limited Rotation Min
Min Angle;最小角度
Freeze On Min:當達到最小角度時,鎖定該角度,不能旋轉(如論如何旋轉,固定該模型位置)
On Min Angle():當達到最小角度觸發的事件
Force Start:是否初始化角度
Start Angle:設定初始角度,若該角度大於最大角度,初始角度則為最大角度,最小角度同理
Rotate Game Object:類似reposition Game Object,勾選時,物體不會旋轉,但會輸出數值到LinearMapping
Out Angle:輸出角度值。LinearMapping輸出為0-1數值,該值為實際角度值