在現在B端業務需求越來越復雜的情況下,大屏應用是我們經常會遇到的業務場景,而業務數據的信息傳達,則是大屏可視化需要考慮的核心問題。
一、現在的數據可視化
目前來說,二維的平面設計效果是主流的數據可視化方式之一,通過PS、AI等圖形工具制作平面圖形效果,再利用AE等動畫軟件制作動效實現華麗的頁面效果,但因緯度限制,數據展示方式相對局限呆板。三維的可視化效果由於緯度的提升,數據展示效果可以更加逼真,數據展示方式也擁有更多可能。二維的大屏開發,設計還原上依然有比較大的提升空間,不過開發技術已經相對成熟,網上各方開源組件也比較豐富。而三維的大屏可視化,目前的技術積累還處於初始階段,開源技術方案相對較少,設計還原上由於技術方案的不統一,也存在各種各樣的小問題。接下來會從設計和開發兩個方面,簡單介紹一下三維可視化的一些設計軟件和開發工具。
二、設計工具
1.CINEMA 4D,江湖簡稱 “C4D”近年最熱3D軟件;需要注意的是善於發律師函;
2.Blender 是一款開源3D軟件,最重要的是只有它“免費”!項目可以無憂商用(中文官方名:斑斕)
3.MAYA軟件是Autodesk旗下的著名三維建模和動畫軟件;大而全的老牌傳統3D軟件;
4.3Dmax是Autodesk旗下的著名的基於PC系統的三維動畫渲染和制作軟件;
5.Houdini (電影特效魔術師),據說是3D軟件的未來,具有強大的AI支撐能力,讓一個人完成幾百人的項目成為可能;
基於學習難度、通用程度、價格等方面綜合考慮,自動桌牌的MAX和Maya以及胡迪(houdini)都不推薦。
在快速上手、工作流通用性方面C4D現在依然是最強的;Blender主要是因為是開源軟件,免費。且功能也十分完善,雖然比C4D上手難度要高一點,但學會后效率很高;
三、混合類工具
現在主流的商用3D創作引擎主要是unity3D和Unreal Engine3D。
Unity3D的簡稱就是U3D,是一款用於研發2D3D的游戲引擎,對主流系統平台支撐良好包括移動端的兩大系統,另外之所以在可視化這塊提到它,是因為Unity也廣泛用於3D可視化相關行業的開發,是一款十分通用的3D綜合型創作工具。U3D對基於 WebGL 技術的 HTML5 網頁平台也支持良好,因此也有很多“大屏可視化”開發,應用該引擎,另外VR、AR也支持良好。不過unity對網頁的支持坑比較多。
UE4,虛幻4是虛幻引擎當前的版本名稱。虛幻引擎是極其強大的游戲引擎,其上限非常高。高到虛幻5簡直就是跨時代的技術。對於可視化來說,明顯是過於高級了.。但近年來很多獨立開發者都在采用虛幻4可以說明,在上手難度、效果實現等方面已經超級具有性價比。不再是早期的相當於U3D來說,更難上手。
基於U3D和UE4的各項區別, UE4雖然成品效果好於U3D,且比較適用於大型的3D項目,但是成本問題以及對人才的高要求,目前用U3D開發相關項目仍是市場的主流趨勢,但是就更加長遠的發展來說,UE4依舊有良好發展的潛能。
四、BI類工具
這類工具其實挺四不像的,不太好分類:
1.hightopo、thing.js肯定是大量使用了webgl技術的,具體是那款渲染引擎其實不關鍵了。畢竟最大的資源庫Three.js是開源的。只是相對於WEBGL類的引擎來說,他們更基礎,不提供很多制作工具,但優勢是提供了大量模板,可以快速上手,改改就可以用。只是要做出超出模板限制的效果就很難了,對於定制化來說確實是一大弱項;
2.DataV其實算是更小白的可視化工具,相對前兩個而言,更偏向於面對不具備代碼能力的人員,在datav的編輯器上,導入模板或直接拖拖拉拉就可以制作大屏。界面的好壞完全取決於模板的好壞,其使用代碼自定義的程度更低
3.Raydata\Ventuz,為什么說這兩個是一個呢,因為Raydata算是Ventuz的官方漢化版本。光看他們的C/S端的界面就可以知道。基本上就是改了個名和顏色。相對於其它三個,依托於Ventuz的完善,其實把它理解成專門針對“可視化”優化的unity引擎就行。提供可視化編程模式(類似虛幻的藍圖功能),可視化操作上是這幾個當中最好的;
總的來說,圖撲、thingjs這兩個更面向程序員研發,就落地實現來說肯定更優。但又相對於babylon.js、three.js這類缺失相當的定制化功能。所以更推薦研發借鑒官方模板效果使用。Datav、Raydata\Ventuz這幾個其實非常適合產品經理或設計師快速搭建高保真demo;但業內需求千差萬別,真的很難做到完美滿足。所以設計用於借鑒學習也不錯。另外國內還有很多類似的工具,比如袋鼠雲EasyV、億信酷屏esensoft、數字冰雹等等。
五、設計與研發對接的坑
這塊的難點主要集中在“設計資產”高效轉換為“研發資產”,在3D可視化這塊,主要是
如何設計生產的“3D資產”轉換為研發使用,在文件轉換過程中難度,由研發選擇特定的webGL引擎而定。比如選擇three.js,在載入3D模型時,依據文件格式、建模方式的不同,會導致很多問題,貼圖丟失、模型定點錯亂、模型面丟失、面數太多導致程序卡頓、優化貼圖減少程序請求等等。
另外在動畫、特效這些更高級的維度,由於設計使用的是3D模型軟件、研發使用的特定引擎這塊也是對接難點; 但如果設計和研發使用的是一套工具體系,比如使用U3D引擎和UE4引擎,對接這塊確實能避免很多的問題。因為U3D、UE4都具備完整的工作流模式,避免了跨平台對接的問題;
當然設計與研發對接的問題遠不止這些,這里不多作闡述,有興趣的小伙伴可以自行找資料。