語錄:
天若阻我,我便撕裂這天!地若攔我,我便踏碎這地!
前言:
在3D空間中,我們往往需要設(shè)置空間按鈕,通過交互器或指針與之交互的可碰撞來實現(xiàn)。接下來我們設(shè)置一個簡單的按鈕,可以使用對象指針進行選擇,以啟動按鈕的點擊,使用預(yù)制件表示我們的按鈕,并使用可與按鈕交互的空間指針的預(yù)制模塊:Interactions.SpatialButton.ClickButton、Indicators.ObjectPointers.Straight。
正文:
步驟一:
? ? ? ? 添加一個直線指針Indicators.ObjectPointers.Straight,用于按鈕的交互:
?配置當前組件上面的屬性:
?步驟二:
? ? ? ? 我們需要讓對象指針知道我們的調(diào)度程序,我們的調(diào)度程序知道我們的空間按鈕。這意味著我們的對象指針和空間按鈕之間的任何通信都將通過調(diào)度程序。這時,我們需要另外一個模塊:Indicators.SpatialTargets.Dispatcher:
Tilia -> Prefabs -> Indicators -> SpatialTargets -> Indicators.SpatialTargets.Dispatcher
?步驟三:
? ? ? ? ?我們需要將對象指針掛接到調(diào)度程序上,以便于對象指針和事件調(diào)用程序方法綁定:
分別選在要在發(fā)出事件時執(zhí)行的函數(shù):
觸發(fā):SpatialTargetDispatcher -> DoDispatchEnter
退出:SpatialTargetDispatcher -> DoDispatchExit
選擇:SpatialTargetDispatcher -> DoDispatchSelect
步驟四:
? ? ? ?那么接下來我們需要創(chuàng)建一個空間按鈕,使他可以與我們的直線指針進行交互:
?Tilia -> Prefabs -> Interactions -> SpatialButtons -> Interactions.SpatialButton.ClickButton
?如果我們是第一次使用,它會彈出來一個提示框,讓我們加載對應(yīng)的使用TextMesh Pro所必需的資源。
步驟五:
? ? ? ??現(xiàn)在,我們可以通過編輯組件上的屬性來更改空間按鈕的外觀。
按鈕可以處于兩種主要狀態(tài),以及相關(guān)的嵌套子狀態(tài):
- 啟用樣式:這些是啟用按鈕時用于按鈕外觀的樣式(屬性已選中)。
Is Enabled
- 已啟用非活動:按鈕已啟用,但未懸停在按鈕上,因此處于非活動狀態(tài)。
- 啟用懸停:按鈕已啟用,對象指針懸停在此按鈕上,但尚未選擇該按鈕。
- 啟用活動:按鈕已啟用,對象指針已激活按鈕(即單擊按鈕)。
- 禁用樣式:這些是禁用按鈕時用于按鈕外觀的樣式(屬性未選中)。
Is Enabled
- 禁用 非活動:按鈕已禁用,但未懸停,因此處于非活動狀態(tài)。
- 禁用懸停:按鈕已禁用,對象指針懸停在此按鈕上,但尚未選擇該按鈕。
每個樣式類型都是與按鈕狀態(tài)相關(guān)的屬性集合,樣式的嵌套屬性類型為:
-
Is Applied
:是否將樣式應(yīng)用于按鈕狀態(tài)。如果未選中此選項,則可以手動設(shè)置按鈕內(nèi)部元素的樣式。 -
Button Text
:當按鈕處于相關(guān)狀態(tài)時,按鈕上顯示的文本。 -
Font Size
:要顯示的文本的字體大小。 -
Font Color
:文本字體的顏色。 -
Mesh Color
:按鈕處于相關(guān)狀態(tài)時按鈕網(wǎng)格框的顏色。
我們現(xiàn)在只是設(shè)置一個簡單的按鈕,我們只是要更改每個狀態(tài)的文本,但將按鈕的外觀保留為默認設(shè)置。
從 Unity 層次結(jié)構(gòu)窗口中選擇游戲?qū)ο?,然后在組件上更改以下屬性:ClickButton
Spatial Button Facade
- 已啟用非活動 -> 按鈕文本:
I AM OFF
- 啟用懸停 -> 按鈕文本:
I AM OFF
- 已啟用活動>按鈕文本:
CLICKED
- 禁用非活動 -> 按鈕文本:
DISABLED
- 禁用懸停 -> 按鈕文本:
DISABLED
Play:
? ? ? 當我們運行場景并激活對象指針,?將光束指向按鈕,并注意按鈕網(wǎng)格顏色如何變?yōu)閼彝n伾0存I調(diào)用對象指針選擇操作,該操作將依次單擊我們的按鈕,您將看到按鈕在返回到默認狀態(tài)之前快速更改為激活狀態(tài)。文章來源:http://www.zghlxwxcb.cn/news/detail-541162.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-541162.html
到了這里,關(guān)于【Unity VR開發(fā)】結(jié)合VRTK4.0:創(chuàng)建一個按鈕(Button)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!