本技術(shù)涉及計(jì)算機(jī),更具體地,涉及一種用于控制智能眼鏡的焦點(diǎn)窗口的運(yùn)動(dòng)的方法、裝置、電子設(shè)備和介質(zhì)。
背景技術(shù):
1、智能眼鏡(例如,增強(qiáng)現(xiàn)實(shí)(ar)眼鏡或混合現(xiàn)實(shí)(xr)眼鏡等等)作為一種新興的技術(shù)產(chǎn)品,其交互和ui設(shè)計(jì)也是作為產(chǎn)品的競(jìng)爭(zhēng)力重要因素。智能眼鏡與虛擬世界中的焦點(diǎn)(平面窗口、3d模型等)的交互及展現(xiàn)方式也是當(dāng)下行業(yè)內(nèi)熱點(diǎn)討論的方面。例如,智能眼鏡上設(shè)置的圖像采集設(shè)備(例如,相機(jī))可以用于采集真實(shí)環(huán)境中的場(chǎng)景和/或用戶交互手勢(shì)等等,并將其反饋到智能眼鏡中的處理器進(jìn)行相應(yīng)渲染處理,以便生成可以利用智能眼鏡的光機(jī)(顯示硬件)顯示的相關(guān)信息。在渲染處理過(guò)程中,可以構(gòu)建ar虛擬空間,在智能眼鏡的顯示屏上顯示的圖像是在ar虛擬空間中生成的虛像,并且并最終由用戶看到的虛像與相機(jī)的視場(chǎng)(fov)以及虛擬圖像距離相關(guān)。
2、在智能眼鏡的應(yīng)用中,虛擬世界中存在智能眼鏡與其交互的焦點(diǎn)(例如,平面窗口或3d模型等等)。焦點(diǎn)窗口可以用于提供增強(qiáng)信息或者實(shí)現(xiàn)用戶交互等等。焦點(diǎn)窗口可以認(rèn)為是當(dāng)前活動(dòng)窗口或交互窗口,理想情況下經(jīng)過(guò)渲染后能夠占據(jù)智能眼鏡的顯示屏的一部分,覆蓋在所顯示的圖像(與相機(jī)的fov相關(guān)聯(lián))上面,從而可以很好地為用戶呈現(xiàn)有用信息或者更好地與用戶交互。
技術(shù)實(shí)現(xiàn)思路
1、根據(jù)本技術(shù)的一方面,提供了一種用于控制智能眼鏡的焦點(diǎn)窗口的運(yùn)動(dòng)的方法。方法可以包括:響應(yīng)于所述智能眼鏡發(fā)生旋轉(zhuǎn)運(yùn)動(dòng),確定所述智能眼鏡的相機(jī)的視場(chǎng)發(fā)生旋轉(zhuǎn)運(yùn)動(dòng);以及控制所述焦點(diǎn)窗口沿著以所述相機(jī)為中心且具有預(yù)設(shè)值的半徑的運(yùn)動(dòng)球面上,朝向所述相機(jī)的當(dāng)前視場(chǎng)的視場(chǎng)中心位置運(yùn)動(dòng);其中,所述焦點(diǎn)窗口的所述運(yùn)動(dòng)包括先加速后減速的過(guò)程。
2、根據(jù)本技術(shù)的實(shí)施例,所述焦點(diǎn)窗口的所述運(yùn)動(dòng)是響應(yīng)于所述焦點(diǎn)窗口的至少一部分位于所述相機(jī)的當(dāng)前視場(chǎng)之外來(lái)啟動(dòng)的。
3、根據(jù)本技術(shù)的實(shí)施例,其中,控制所述焦點(diǎn)窗口的所述運(yùn)動(dòng)是基于彈力繩模型的,其中,所述彈力繩模型的彈力繩一端連接所述相機(jī)的當(dāng)前視場(chǎng)的視場(chǎng)中心位置,并且另一端連接所述焦點(diǎn)窗口的窗口中心位置,其中所述窗口中心位置是按照每一幀更新的。
4、根據(jù)本技術(shù)的實(shí)施例,其中,控制所述焦點(diǎn)窗口沿著緊貼以所述相機(jī)為中心且具有預(yù)設(shè)值的半徑的運(yùn)動(dòng)球面上,朝向所述相機(jī)的當(dāng)前視場(chǎng)的視場(chǎng)中心位置運(yùn)動(dòng),包括:針對(duì)當(dāng)前幀的開(kāi)始時(shí)刻,確定所述彈力繩在當(dāng)前幀的開(kāi)始時(shí)刻的視場(chǎng)中心位置和窗口中心位置之間的彈力;基于所述彈力和所述焦點(diǎn)窗口在所述當(dāng)前幀的開(kāi)始時(shí)刻的運(yùn)動(dòng)速度,確定所述焦點(diǎn)窗口在所述當(dāng)前幀內(nèi)的弧線位移,所述弧線位移為在所述運(yùn)動(dòng)球面上的在當(dāng)前幀的開(kāi)始時(shí)刻的視場(chǎng)中心位置和窗口中心位置之間的弧線上的一部分;基于所述弧線位移確定所述當(dāng)前幀的結(jié)束時(shí)刻的所述焦點(diǎn)窗口的窗口中心位置;以及將所述焦點(diǎn)窗口移動(dòng)到所確定的在所述當(dāng)前幀的結(jié)束時(shí)刻的所述焦點(diǎn)窗口的窗口中心位置。
5、根據(jù)本技術(shù)的實(shí)施例,其中,基于所述彈力和所述焦點(diǎn)窗口在所述當(dāng)前幀的開(kāi)始時(shí)刻的運(yùn)動(dòng)速度,確定所述焦點(diǎn)窗口在所述當(dāng)前幀內(nèi)的弧線位移,包括:基于所述彈力以及預(yù)設(shè)最大靜摩擦阻力,確定所述焦點(diǎn)窗口在當(dāng)前幀對(duì)應(yīng)的幀時(shí)段內(nèi)的加速度;基于所述焦點(diǎn)窗口在當(dāng)前幀的開(kāi)始時(shí)刻的運(yùn)動(dòng)速度以及所述加速度,確定在當(dāng)前幀的結(jié)束時(shí)刻的運(yùn)動(dòng)速度以及在當(dāng)前幀對(duì)應(yīng)的幀時(shí)段內(nèi)的弧線位移。
6、根據(jù)本技術(shù)的實(shí)施例,其中,基于所述弧線位移確定當(dāng)前幀的結(jié)束時(shí)刻的所述焦點(diǎn)窗口的窗口中心位置,包括:確定所述弧線位移與在當(dāng)前幀的開(kāi)始時(shí)刻的視場(chǎng)中心位置和窗口中心位置之間在所述運(yùn)動(dòng)球面上的弧線的比例;以及基于所述視場(chǎng)中心位置、所述窗口中心位置以及所述比例,確定在當(dāng)前幀的結(jié)束時(shí)刻的所述焦點(diǎn)窗口的窗口中心位置。
7、根據(jù)本技術(shù)的實(shí)施例,其中,確定當(dāng)前幀的結(jié)束時(shí)刻的所述焦點(diǎn)窗口的窗口中心位置,包括:基于所述相機(jī)的位置與在當(dāng)前幀的開(kāi)始時(shí)刻的視場(chǎng)中心位置之間的第一向量、所述相機(jī)的位置與在當(dāng)前幀的開(kāi)始時(shí)刻的窗口中心位置之間的第二向量和所述比例,確定所述相機(jī)的位置與在當(dāng)前幀的結(jié)束時(shí)刻的所述焦點(diǎn)窗口的窗口中心位置之間的向量,作為當(dāng)前幀的結(jié)束時(shí)刻的所述焦點(diǎn)窗口的窗口中心位置。
8、根據(jù)本技術(shù)的實(shí)施例,其中,控制所述焦點(diǎn)窗口沿著緊貼以所述相機(jī)為中心且具有預(yù)設(shè)值的半徑的運(yùn)動(dòng)球面上,朝向所述相機(jī)的當(dāng)前視場(chǎng)的視場(chǎng)中心位置運(yùn)動(dòng),還包括:利用插值算法,基于在當(dāng)前幀的開(kāi)始時(shí)刻所述焦點(diǎn)窗口的窗口中心位置對(duì)應(yīng)的第一旋轉(zhuǎn)量以及在與所述視場(chǎng)中心位置重合時(shí)的位置對(duì)應(yīng)的第二旋轉(zhuǎn)量,確定在所述當(dāng)前幀的結(jié)束時(shí)刻的所述焦點(diǎn)窗口的旋轉(zhuǎn)量;以及在所述當(dāng)前幀的結(jié)束時(shí)刻將所述焦點(diǎn)窗口旋轉(zhuǎn)到具有所確定的旋轉(zhuǎn)量。
9、根據(jù)本技術(shù)的實(shí)施例,其中,確定當(dāng)前幀的結(jié)束時(shí)刻的所述焦點(diǎn)窗口的旋轉(zhuǎn)量,包括:基于所述焦點(diǎn)窗口在當(dāng)前幀的開(kāi)始時(shí)刻的運(yùn)動(dòng)速度確定插值比例,其中,所述運(yùn)動(dòng)速度越大,所述插值比例越小;以及基于所述插值比例,根據(jù)所述第一旋轉(zhuǎn)量以及所述第二旋轉(zhuǎn)量,確定在所述當(dāng)前幀的結(jié)束時(shí)刻的所述焦點(diǎn)窗口的旋轉(zhuǎn)量。
10、根據(jù)本技術(shù)的實(shí)施例,其中,所述插值算法基于以下四元數(shù)插值公式:
11、
12、其中,q0為在所述當(dāng)前幀的開(kāi)始時(shí)刻的所述焦點(diǎn)窗口的窗口中心位置對(duì)應(yīng)的以四元數(shù)表示的所述第一旋轉(zhuǎn)量,q1為預(yù)期所述焦點(diǎn)窗口在所述當(dāng)前幀的開(kāi)始時(shí)刻的視場(chǎng)中心位置時(shí)的以四元數(shù)表示的第二旋轉(zhuǎn)量,qdelta為所述插值比例,并且θq為所述相機(jī)的位置與在所述當(dāng)前幀的開(kāi)始時(shí)刻的視場(chǎng)中心位置之間的第一向量與所述相機(jī)的位置與在焦點(diǎn)窗口在所述當(dāng)前幀的開(kāi)始時(shí)刻的窗口中心位置之間的第二向量之間的夾角。
13、根據(jù)本技術(shù)的實(shí)施例,其中,所述插值比例與在所述當(dāng)前幀的開(kāi)始時(shí)刻的運(yùn)動(dòng)速度的函數(shù)關(guān)系為:
14、qdelta=1-(-m-v+1)n
15、其中,v為當(dāng)前幀的開(kāi)始時(shí)刻的運(yùn)動(dòng)速度,qdelta為所述插值比例,m和n為經(jīng)驗(yàn)值。
16、根據(jù)本技術(shù)的另一方面,提供了一種電子設(shè)備,包括:一個(gè)或多個(gè)處理器;以及一個(gè)或多個(gè)存儲(chǔ)器,其上存儲(chǔ)由處理器可執(zhí)行指令,所述處理器可執(zhí)行指令在由所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得所述一個(gè)或多個(gè)處理器執(zhí)行如上所述的方法。
17、根據(jù)本技術(shù)的另一方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,其上存儲(chǔ)由計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在由一個(gè)或多個(gè)處理器執(zhí)行時(shí),實(shí)現(xiàn)如上所述的方法。
18、根據(jù)本技術(shù)的另一方面,提供了一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)由計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在由一個(gè)或多個(gè)處理器執(zhí)行時(shí),實(shí)現(xiàn)如上所述的方法。
19、根據(jù)本技術(shù)的各個(gè)實(shí)施例,通過(guò)控制焦點(diǎn)窗口隨著相機(jī)的旋轉(zhuǎn)運(yùn)動(dòng)而在運(yùn)動(dòng)球面上的運(yùn)動(dòng),使得用戶通過(guò)智能眼鏡的顯示屏均可以看到視場(chǎng)之外的焦點(diǎn)窗口迅速地運(yùn)動(dòng)到視場(chǎng)內(nèi),此外,可以通過(guò)彈力繩模型確定每一幀的結(jié)束時(shí)刻時(shí)焦點(diǎn)窗口的位置(例如,世界坐標(biāo)系下的三維坐標(biāo))以及旋轉(zhuǎn)量,按照所確定的每一幀的結(jié)束時(shí)刻焦點(diǎn)窗口應(yīng)當(dāng)處于的位置以及應(yīng)當(dāng)具有的旋轉(zhuǎn)量來(lái)控制焦點(diǎn)窗口,使得所呈現(xiàn)出的焦點(diǎn)窗口的窗口中心位置能夠比較接近視場(chǎng)中心位置f,并且基本面向觀察者,因此可以實(shí)現(xiàn)彈性動(dòng)畫(huà)的效果,從而使得焦點(diǎn)窗口處在視場(chǎng)之外的情況下會(huì)進(jìn)行先加速再減速平滑運(yùn)動(dòng)到視場(chǎng)中。