它來了,它來了,PlayCanvas帶著它的“高斯連連看”黑科技向我們走來了!
說到 PlayCanvas,大家應(yīng)該都不陌生,是一款專為網(wǎng)頁打造的3D游戲引擎。簡單來說,是個能讓開發(fā)者輕松制作網(wǎng)頁3D游戲或應(yīng)用的神器,最大的特點就是不用插件!不用下載!
不用安裝,即開即玩;自帶云端編輯器,可多人同時在線改項目,直接在瀏覽器里就能跑出炫酷3D效果。最近,PlayCanvas又發(fā)布了自己的最新版本 PlayCanvas Engine2.7.5。
眾所周知,使用3D高斯濺射生成的場景,因為需要儲存大量細節(jié)信息來保證視覺效果的真實性,所以文件普遍龐大。不僅占用存儲空間,在處理或傳輸時也會更加耗時,如果放在移動設(shè)備上運行還常常會遇到性能問題,直接“跑不動”。
如今,新版本的 PlayCanvas,直接化身性能怪獸。引入了一種全新高效的壓縮技術(shù)-自組織高斯( Self-Organizing Gaussians, SOGS) ,能夠?qū)?D高斯濺射(3D Gaussian Splatting, 3DGS)的數(shù)據(jù)體積壓縮到原來的1/20。
為了讓大家更直觀地感受到SOGS的強大,團隊特意打造了一個演示場景-一座十分精細的教堂。
上面的這個精致的教堂場景,原始PLY文件包含400萬個高斯點,達1GB,很顯然不適合網(wǎng)頁或移動設(shè)備使用。如今,通過SOGS技術(shù),同樣的場景只需要55MB就能呈現(xiàn),在網(wǎng)頁和手機上都可以流暢運行,這波操作怎一個“秀”字了得~
當然,我們并不光要知道它秀,還要知道它為啥這么秀!下面就來給大家展開了說說它的實現(xiàn)原理:
自組織高斯
Self-Organizing Gaussians
3D高斯濺射是一種能夠生成逼真圖像的技術(shù),雖然能呈現(xiàn)驚艷的實時光影效果,但缺點是文件體積巨大、動輒數(shù)百MB,難以用于網(wǎng)頁、移動端和快速加載的場景。
自組織高斯,正是為解決這個問題而誕生的一種突破性壓縮技術(shù),由Fraunhofer HHI研究所的Wieland Morgenstern開發(fā)。
核心技術(shù)挑戰(zhàn)
The Core Challenge
傳統(tǒng)方法的問題在于,每個高斯點都包含許多信息,如位置、大小、顏色等。
如果場景里有幾百萬甚至上千萬個這樣的點,直接存儲這些數(shù)據(jù),整個文件就會變得非常龐大,導致加載時間長、占用大量內(nèi)存等問題,在網(wǎng)頁或手機等移動端上使用可能會出現(xiàn)卡頓,甚至直接打不開的狀況。
SOGS工作原理
Working Principle of SOGS
不同于傳統(tǒng)壓縮方法,SOGS采用了一種更加創(chuàng)新的方式。借鑒了圖像壓縮技術(shù)原理,把高斯點的數(shù)據(jù)重新整理成更容易壓縮的形式。1.數(shù)據(jù)網(wǎng)格化重構(gòu)
將所有高斯點的信息拆開,鋪成一張張2D“屬性圖像”,每張圖代表一種屬性。初始狀態(tài)下,這些圖看起來就像是電視機雪花屏,呈現(xiàn)雜亂噪點狀。
2.自組織排序算法(PLAS)
接下來就是見證SOGS奇跡的時刻,通過并行線性分配排序,根據(jù)高斯點的空間位置/縮放值/基礎(chǔ)色等核心屬性,進行重新排列。
將屬性相近的高斯點在2D網(wǎng)格中相鄰排列,原本噪點狀的屬性圖因此變得平滑有序,使得數(shù)據(jù)更容易壓縮。
3.利用平滑度
當基于主要屬性(如位置、大小、顏色)進行排序,還會帶來一個附加好處-主要屬性上很像的高斯點,其次要屬性(如透明度、旋轉(zhuǎn)角度、光照信息等)也很可能相近。
這樣一來,當主要屬性排列好后,次要屬性也會自動對齊。
4.利用2D圖像壓縮
當這些“屬性圖”變得整齊又有規(guī)律后,SOGS就會使用成熟的圖像壓縮工具來對它們進行壓縮。PlayCanvas使用的是瀏覽器普遍支持、效率很高的壓縮方式-WebP格式。
由于WebP特別擅長處理這種整齊、有規(guī)律的圖像,所以這一步就實現(xiàn)了幾十倍的超高壓縮率,這也是SOGS能大幅縮小文件體積的核心所在。
將SOGS集成到PlayCanvas中所帶來的好處十分明顯:首當其沖的就是貨真價實的文件體積壓縮;而更小的文件也意味著更快的加載時間,更優(yōu)的用戶體驗;這樣一來即使是在移動端或內(nèi)存有限的設(shè)備上,也能暢通無阻地運行高質(zhì)量內(nèi)容;最重要,SOGS在壓縮的同時還保證了圖片質(zhì)量,甚至減少了某些視覺偽影。
先別急著哇塞,這還僅僅是個開始,未來還會推出更多功能:用戶將可以直接在PlayCanvas編輯器中使用SOGS格式,同時還會提高Super Splat適配,增加SOGS導出選項,以及更大的性能優(yōu)化,進一步解決移動端大規(guī)模高斯點渲染效率問題。
最后,重要的事情說三遍:開源!開源!開源!
下載地址↓
https://github.com/playcanvas/engine/releases/tag/v2.7.5
End
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.