語(yǔ)錄:
有人感激過(guò)你的善良嗎,貌似他們只會(huì)得寸進(jìn)尺。
前言:
? ? ? ? Toggle按鈕是提供簡(jiǎn)單空間 UI 選項(xiàng)的另一種方式,在該選項(xiàng)中,按鈕將保持其狀態(tài),直到再次單擊它。這允許按鈕處于激活狀態(tài)或停用狀態(tài)的情況,通過(guò)單擊帶有對(duì)象指針的按鈕來(lái)切換每個(gè)狀態(tài)。
? ? ? ?Interactions.SpatialButton.ToggleButton使設(shè)置變得非常容易。
正文:
步驟一:
? ? ? ?我們需要添加Interactions.SpatialButton.ToggleButton到場(chǎng)景中:
Tilia -> Prefabs -> Interactions -> SpatialButtons -> Interactions.SpatialButton.ToggleButton
?添加完畢之后我們會(huì)發(fā)現(xiàn),它與之前創(chuàng)建的Interactions.SpatialButton.ClickButton的組件屬性一樣,所以我們默認(rèn)設(shè)置就好。如果您現(xiàn)在播放 Unity 場(chǎng)景,您將看到第一次單擊帶有對(duì)象指針的切換按鈕會(huì)將切換按鈕置于活動(dòng)狀態(tài),它將保持活動(dòng)狀態(tài),直到再次單擊切換按鈕。
?他們的不同之處在于Indicators.SpatialTargets.Target上面的Actions On Activate:
Interactions.SpatialButton.ClickButton->Indicators.SpatialTargets.Target->Actions On Activate->
?Interactions.SpatialButton.ToggleButton->Indicators.SpatialTargets.Target->Actions On Activate->
?他們的區(qū)別就在于Interactions.SpatialButton.ClickButton點(diǎn)擊之后就會(huì)回復(fù)到初始狀態(tài),Interactions.SpatialButton.ToggleButton點(diǎn)擊之后會(huì)顯示點(diǎn)擊后的狀態(tài),再進(jìn)行一次點(diǎn)擊才能恢復(fù)到初始狀態(tài)。
步驟二:
? ? ? 新的模塊Interactions.SpatialButton.Group允許我們將場(chǎng)景空間按鈕組合在一起,每個(gè)組都有自己的空間目標(biāo)調(diào)度程序,這意味著我們可以限制哪些按鈕可以控制其他組中其他按鈕的狀態(tài),甚至讓我們控制哪些對(duì)象指針可以與這些按鈕組交互。
Tilia -> Prefabs -> Interactions -> SpatialButtons -> Interactions.SpatialButton.Group
步驟三:
? ? ? ? ?我們需要前面創(chuàng)建的Interactions.SpatialButton.ClickButton和Interactions.SpatialButton.ToggleButton放到Interactions.SpatialButton.Group->Buttons下面即可。
步驟四:
? ? ? ?這時(shí)我們就不需要前面創(chuàng)建的?Indicators.SpatialTargets.Dispatcher(空間目標(biāo)處理器),直接刪除就可以了,這時(shí),我們的對(duì)象指針現(xiàn)在不再設(shè)置為使用我們的按鈕,因?yàn)槲覀儎h除了Indicators.SpatialTargets.Dispatcher(空間目標(biāo)處理器)。我們確實(shí)在按鈕組上使用了空間目標(biāo)調(diào)度程序,但這意味著我們添加的每個(gè)新按鈕組都意味著我們需要繼續(xù)將對(duì)象指針事件掛接到每個(gè)新按鈕組的每個(gè)空間目標(biāo)調(diào)度程序。
? ? ? ?這時(shí)我們可以簡(jiǎn)單地設(shè)置一次對(duì)象指針來(lái)調(diào)用空間目標(biāo)處理器,然后我們添加的任何新的空間目標(biāo)調(diào)度程序都可以添加到空間目標(biāo)處理器列表中:
Tilia -> Prefabs -> Indicators -> SpatialTargets -> Indicators.SpatialTargets.Processor
步驟五:
? ? ? ?然后將游戲?qū)ο笸戏诺浇M件的屬性中的屬性值中。
步驟六:
我們現(xiàn)在需要修復(fù)對(duì)象指針事件,因?yàn)橐郧八鼈儠?huì)在我們剛剛刪除的空間目標(biāo)調(diào)度程序上使用事件偵聽(tīng)器進(jìn)行設(shè)置,因此現(xiàn)在我們需要將對(duì)象指針事件掛接到新添加的空間目標(biāo)處理器。
?Play:
? ? ? ? 運(yùn)行場(chǎng)景,您會(huì)注意到切換按鈕的工作方式仍然相同,因此請(qǐng)按鍵激活對(duì)象指針并將光束指向切換按鈕,然后按鍵將切換按鈕置于激活狀態(tài)。使用對(duì)象指針再次單擊切換按鈕將使切換按鈕恢復(fù)到停用狀態(tài)。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-757676.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-757676.html
到了這里,關(guān)于【Unity VR開(kāi)發(fā)】結(jié)合VRTK4.0:創(chuàng)建一個(gè)按鈕(Togglr Button)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!