2016年3月7-9日,由全球移動遊戲聯盟主辦的第五屆全球移動遊戲大會GMGC2016在國傢會議中心盛大舉行,作為亞太地區最具影響力的遊戲行業盛會,此次大會以“Game2.0:創新不止·忠於玩傢”為主題,包括騰訊、百度、360、阿裡、谷歌、中手遊、京東、藍港互動等在內的來自全球移動遊戲及泛娛樂產業的開發商、運營商、制作商、平臺商、硬件廠商、大眾玩傢以及相關政府機構和國際產業組織齊聚一堂,共話移動遊戲及泛娛樂產業的熱點議題。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有興趣的話可以在會後討論。白鷺一直在做非常領先的創新的事情,這些事情不僅創新,而且逼近我們團隊能力的極限,我們希望通過這些創新幫助開發者更推進一步。謝謝大傢。
