Unity虛擬現實開發——鼠標開關窗戶效果多種實現方案

    在使用Unity進行VR開發中遇到鼠標拖動開關窗戶的功能需求,我想到三種解決方案: 

    一:窗戶模型必須經過建模軟件處理,使其座標軸Y軸在窗子邊沿;使用歐拉角改變鼠標拖動中的窗戶旋轉角度(eulerAngles),並使用Mathf.Clamp()限制其旋轉角度;

    二:爲模型錄制關鍵幀動畫Animation,在鼠標拖動過程中改變其播放順序和速度;

    三:使用Unity提供的物理組件:HingeJoint(鉸鏈關節)。

    下面演示第三種方案(使用鉸鏈關節)如何實現開關窗戶效果:


    我們勾選HingeJoint組件的UseLimits選項,並限制最大窗戶開合角度爲90度。

    代碼如下:


    我使用了UGUI提供的事件接口(對於非UI的3D物體同樣適用),目的是簡化代碼量,因爲事件接口中爲我們提供了現成的鼠標拖動增量值delta,可以很好的根據鼠標拖動速度改變窗子的開合快慢。

    運行效果如下:


    Pai大星微信——2463954659.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章