PICO 4 開發(fā)初嘗試 1(實(shí)現(xiàn)兩個(gè)物體組合運(yùn)動(dòng))
PICO4開發(fā)環(huán)境搭建:
本人使用的是unity引擎作為開發(fā)平臺(tái),環(huán)境搭建可以參考PICO官方的文檔(鏈接:Unity - PICO 開發(fā)者平臺(tái) (pico-interactive.com),測(cè)試采用的是串流運(yùn)行。
原理實(shí)現(xiàn):
想要使物體運(yùn)動(dòng)相對(duì)靜止,首先想到的是修改物體之間的層級(jí)關(guān)系,即子物體會(huì)受到父物體的運(yùn)動(dòng)影響,但是在vr環(huán)境中,角色抓取的物體不一定是父物體,有時(shí)可能需要抓取的是子物體,如果根據(jù)抓取的物體動(dòng)態(tài)調(diào)節(jié)父子關(guān)系,在組合物品數(shù)量增多,組合結(jié)構(gòu)復(fù)雜的情況下,難以進(jìn)行設(shè)計(jì)。
其次是采用父約束,父約束可以在不改變物體層級(jí)的情況下讓添加約束的兩個(gè)物體類似父子關(guān)系相對(duì)靜止,但是實(shí)際制作時(shí)發(fā)現(xiàn)在場(chǎng)景運(yùn)行時(shí)實(shí)時(shí)的增加約束有可能會(huì)失效(原因不明),并且添加約束后只有父級(jí)物體才能實(shí)現(xiàn)物理效果,子級(jí)物體無(wú)法影響到父級(jí)物體,而如果添加約束使二者互為對(duì)方父級(jí),則會(huì)產(chǎn)生無(wú)法預(yù)測(cè)的情況(可能會(huì)失效,也可能會(huì)物體劇烈抖動(dòng))
最終我采用了固定關(guān)節(jié),使用固定關(guān)節(jié)將兩個(gè)物體鏈接在一起,兩個(gè)物體都能實(shí)現(xiàn)相互影響,并且不會(huì)失去物理效果,但是這也有一定的缺點(diǎn),就是兩個(gè)物體之間的運(yùn)動(dòng)會(huì)有一些延遲,無(wú)法完美的像一個(gè)整體一樣運(yùn)動(dòng),但是在非高強(qiáng)度的運(yùn)動(dòng)下還是可以使用的,并且關(guān)節(jié)的動(dòng)態(tài)綁定和解除更加方便。(下一章講講代碼部分)