1. 程式人生 > >2018 Unreal Open Day參會總結

2018 Unreal Open Day參會總結

今年是第二次參加UnrealOpenDay活動,收穫頗豐,也認識了很多業界大咖。這裡稍微詳細點的總結一下會議內容和參會心得。

首先是行程:

會議9點簽到,9:45正式開始。地點和去年一樣還是在寶華萬豪酒店,位於上海馬戲城地鐵站旁邊,從火車站到酒店也就半個多小時,很方便。

今年可能是因為會議持續兩天,會場變大等原因增加了活動預算,所以既沒有衣服也沒有午餐(附近有一個商場)。

23號當天有三個會場,24號有兩個會場,官方會在會議前幾天公佈會議流程,由於三個會場同時進行,所以需要自己規劃好時間。會議內容如下圖,
這裡寫圖片描述

有幾點需要注意一下

  1. 中午時間非常緊,吃飯要排隊的,建議聽完後立刻就去吃飯
  2. 有一些演講可能超時,也許會影響到你的計劃
  3. 有一些內容對你可能沒什麼用,另一些看起來沒用還可能有意外收穫,該換就換

另外會場有一些展臺可以去體驗遊戲(我試玩了失落之魂,感覺還可以),和去年相比最大的變化就是VR遊戲基本上都沒了。

會議內容總結:這個是我事先規劃好的參會行程,稍微有一點調整,下面就我聽到的內容簡單給大家總結一下。
這裡寫圖片描述

2018.5.23

9:45-10:45 會場A OpenSpeech&KeyNote

全球虛幻開發者截止2018年3月已經到達500萬,最近一年虛幻製作出了很多火爆的遊戲如堡壘之夜,絕地求生,絕地求生手遊等,優秀的獨立遊戲也越來越多。堡壘之夜很快要實現全平臺釋出,任何平臺的玩家都可以匹配到一起進行遊戲,同時Epic會把優化內容新增到引擎裡面。除了在遊戲領域,UE還廣泛應用在汽車展示,建築行業,航空航天,影視製作(武庚紀,斗羅大陸等動漫),AR(蘋果2017釋出會展示的The Machines),真實人物模擬渲染(Siren)等。

10:45-11:30 會場B 騰訊Wetest

Wetest是騰訊推出的一個一站式測試平臺,提供了包括視覺化的效能監測,資料分析,自動採集日誌,準確定位單個使用者操作資訊,機器人模擬執行等功能,個人覺得這些東西對遊戲的上線與測試確實非常有用,特別是各個流程都不完善的中小團隊,不過價格與實際的使用體驗還要親自測試才行。
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
11:30-12:00 會場B 影視製作圓桌會議

13:00-13:30 會場A 加勒比海盜手遊海洋系統

主要是講了海洋系統需要考慮的一些方面,並給出了實現與優化策略。這裡挑幾點說一下,

1.波浪動畫 為了避免遊戲進行中大量的實時計算,他採用了FFT演算法提前將水體的運動軌跡資料計算並儲存到貼圖裡面,然後在執行時讀取這些資料,這種方式稍微增加了記憶體開銷。同時參考了刺客信條裡面海洋的實現方式對具體細節做了一些優化
這裡寫圖片描述


這裡寫圖片描述
2.海洋的光照模型採用GGX捨棄Phong

3.材質方面採用平面反射,細節法線與次表面散射提升畫面表現。泡沫使用的是預生成的蒙版圖。淺海水底的焦散方式採用Epic GDC2017的Talk:Content-Driven Multipass Rendering inUE4,也是事先計算好資料儲存到貼圖裡面
這裡寫圖片描述
這裡寫圖片描述
4.船體與水面互動 在船的周圍放上幾個球形檢測體,通過計算球形體與水面的位置等執行互動邏輯

5.船尾的波紋如何實現 為了表現乘風破浪的效果,他利用粒子系統生成相應的高度圖來產生海面的互動起伏

13:30-14:00 會場C PSVR

去的晚了,只聽到一部分,他通過修改RHI的API利用PS4專有的硬體加速手段開啟了PS4上面的MSAA,提升了清晰度。另外,在渲染上將畫面分成了幾個區域分別處理,提升了幀率。
這裡寫圖片描述

14:00-15:30 會場A 堡壘之夜效能優化

主要講了手游上如何在儘量不影響玩家體驗的情況下優化系統,包括聲音優化,物理優化,渲染優化,材質大小,資源載入優化等。Epic測試了不同機型的各方面的測試資料,提出來手遊優化很艱辛(特別是安卓)。。。

  • 增加了針對手遊(各個平臺)更為細緻的scalability層級劃分,可以在不同的平臺上更細緻的調整特性。簡單來說就是在不行的機器上能砍掉就砍掉,砍不掉就想辦法砍掉一部分(稍微皮一下)
  • IOS上,新增了三個Task執行緒來處理並行動畫,粒子模擬,物理,貼圖的流式載入,場景查詢,渲染裁剪等,另外,還增加了一個Audio執行緒。對於安卓機型,新增了RHI執行緒
  • 通過距離,Occlusion裁剪,層級Lod,HLOD,動態陰影等方式減少DrawCall
  • 地形上Lod也做了優化,使遠近的LOD面數差距更明顯,效能提升效果更明顯

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
15:35-16:05 會場B Incredibuild分散式編譯

Incredibuild可以大大提高編譯,烘焙,shader的速度,看資料確實很誘人。根據伺服器數量,配置等按照時間收費。好像是8臺8核機器,一年1000美元?
這裡寫圖片描述

16:05-16:15 會場C 本地化

我原來以為是分析引擎本地化原理與流程,其實就是簡單介紹UE官方文件方面的本地化流程。

16:15-16:45 會場C VR方舟公園效能優化

  • 粒子優化 不在發射器裡面加光照元件,少用GPU粒子,
  • 使用Unlit著色模型,如果使用DefaultLit著色模型,LightMode選用VolumetricPerVertex NonDirection shader 使用Mask材質儘量不用透明材質
  • 設定合適的裁剪距離與LOD,使用Precomputed
  • Visibility來減少硬體遮擋查詢的消耗,採用渲染例項化工具來降低渲染批次(可以自己寫例項化工具處理植被以外的物件) 光照儘量使用靜態光源,其次是半動態光源,最後再考慮動態光源。動態物件IndirectLightCacheQuality設定為ILCQVolume。不要勾選擺動植被CastDynamicShadow選項
  • 陰影 半動態光源下動態物件均使用Per-ObjectShadow繪製陰影會導致動態物件過多的時候半動態光源比動態光源消耗還大,所以儘量減少動態物件的使用。渲染陰影選用LOD級別較低的渲染
  • 後處理 靜態、半動態光源,推薦使用的後處理有Distortion,TemporalAA,Tonemapper,Bloom。動態光照相比前面加一個SSAO。
  • 採用NVIDIA的VRWorks優化VR 但VRWorks不支援膠囊體陰影,距離場AO,還有場景邊緣不清晰的問題。例外,MS與SPS只適用於Pascal架構的顯示卡
  • 前向渲染+TAA的效果比較好 Draw執行緒優化
  • 使用PrecomputedVisibility,減少視訊播放,減少參與計算動態物件的光源數量 使用VRworks-Single Pass Stereo合併左右眼渲染重複計算的部分
  • 碰撞 不需要事件的物件不要勾選GenerateOverlapevents,減少物理資產碰撞體數量,只需要射線檢測的不需要完全開啟CollisonEnabled
  • 動畫 更新模式選擇OnlyTickPoseWhenRendered

這裡寫圖片描述
這裡寫圖片描述

16:45-17:05 會場B Unreal大地形載入

總結來說就是講解如何把Unity裡面的資料移植到Unreal並做了一下效能對比,發現Unreal效能基本上完勝Unity(吃驚)

17:15-18:05 會場B 跨平臺VR

18:05-18:35 會場B 區塊鏈與遊戲

簡單講解了區塊鏈的概念與基本原理,展望了一下區塊鏈在遊戲行業的未來。感覺大家熱情不是很高,對區塊鏈的認識還是有一定的限制吧

2018.5.24

09:45-10:35 會場B 編輯器擴充套件

講解非常全面,從選單欄到工具欄再到配置選項,藍圖節點。基本上你在編輯器上的所有操作都涉及到了,不過內容太多導致很多細節不夠,API名稱太多也記不過來(不過聽說有PPT)。

10:35-11:05 會場B 救贖之路

主美:展示了大量的作品與草稿。總結一句,創作要靠感覺~
製作人:專案立項遇到了遊戲體驗差時間與資金不足的問題,然後及時中斷調整
主程:手動計算鎖鏈動畫位置解決原生模擬效果不好的問題,通過CustomMask實現傳送門場景的效果。
這裡寫圖片描述
這裡寫圖片描述
11:05-11:35 會場A 如何渲染出一個真實的人物角色

Epic的TA ,ZakParrish(非常活潑開朗的一位技美,很羨慕這樣的大佬)分享了像Siren這樣一個超級真實的人物是怎樣用虛幻引擎渲染出來的。(然而水平有限,並沒有都跟上)

  • 基本的面部資料是通過掃描得來的 頭部4萬個左右的三角形
  • 頭髮使用xgen工具建立。分為四個部分,包括基本的輪廓模型可以飄動的細節模型等,有三張UV貼圖。對於真實的角色,面部的模型走向,髮型走向是非常重要的
  • 調整了牙齒與嘴脣的邊界過度問題,眼部增加了虹膜陰影 使用cavitymaps增加面部細節。
  • 絨毛採用半透明材質,根部是顏色深,頭部發亮

這裡寫圖片描述
這裡寫圖片描述

11:35-12:05 會場A 失落之魂動作表現

  • 刀光 第一種是AnimaTrail粒子(再通過材質系統控制Alpha通道),第二種是Faketrail 打擊效果一個簡單的擊中效果就由刀光,血霧,碎片等多個特效組成,很多情況要配置後處理實現(Blur)
  • 殘影 使用網上的外掛GhostMesh,基本原理是在玩家移動的軌跡上建立一個新的Mesh
  • 輔助效果 鈍幀Dilation,手柄力反饋

13:00-14:00 會場A 構建高階表現效果的粒子

現場講解並操作了一個鐳射槍打到地面上實現灼燒以及周圍冷卻凝固的效果。

14:00-15:10 會場A 手遊大世界(刺激戰場)

通過流關卡切換高空與落地時不同的植被模型

將地形資料拆成單獨的Level載入,通過地形Lod係數等降低精度,採用鏤空簡單模型覆蓋在真實地形外圍來減少DrawCall
這裡寫圖片描述

不同的level存放不同的lod,根據配置距離載入不同的level進而載入不同的模型Lod

採用離線烘焙減少記憶體與包體,提升工作效率

陰影優化 包括FarFadeOut,層級間軟過度,HardWarePCF提升取樣效能,CSM陰影快取,MoreCSMStable,指令優化,不同材質取樣書目調整

抗鋸齒 MSAA+AlphaToCoverage

頻寬優化 HDR rendertarget選擇 RGBA16F或R11G11B10f,IOS下剔除了Stencil
這裡寫圖片描述
這裡寫圖片描述
15:10-15:40 會場B 光明記憶

分享了藍圖下Gameplay框架與相關技能的實現

15:40-16:10 會場B 線上開放世界

主要講述了大世界場景地圖的工作流是什麼樣的
這裡寫圖片描述

16:10-16:40 會場B 探索VR的無限可能

16:40-18:10 會場A 新的粒子系統Niagara

聽到了一點Maya與UE的livelink,可以實現Maya到UE的單向資料傳輸。

4.20版本會新增粒子系統Niagara,相比Cascade粒子系統多了時間軸編輯與藍圖功能,可以在Niagara內部調整粒子的運動速度與方向等,總結來說就是可以在不用寫程式碼的情況下實現更多酷炫的粒子效果
這裡寫圖片描述

會議相比去年的另一個進步就是三個會場都有全程的視訊錄製,官方說之後會放出來。如果有的話,我這裡會第一時間更新視訊連結。

最後,這次行程最高興的就是認識了很多牛人,非常感謝知乎 @大釗 組織的聚會!