白鷺時代首席布道師張鑫磊:Egret Web3D、WebVR探索之路
2016年3月7-9日,由全球移動游戲聯盟主辦的第五屆全球移動游戲大會GMGC2016在國家會議中心盛大舉行,作為亞太地區最具影響力的游戲行業盛會,此次大會以“Game2.0:創新不止·忠于玩家”為主題,包括騰訊、百度、阿里、谷歌、中手游、京東、藍港互動等在內的來自全球移動游戲及泛娛樂產業的開發商、運營商、制作商、平臺商、硬件廠商、大眾玩家以及相關政府機構和國際產業組織齊聚一堂,共話移動游戲及泛娛樂產業的熱點議題。8日上午,GMGC2016開發者訓練營(Developers Camp)開幕。來自白鷺時代首席布道師張鑫磊進行了主題為“Egret Web3D、WebVR探索之路”的演講。
以下是課程內容實錄:
張鑫磊:很高興今天有這么一個機會跟大家分享一下關于Web3D、WebVR的內容,想跟大家聊一聊白鷺時代從2D到3D,以及到VR,這個產品的過程和我們的思路。
我們的第一款產品是我們的Egret Engine,在2014年3月份我們開始決定做這么一款產品,我們在想,我們不僅僅要做一個基于程序的庫,我們不斷擴充產品線。這是我們整個產品的發展歷程。我們在2014年5月份發布第一個測試版本,那個時候我們邀請了100位開發者對我們的產品進行第一輪的測試適用,進行反饋。7月份是神經貓,2015年才是真正的版本。這么一個游戲引擎,這么復雜的技術產品,為什么能夠從3月份到8月份,短短五六個月的時間能夠做到3.0版本,我們每兩周都會更新,修復BUG。我們歷經了40多個版本迭代,與此同時,發展過程中我們不斷擴充產品線,這個產品線擴展歷程是根據用戶需求進行設計的。比如在神經貓火了之后很多游戲公司覺得H5游戲應該是未來的發展方向。所以探索主動研究在H5設備中研究重度游戲,當時卡牌類游戲非常火暴,這個時候對于技術需求來說,卡牌游戲中最大優點是UI界面編輯,完成一個卡牌游戲。所以我們在2014年底發布了另外一款UI編輯器,現在已經升級為IDE工具。對于性能來說,2014年我們發現對于移動H5游戲渲染來說是很大的瓶頸,于是我們推出了基于H5移動端的加速器,解決性能的問題。去年開始,新的iPhone手機等等,在渲染性能上已經不是太大的問題。所以我們為了支持其他的游戲引擎進行加速。這是我們的發展歷程。
到目前為止,我們的產品線一共有10多款產品,如果你要制造一款游戲,我們在引擎方面有Egret Engine進行支撐,還有動畫工具,值得一提的是,我們上周五恰巧發布了DragonBones的全新版本,導出的格式我們支持五種格式。這是關于我們的產品結構。我們想切入到H53D領域,我們的結論是,這個事情可以做,但可能不被大家接受。國外有個非常權威的統計網站,統計全球移動智能設備當中對于Web GL的支持率,普及率只達到了13.4%,我們在2014年做的時候可能全球只有一半的手機,或者不到一半的手機才能打開這個內容。2014年10月份情況好一些了,達到48.9%。2015年10月份,最新的統計,普及率達到84.4%,意味著什么呢?通過一個非常嚴謹的數據告訴大家,未來基于WebGL技術,沒有兼容問題,不會出現黑屏等問題。所以在去年年底我們發布了第一版本的Egret3D。
下面跟大家聊一聊3D設計過程中有哪些功能點。這是一個實時渲染的Demo,圖里有幾個選項,動態修改F1賽車模型,這是簡單的Demo。
說到高級API,兩年多時間我們積累大量的2D游戲開發者,他們對于2D游戲引擎使用非常熟悉,但他們絕大部分沒有接觸過3D,甚至很多開發者以前是做網頁前端的,把一個3D模型放到一個3D場景當中,進行實時渲染,這是關于API的設計。我們還做了3DMAX輸出插件,將所有格式統一成一種格式,保證預覽效果是完全一致的。
下面是關于燈光的特性,HDR的支持可以將所有3D場景顏色調的更加鮮亮,通過HDR高級動態渲染,可以讓綠色變得更加鮮艷,太陽更加明亮,使整個場景變得不一樣。你可以自己創建和控制你的頂點,這都是我們允許你進行修改操作的。TBN高光法線功能,允許我們在凹凸不平的頁面上突出陰暗面,我們通過TBN高光法線照射之后,讓明暗效果對比更加強烈。泛光,環境光效果。GPU燈光烘培,這些功能在我們能夠看到的一些高級的3D引擎里實際上都是常用的功能,現在我們已經把它全部在我們的H5當中實現,這是渲染方面。很多人喜歡這樣做,在渲染好的畫面中喜歡加濾鏡功能,包括后期材質、抗鋸齒、融合、景深,我們先渲染一個畫面,再加上后期特效,這是關于后期特效的支持。
另外一個是延遲渲染,很多開發者在嘗試使用我們的3D,問的最多的是這個東西性能怎么樣,會不會跑不起來。其實我們有延遲渲染支持,什么意思呢?如果沒有延遲渲染支持,按照以前傳統的正向渲染,在一個場景里,如果放1000個小球,然后放八盞燈光,每一幀的渲染需要計算八千次運算,我們可以變成1008次,降低我們的CPU和GPU使用的百分比。根據這個測試大家也可以在我們的EDN上檢測工具,看看實時預覽效果。Three.js這個庫體積一共有420K,對于移動端加載來說比較慢,而我們打包之后體積小了35%,但是我們近期看國外市場驚奇的發現,關于體積的問題根本不成問題,因為大家3G、4G手機上網流量都是免費的,但是我們不行,所以要保證體積最小。
3D部分我們在2015年9、10月份內部就完成了第一個版本,當時我們內部做了Demo,除了3D游戲還有沒有其他的可行性,已經有另外的同事對3D其他可行性進行預演。WebVR大家聽起來比較新,其實2014年9月份Google已經起草了WebVR標準,從草案到真正的標準還需要很長時間,WebVR也需要很長時間。首先,對于支持VR的效果最重要的我們要有3D支持,我們要投入到WebVR研究當中,能夠在Egret3D里實現WebVR的支持。
當我們制作完一個3D場景,你只要啟動一個叫VR View的東西,VR View計算形成VR成像,我們將一個完整3D場景拆成兩個,然后投影到屏幕當中,現在的圖像放到VR眼鏡和設備當中就能看到效果。我們VR內容的成像也會發生一定程度的變化,保證看到虛擬現實的時候體驗是最佳的。有了這個技術以后,大家可以在我們這里下載到相關的代碼。說到VR不得不提到傳統VR,針對傳統VR有兩點,第一是內容的技術門檻和成本非常高,現在我們要做一個VR內容,做一個完整的VR生態體系內容,其實面臨的困難非常多,有很多開發者會3D,熟練3D,但是對VR沒有太多深入研究。有一些非常牛的牛人對于VR有深入了解,但是對于渲染等性能不了解,所以成本非常高。第二點,VR內容大眾化,這對于用戶來說也是成本問題,如果一個普通用戶,可能只是普通上半的打工族,他如果體驗需要購買一個VR眼鏡,還需要下載一個幾十兆,甚至上百兆的APP,體驗之后發現里面并沒有什么比較令人新奇的電影或者好玩的游戲,這就是對于傳統VR我們認為的兩個點。相比之下,我們的WebVR通過比較輕量級的技術,降低我們的研發流程,降低你的進入門檻,這是對于我們簡化研發流程簡化研發成本的一個優勢。第二個,推動VR內容的大眾化,現在用戶僅僅通過一個二維碼打開手機,在微信,甚至新浪微博里就能體驗這樣的VR內容。
關于VR的分享簡單分享到這里,如果大家對于3D和VR有興趣的話可以在會后討論。白鷺一直在做非常領先的創新的事情,這些事情不僅創新,而且逼近我們團隊能力的極限,我們希望通過這些創新幫助開發者更推進一步。謝謝大家。