Buy+技術(shù)是首個購物+VR的結(jié)合,而這個結(jié)合自然會出現(xiàn)一些難題,那么到底有哪些難題呢。
1、圖片識別
作為技術(shù)人員,我們首先想到的是做圖片識別。有一個標(biāo)定的圖片,然后跑算法,一幀一幀去算,看每張圖片里是不是有你想要的物品。
但是這個方案經(jīng)過討論以后很快就被否定,也沒有去嘗試,因為走到每個位置時看到的物品的面都不一樣,這給圖像識別帶來很大難度。
而且很多商品在場景中看上去并不是那么大,對圖像識別的要求實在太高,按照目前的技術(shù)無法實現(xiàn)。
2、顏色識別
于是我們想到了一個辦法,把整個全景視頻拍兩遍,第一遍正常拍,第二遍在有商品的位置用一個有特殊顏色的物品代替。
然后用顏色的識別來取出商品相應(yīng)的位置;
這里有兩個難點,首先兩次拍攝的速度必須是一樣的,另外需要把場景中特殊顏色的位置全部用圖像算法摳出來。
我們真實嘗試時發(fā)現(xiàn)了兩個問題,一是如果代替物很小,在整個圖片中的像素表現(xiàn)是不夠的;二是很容易被其它顏色干擾。
比如燈光,每個商店的燈光不一樣,而且環(huán)境中可能會有與物體顏色一樣的東西。
經(jīng)過多次嘗試后發(fā)現(xiàn),這個方案也是不可行的。因為我們對現(xiàn)場的燈光跟環(huán)境基本沒有控制力。
3、轉(zhuǎn)換坐標(biāo)系
這時我們又嘗試了另外一個方案,我們開始拍的時候把視頻的第一幀拿出來,所有物體離攝像頭的距離都測出來。
然后根據(jù)攝像頭的勻速運(yùn)動判斷商品下一幀會在什么位置。
這個方案理論上蠻通的,但實現(xiàn)的時候也遇到很大技術(shù)困難,首先是勻速運(yùn)動的問題,這個用軌道車可以解決。
第二點,整個坐標(biāo)系轉(zhuǎn)化的問題,測量時一個很小的誤差會導(dǎo)致坐標(biāo)系轉(zhuǎn)化(平面坐標(biāo)轉(zhuǎn)化為三維坐標(biāo))產(chǎn)生很大的誤差。
還有,每個攝像頭的參數(shù)不一樣,這導(dǎo)致每次坐標(biāo)系轉(zhuǎn)化的參數(shù)都要重新通過數(shù)據(jù)去訓(xùn)練。
我們嘗試去訓(xùn)練Insta 360的一個設(shè)備,最后訓(xùn)練完拿到坐標(biāo)系的參數(shù),誤差還可以。但是后來嘗試其它攝像頭,發(fā)現(xiàn)這個參數(shù)是完全不可用的。
到此我們的第三種方案也基本可以認(rèn)為是不可行的。
4、空間移動方案
這次我們完成了兩個方向的全自由移動,原理也是蠻簡單的,我們把一個視頻拍完以后,轉(zhuǎn)成一個倒播的視頻。
只需要在正向走動的時候播正向的視頻。
5、3D商品的展示和交互體系
3D商品的展現(xiàn),我們選擇了一個蠻實用的方案,就是每個物品環(huán)拍一圈,然后每隔一定度數(shù)取一張照片,把它形成一個連播的文件。
用戶進(jìn)來的時候,就默認(rèn)先播一圈,但這里也有蠻坑的事情。如果商品和背景需要融合得很好的話,需要把背景摳成透明的。
我們做了幾百個商品,每個商品都有很多張圖片,基本上屬于不能完成的工作量。
我們通過綠幕的手段,結(jié)合一些圖片提取的方法讓效率變得很高,最終把這件事情完成。
剛才提到功能上線在手淘,像這種超級app對包的大小非常敏感,導(dǎo)致我們沒法用一些現(xiàn)成的游戲引擎。
里面所有UI和交互都是我們自己用Open GL研發(fā)的。
我們構(gòu)建了自己的坐標(biāo)體驗,事件的調(diào)度體系,UI復(fù)用還有粒子系統(tǒng),動畫系統(tǒng)和事件檢測機(jī)制。
閱讀此文的人還閱讀了...
網(wǎng)友評論
最新文章
文章排行
- 北美VR游戲開發(fā)商是這樣賺錢的
- 歌爾聲學(xué)VR公司介紹 一個為Oculus和PSVR代工的公司
- PlaystationVR適合這些玩家入手 PlaystationVR值得買嗎
- PlaystationVR不適合這兩類人購買
- PlaystationVR可以獨(dú)立運(yùn)行嗎
- PlaystationVR戴眼鏡玩會起霧嗎
- Htc vive消費(fèi)者版跟Pre版的區(qū)別一覽
- oculus rift發(fā)展史 oculus rift產(chǎn)品歷史介紹
- Oculus Rift推薦配置 Oculus Rift配置要求
- Oculus Rift詳細(xì)拆解圖(多圖殺貓)