1. 程式人生 > >HTC VIVE丨5. Linear Drive與Circular Drive的使用 【轉載】

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數值,該值為實際角度值