“登高而招,而見者遠;順風而呼,而聞者彰。”
兩千多年前的荀子就已經洞察出學習應該有的方式與技巧:借力?,F在,AR/VR應用的開發(fā)是一項艱巨而且極度復雜的工作,此時的開發(fā)引擎便如山、如風被開發(fā)者所借,才承托起AR/VR應用高速迭代,行業(yè)應用場景不斷推陳出新的景象。
諸多AR/VR引擎的前身是傳統(tǒng)3D引擎,但是在VR插件的幫助下,實現了左右分屏渲染、陀螺儀、位置跟蹤等API。隨著 AR/VR 產業(yè)鏈的發(fā)展,用戶對于應用內容需求質數雙量的不斷提升,AR/VR專用引擎也已經開始出現。引擎,這種底層代碼的封裝極大地加快了開發(fā)者內容開發(fā)效率,降低了內容開發(fā)學習成本。
但,如此巨大的市場擺在面前不免吸引大小廠商瘋狂入場。各式各樣的開發(fā)引擎也讓開發(fā)者無所適從,使用錯誤的開發(fā)引擎非但不能提高開發(fā)效率,反而會被不合適的引擎拖累。筆者今天深度分析市面上數款開發(fā)引擎從性能、功能性、行業(yè)場景適用性等特點與角度,為開發(fā)者撥開引擎選擇的層層迷霧。
Unity 3D
讓開發(fā)者輕松創(chuàng)建三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容的多平臺綜合型開發(fā)工具Unity 3D 是一款全面整合的專業(yè)開發(fā)引擎。編輯器兼容Windows 、Mac OS等運行環(huán)境,成品在Windows、Mac、Wii、iPhone、Windows phone 8和Android平臺均可發(fā)布。Unity從之前的默默無聞到現在的風靡全球離不開它優(yōu)秀的跨平臺表現、界面易用性、上手速度快等特點。在所有暢銷移動游戲中,幾乎三分之一都是使用Unity 技術開發(fā),游戲應用成了 Unity 3D 的最主要應用場景。
但隨著全球VR產業(yè)的興起,Unity逐步將重心調整至滿足VR游戲開發(fā)人員的開發(fā)需求。比如為VR和增強現實設備增添了“高度優(yōu)化”渲染管道。同時也增添了對Oculus Rift HMD的原生支持。在Oculus Rift交付之初中的數十款可玩游戲中的16款是使用Unity技術研發(fā)的。不僅如此,HTC、SONY PS VR、Samsung Gear VR甚至是微軟的Hololens平臺的開發(fā)者對于Unity 技術同樣需求巨大??紤]到商業(yè)應用方面VR的巨大潛力,VR游戲已經成為當下Unity主推的重要功能之一。
6月15日Unity宣布和騰訊云合作推出Unity游戲云 (Unity Connected Games),從在線游戲服務、多人聯網服務和開發(fā)者服務三個層次打造一站式聯網游戲開發(fā)平臺,支持沉浸式VR、數字孿生等新興領域。
Unity 在2月所發(fā)布的 《2020年商用AR/VR熱門趨勢報告》 中說道:2020 年將是商用 AR 和 VR 技術的轉型之年。不難看出,Unity或將在AR/VR領域給予產品及開發(fā)者更多投入。
Unreal
既然說了Unity就必然要說到與它相愛相殺的Unreal。兩者都推出了專門針對VR優(yōu)化的新版本引擎,伴隨著VR產業(yè)的崛起,具有相似功能與應用場景的兩者風云角逐、你死我活。
與 Unity 一樣,Unreal(UE)是Epic公司開發(fā)目前世界最知名、授權最廣的頂尖游戲引擎之一,據說占有全球商用游戲引擎八成的市場份額,比如很火爆的“吃雞”游戲就是用UE開發(fā)出來的。
UE由于渲染效果強大以及采用PBR物理材質系統(tǒng),它的實時渲染效果可以達到類似Vray靜幀的效果,強大的功能性成為全球開發(fā)者最喜愛的引擎之一。
Unreal為了進一步吸引開發(fā)者加入UE陣營,采取免費下載策略,在讓利策略驅動下取得了顯著效果。近幾年來,UE引擎已成為許多VR游戲體驗致勝的法寶。免費、開源、畫質全球數一數二、跨平臺、熱更新、商城……等等海量獨有或者更加優(yōu)秀的功能與特性使得Unreal虜獲全球大批擁躉。
6月,Unreal簡化開發(fā)工具Optim,推出VR與PC聯機功能,簡化Unreal項目開發(fā)流程,并提供各種快捷的開發(fā)工具包。
現在的UE已經不僅僅將自己束縛于游戲領域,事實上其實時交互和渲染功能非常適用于各種非游戲應用的項目,包括汽車、航空、建筑、消費電子產品和復雜數據可視化,融合了DataSmith的Unreal Studio版本則是Epic官方發(fā)布的針對于建筑和產品設計行業(yè),能夠將CAD和3ds Max數據快速導入,大幅度縮短迭代時間的劃時代工具。
CryEngine
CryEngine游戲引擎(CE)是由德國Crytek公司研發(fā),旗下工作室“GMBH”優(yōu)化、深度研究的游戲引擎。在某種方面也可以說是CEinline的進化體系。CE具有許多繪圖、物理和動畫的技術以及游戲部分的加強,世界游戲業(yè)內普遍認為性能堪比UE,《孤島危機》系列和《羅馬之子》的視覺表現已經征服了全世界。在2016 GDC游戲開發(fā)者大會上,Crytek正式公開了其最新研發(fā)的CryEngine 5便已全面支持VR開發(fā),并且開源免費。
CE在3D技術方面有著優(yōu)秀的自身經驗,加上引擎渲染能力和高幀數高分辨率速度,讓CryEngine能夠提供非常真實的視覺效果,這對于VR體驗來說是保證視覺效果體驗的堅實基礎。
前不久,英國ShopTo上架后又迅速下架吊足全世界玩家胃口的大作《掠食 VR》便是由CryEngine開發(fā),《掠食 VR》在宇宙恐怖氛圍的塑造上時至今日依然十分出色,由此可見CE作品的視覺表現力。
Nibiru Studio
這款引擎和其他的都不一樣,自主研發(fā)、XR專用、可視化、低功耗是它的標簽,它不是由哪個傳統(tǒng)引擎通過加裝的方式而支持XR,它自誕生以來便是為XR應用而生。另外就是應用行業(yè)與場景的不同, Nibiru Studio針對的不是游戲或同類別場景, 而是面向航天、電力、大工業(yè)、資源、運輸、氣候等國家級重要領域,廣闊應用場景加持已經有諸多項目落地。
行業(yè)與應用場景決定了產品的特點,也決定了我們今天提到的引擎和它都不構成直接競品關系。引擎中最為推崇的渲染性能在這里不常被提及,反而易用性、易維護性、穩(wěn)定性、功能完善性、低功耗、高安全性、資源利用率、跨平臺屬性、專用性等特點反而成為Nibiru Studio 斬獲國家級用戶及訂單的利器。
Nibiru Studio 使用Java 開發(fā)語言,可視化 3D GUI編輯器,Android Studio 無縫銜接,拒絕 XR 應用開發(fā)過程中的重復操作,重塑效率。Windows , Android , Linux等系統(tǒng)跨平臺運行。針對XR功能與場景已封裝好完整專業(yè)控件,供開發(fā)人員隨時調用,效率極高。Nibiru Studio 生成的應用已運行于全球數百萬部 AR/VR 一體機設備。全面發(fā)掘 AR/VR 技術潛力、延伸AR/VR 技術應用。
StingRay
多年前Autodesk在洛杉磯舉辦的SIGGRAPH2015上也發(fā)布了新游戲引擎“Stingray”,是以收購的瑞典公司Bitsquid開發(fā)的,以輕量作為賣點的“Bitsquid”引擎為基礎開發(fā)出的。2014年“Bitsquid”曾使用于《圣鎧傳說》及《戰(zhàn)錘:末世鼠疫》,從這兩款作品來看,視覺效果并不甚理想。
在“Bitsquid”基礎上加入Autodesk收購的GI及動態(tài)照明的“Beast”、Full body IK角色動畫的“HumanIK”及敵方角色等AI的“Gameware Navigation”(舊Kynapse),GUI的“Scaleform Studio”(舊Scaleform GFx),將這些組合之后,正是這款“Stingray”。
“Stingray”是通用實時引擎,它和“虛幻引擎”一樣有望適用于游戲以外,尤其在建筑領域。畢竟場景制作的工作不論在哪個行業(yè)的哪個領域都是有類似之處的,將觸角拓展到建筑等傳統(tǒng)領域,對游戲領域來說也會有諸多積極正面的推動與影響。
jMonkeyEngine
jMonkeyEngine(jME)是一款全部采用Java語言編寫的游戲引擎,繼承了Java應用跨平臺的特性,而且是開放源代碼的,遵循BSD開源協議,而不必擔心版權問題。jMonkeyEngine也被稱為是一款適合冒險的Java開發(fā)人員的3D游戲引擎。
jME封裝了OpenGL,提供一個完整強大的高性能工具包,使3D游戲的開發(fā)變得容易。jME提供所有常規(guī)手段來模擬燭光、陽光、閃光和全局光照,陰影效果用類似PSSM和SSAO等技術實現。材質系統(tǒng)完全基于染色器(Shader)技術實現,采用稱為Shader Nodes的創(chuàng)新設計來將染色器超級模塊化,使其能夠在可視化編輯器中進行編輯。當然,你依然可以手動編寫染色器代碼。
jME3使用后置處理器、濾鏡以及粒子發(fā)射器等技術,能夠實現多種多樣的特效,比如水面、霧化、光照散射、爆炸特效等。
對于開發(fā)一個AR應用程序來說,最具難點的部分莫過于實時將虛擬圖像覆蓋到用戶視口,并且和真實世界中的對象精確對齊。ARToolKit 提供快速和準確的標記跟蹤,能夠讓開發(fā)者快速的開發(fā)出更有趣的AR應用。ARToolKit 包含了跟蹤庫和這些庫的完整源代碼,開發(fā)者可以根據平臺的不同調整接口,也可以使用自己的跟蹤算法來代替它們。Artoolkit解決了增強現實中的兩個關鍵問題:視點跟蹤和虛擬對象交互。
目前來說,ARToolKit支持自然圖片/Marker/2D BarCode的識別。自然圖片處理:這個應用比較廣泛,對用戶的限制也會小很多,不過最好使用一些特征比較明顯的圖像效果會更好。Marker/MultiMarker:這是一種經過特殊處理的圖像,需要在邊緣包裹兩層,最外側是包裹了白色/淺色邊緣,內側是包裹了黑色邊緣,用以提高識別度,同時也方便計算Pose(因為可以直接提取邊緣來計算Pose)。2D BarCode:就是二維碼,這個比較常見。
另外ARToolKit目前支持的渲染引擎是OSG(OpenSceneGraph),不過版本比較低。當然,你也可以使用OpenGL ES進行繪制,畢竟我們只需要獲取到了MVP矩陣,理論上繪制部分是可以完全分開的。
AR/VR是一項注重體驗的技術,所以現在的VR應用項目,大部分都是以強烈的畫面沖擊感為主要指標。在這種趨勢引領下,高渲染效果引擎自然受到開發(fā)者的獨特青睞。但是對于國家級關乎民生的大型項目而言,則更加偏向于引擎的穩(wěn)定性、功耗、功能完整性、可維護性等產品本身核心性能參數。
對于開發(fā)難度而言,上手快,界面易用,相關開發(fā)鏈上無論是資源還是插件都完善,就開發(fā)效率層面來說,則更勝一籌。畢竟有些引擎剛推出不久,擴展資源不夠豐富,對開發(fā)者會造成一定的不便。而有些引擎工作流程復雜,學習難度大,硬件要求高,這就需要開發(fā)者有一定深度的理解才能完全發(fā)揮出性能,開發(fā)難度較高。
隨著AR/VR的進一步發(fā)展,各大引擎廠商也逐漸在市場中找準自己的位置。但是開發(fā)者選擇一個引擎要考慮的因素卻是相當復雜的,成本、性能、上手難度、技術支持、渲染效果、能耗等等太多。而開發(fā)引擎的選取對于開發(fā)效率等因素又具有決定性的影響,所以開發(fā)者要切實分析自身需要,綜合各引擎特點選取最適合自己的引擎。
君子性非異也,要善假于物也!
投稿/爆料:tougao@youxituoluo.com
稿件/商務合作: 六六(微信 13138755620)
加入行業(yè)交流群:六六(微信 13138755620)
元宇宙數字產業(yè)服務平臺
下載「陀螺科技」APP,獲取前沿深度元宇宙訊息