機器之心原創
作者:徐丹、陳萍
小小的 AR 投籃機背後包含著哪些技術?我們和騰訊微視技術團隊聊了聊。
騰訊微視最近又出黑科技,這款新上線的遊戲「AR 投籃機」能讓你的手機秒變投籃機。
操作方法如下:進入騰訊微視 APP,搜索「AR 投籃」。
點擊 AR 投籃機,就能進入遊戲界面。找到一個背景平面,將籃筐調製最佳投籃位置,對準籃筐,向上滑動籃球,投中籃筐即可得分。該遊戲對場地適應性很強,即便在暗光環境下,對單一紋理的地板也能定位。
雖然是虛擬投籃,但騰訊微視這款遊戲的重力和碰撞都是模擬真實世界的物理特性來設計的。在滑動屏幕投球的過程中,用戶滑動的速度、距離、角度共同決定了籃球投擲的落地點,最大程度模擬真實世界投擲物體的力度、方向和重力。
用戶只要投中幾次,掌握投球的力度和技巧,後面可憑藉肌肉記憶,持續多次命中,分數的加成也會越來越高,投中的視覺,聽覺特效反饋也會越加炫酷和強烈。
不僅如此,根據籃板的遠近,遊戲分為普通模式和挑戰模式,模擬現實中的兩分球和三分球。連續進球分數達到 20 分以後,筐會開始左右移動,最大程度的還原了投籃機的真實遊戲體驗。
遊戲雖小,但背後的技術並不簡單,騰訊微視有一支專門負責 AR 技術研發的「微視光流實驗室」AR 團隊,這款 AR 投籃機耗時四個月,可以說是騰訊微視 AR 技術的集大成者。除 AR 投籃機外,騰訊微視也有很多其他炫酷的 AR 應用,比如「紙片人」、3D 人民幣等。
AR 是近兩年才出現在大眾面前的「黑科技」,公眾對其認知度並不高。並且在不少人的印象中,這還是一項設備門檻很高的技術,但騰訊微視卻能讓 AR 覆蓋到普通消費者,做到了在 90% 的安卓手機上運行。
這些炫酷的 AR 應用背後基於哪些技術原理?AR 技術又如何「走向尋常百姓家」?我們和騰訊微視技術團隊聊了聊。
水平面 AR 算法:覆蓋 90% 的安卓機,爆款「AR 投籃機」煉成背後
在 AR 投籃遊戲中,虛擬的 3D 籃板看起來就像依附在現實的地板上一樣。
如何做到這一點?本質上說就是要在三維場景中找到一個有一定特徵點的依附平面(比如有花紋的地板),確定其坐標位置,然後將依附平面映射到二維屏幕上,再在平面上繪製想要展示的圖形或者 3D 模型。
確定依附平面方面騰訊微視採用的是「水平面 AR 算法」,通常的做法是使用 SLAM 算法一邊對三維場景進行掃描建圖,一邊定位水平面位置。
定位完成後在水平面上放上 AR 模型。接下來做的事情實際上就是要得到一個變換,讓模型坐標系與屏幕坐標系建立映射關係,根據這個變換在屏幕上畫出的圖形就可以達到該圖形依附在 AR 模型上的效果。
具體步驟為,從模型坐標系變換到真實的屏幕坐標系需要先旋轉平移到相機坐標系,然後再從相機坐標系映射到屏幕坐標系。
但是,在手機 AR 的玩法中,如果直接使用 SLAM 來定位的話,在用戶體驗上會存在一些痛點,導致遊戲很難成爆款。對此騰訊微視團隊對技術做了很多優化。
「不同的玩法,要搭配不同的算法。不能一成不變地使用 SLAM 算法,否則就會造成殺雞用牛刀。」
比如,絕大多數手機都只有一個攝像頭,所以只能使用單目 SLAM 算法,必須要用戶平移手機,直到有足夠的視差後才能初始化。這個平移的操作,非常影響用戶的體驗。
另外,單目 SLAM 算法無法計算出真實的尺度,會出現「大人國小人國」的問題。
騰訊微視的做法是,充分利用手機上的多個傳感器的信息和用戶的交互信息,可以實現第一幀就初始化,並且能確定尺度。
再利用自研的特徵點跟蹤算法,在弱紋理的區域,也能實現準確魯棒的跟蹤。在使用過程中,也不會出現卡頓,定位丟失等情況。
另外,用戶可以用手拖放 AR 模型,可以用手拿上模型和放下,用戶交互起來會很有意思。作為對比,ARkit 和 ARcore 都沒有這樣的功能,ARkit 和 ARcore 都只是單純的放置 AR 模型,沒有用手交互。
PBR 渲染:基於物理規律,遊戲級別渲染效果
水平面 AR 算法可以讓籃板依附在現實的地板上,但做出栩栩如生的籃球、籃板的 3D 模型還要靠渲染技術。
在這方面,騰訊微視採用的是 PBR 渲染,PBR 全稱(Physicallly-Based Rendering)。這是一種基於物理規律模擬的渲染技術,最早用於電影的照片級真實的渲染,近幾年由於硬體性能的不斷提高,已經大量運用於 PC 遊戲與主機遊戲的實時渲染。
騰訊微視光流實驗室自研的移動端高性能 3D 引擎,採用了業界領先的 PBR 算法,可以媲美遊戲級渲染的效果,在移動端處於領先水平。與主流的遊戲引擎相比,包體只有約 1.3MB。除了出色的 PBR 渲染效果外,引擎架構上保持了良好的擴展性,支持高性能的毛髮效果渲染。
同時,騰訊微視的 3D 引擎支持對每個 3D 節點配置獨立的 shader,擴展性更強,給創新應用提供了技術基礎。
此外,算法還集成了動態骨骼插件 DynamicBone,可以高性能的模擬各種軟硬程度的甩動效果,如頭髮、衣服等。且有高性能 GPU 3D 粒子系統,可以同時支持上萬的粒子。
對於設計師來說,騰訊微視 3D 引擎可支持 Android,Windows,Linux 和 macOS 等跨平臺應用,還提供了一整套完善的工具鏈和配套的 3D 編輯器,能幫助設計師靈活高效的組裝出各種 3D 玩法。
AR 物理引擎:「黑科技」模擬真實投籃手感
和一般 AR 應用的不一樣的是,AR 籃球還要能實時模擬真實世界物體運動與碰撞的反饋,根據用戶滑動籃球的速度、距離、角度共同決定籃球投擲的落地點。這背後的技術是「AR 物理引擎」。
物理引擎支持長方體、球體、膠囊體、圓柱體以及自定義曲面的剛體模擬與碰撞,支持任意形狀的軟體仿真,能夠自定義配置物體的各種碰撞參數(諸如質量、摩擦係數、彈性係數以及碰撞形狀)。
還能模擬物體受力之後的運動狀態,包括加速、減速、靜止、碰撞等。在軟體模擬功能中,能夠很好地支持諸如軟球以及布料的模擬,以及真實軟體的碰撞效果。
騰訊微視「AR 投籃機」採用 BVH、CCD 等技術來加速碰撞檢測過程,同時保證碰撞檢測精度,在複雜場景下,能夠同時支持數百個剛體的連續碰撞。可以在 Android、iOS 端以及桌面端進行物理實時模擬,針對不同的設備還能進行調參,參數調節魯棒性高,不易出現模擬失控的情況。
目前,騰訊微視已將 3D 渲染軟體 LightStudio 深入整合到物理引擎。通過 LightStudio 上簡單的界面操作,可以低成本地配置出相當真實酷炫的物理模擬效果。
為了最大程度的模擬真實投籃體驗,騰訊微視在用戶體驗上也做了很多優化設置。
在進行碰撞體生成的時候,騰訊微視一開始使用簡單碰撞體來代表整個籃架,導致籃球與籃架的碰撞不精確,球體的碰撞反饋效果違和。後來改用精度超高的模型來進行碰撞體的創建,但又會出現卡頓的問題。
對此,騰訊微視專門對籃架構建了一個用於碰撞的網格模型,這個模型的點數與面數減少約 90%,同時此模型可以包裹住籃架,實現好的碰撞反饋效果。
籃架碰撞體的點數變少後,檢測的精度實際會降低,此外籃球高速運動時可能會直接穿過籃筐的情況,對此騰訊微視使用了連續碰撞檢測等方案解決。優化後在碰撞反饋效果與模擬效率之間實現了平衡。
骨骼動畫:「神筆馬良」讓紙片人動起來
除了最新上線的 AR 籃球,騰訊微視還有很多新奇的 AR 應用,比如「AR 紙片人」掛件。可將畫中的靜態形象變成 3D 模型,模型還能抖動跳躍。
這裡用到了兩個重要技術:紙板人算法與骨骼動畫。
紙板人算法負責對圖畫進行邊緣檢測,提取輪廓,將其變成 3D 物體,然後分析圖案提出骨骼點(手肘、膝蓋等),將圖案的各部分綁定到對應骨骼點。
在提取算法上,騰訊應用研究中心和騰訊微視共同研發的通用物體分割網絡能實時提取複雜背景,結合傳統提取方式,能在適應各種場景的同時具備實時性,在中低端機型上達到 30~40FPS。骨骼綁定時,騰訊微視算法會根據模型圖案自動提取骨骼點並將圖案的各部分綁定到對應的骨骼點,單張圖案的骨骼提取和綁定在移動端只需幾十 ms 就可以完成。
骨骼動畫負責給綁定之後的模型賦予各種各樣的動作,比如起身、跳躍、擺手。這裡騰訊微視也給算法做了簡化,只解算骨骼最末的子節點來驅動骨骼的變化,減少了資源佔用率,甚至還可以應用於美顏等特效中。
Marker AR:紙幣圖案秒變實景
「3D 人民幣」掛件也是一個典型的 AR 玩法。用戶只要用手機掃描人民幣背面,紙幣上的景點圖案就像被激活了一樣,直接呈現到屏幕上,妙趣橫生,給不少用戶提供了新的旅行打卡思路。
這背後涉及到的技術就是Marker AR 算法。
掃描人民幣時,Marker AR 算法可以利用圖像檢索算法把人民幣背後的 Maker 圖案識別出來,通過特徵匹配算法準確估計 Marker 的位置和姿態。之後在識別的 Maker 圖案上擺放預先設置的 3D 模型,當用戶移動人民幣時,擺放的 3D 模型也會跟著人民幣進行相應的移動。
在實際操作中,用戶可能會擺放多個人民幣。為保證多 Marker 檢測實時性,騰訊微視團隊在檢測到 Marker 後基於連續圖像幀進行 Marker 跟蹤,在移動端支持實時跟蹤最多 10 + 個 Marker。
這麼多的 AR 特效,動畫設計師要如何應用?在這方面,騰訊微視也做了很多工作:將現有的 AR 算法都集成進一個 SDK。
在玩法設計上,騰訊微視將底層的能力統一封裝打包製作成針對設計師的可圖形化操作工具,設計師不需要理解複雜的算法,只需要準備好素材和創意,幾分鐘就可快速生產出原本需要算法和工程同學投入幾個星期才能完成的玩法,極大的提高了生產效率。
AR 技術究竟會給短視頻帶來怎樣的影響?騰訊微視認為,目前 AR 技術還相對前沿,用戶認知度不高,整個行業軟硬體成熟度不高。但 AR 這種基於三維空間的信息展現及交互的形式是未來的趨勢,是與 5G、AI 等技術的發展相互促進的。
而騰訊微視正在給 AR 帶給更多的用戶,並培育用戶習慣。「購買昂貴的 AR 設備顯然不會是大多數人的選擇,我們以一種更接地氣的方式,打破虛擬與真實的界線,是一種全新的玩法體驗,也在這個過程中建立用戶心智」。
THE END
轉載請聯繫本公眾號獲得授權