基於Deferred Rendering的卡通渲染手法-前篇(翻譯)
本文是對CyberConnect2在CEDEC2019演講的翻譯
CyberConnect2作品有《創世紀傳說》系列,《火影忍者:忍者風暴》系列,《阿修羅之怒》等等
以下正文
基於deferred rendering的卡通渲染手法
演講要解決的問題
為了追求卡通效果,遊戲開發中會使用cel shader
開發環境以UE4為中心,從forward rendering向deferred rendering過渡
大規模開發中用UE4做卡通效果可行嗎,介紹下弊社的工作內容
注:UE4的版本是4。20
演講內容
1,使用UE4表現卡通效果的過程
2,為了表現卡通效果對UE4進行的改造
G-Buffer
Lighting
Vertex, Geometry Shader
Rendering Pass
Post Process
3,總結
使用UE4表現卡通效果的過程
從舊世代(PS3/Xbox360世代)到現世代(PS4/Xbox One)
現世代初的課題是,至今為止使用的引擎是在現世代機對應的環境在開發的
表現的制約,不符合技術趨勢
——>現世代的環境需要新的引擎
這個過度時期UE4的版本是4。7左右
為什麼是UE4?
可以用最新的技術,更快的開發專案
有過去UE3的經驗,工具充沛
使用deferred rendering嘗試新的表現
關於UE4的渲染
預設的渲染環境是PBR,除此之外的表現需要改造引擎製作材質,在有效利用UE4渲染環境的同時,也想追求表現自己獨特的卡通效果
弊社現有的免費模型使用UE4中的cel shader的應用示例
背景沒有進行特殊處理,猶豫右邊畫面使用了HDR,顏色有些微變化
Deferred Rendering的特性:
多個陰影和燈光
使用G-Buffer的優點:傳遞到後處理的資訊很多;缺點:不能靈活使用lighting pass
G-Buffer講lighting需要的basecolor,法線等資料儲存為紋理,後處理中使用這些資料繪製各種各樣的效果。此外,lighting pass不能進行基礎材質的編輯,因此有不能以各object或material為單位靈活的使用的缺點
卡通效果的特性
控制必要的光源數
outline表現
角色和背景的效果方案不同
不符合物理的光照(很難規則化)
陰影的特殊表現
卡通效果,特別是celshading中,燈光給場景傳達光是從哪個方向照過來的資訊很重要,因此影響場景的燈光數越少越好
像celshading這樣簡單的陰影表現主要使用於角色
背景使用簡單的陰影的話,資訊不夠充足,需要尋找別的方案
美術提議為了表現角色效果,為專案製作新的卡通效果角色shader,不是像PBR那樣的,要應對每次需求的變化。
舊世代的CC2的celshader
二階色調
一個平行光和多個點光源
背景是簡單的texture+lambert+lightmap
celshading的特徵是使用二階色調的陰影,受影響的光源有平行光一個,點光源四個
每次增加新的效果時,以角色,材質為單位的引數就會增加
在卡通效果的表現中,經常會以各角色或材質為單位進行各功能的調整
另外,在特定場景中進一步調整,在動畫中改變外觀的情況也很多
deferred rendering的情況
傳給lighting pass的引數數量有限制
——需要解決存入G-buffer的引數數量不足以充分表現的問題
光源的數量不能發揮作用
——背景用PBR製作可以期待一定的效果
此外,只實現celshading的話,卡通效果的表現還不夠充分
在lighting pass中,增加陰影模型
只是新增的話,是像左邊圖片那樣卡通表現不夠充分的結果
為了實現效果,需要對引擎進行各種各樣的改造
變更點一覽
增加使用的引數數量——>G-Buffer的擴充套件
Cel shader和PBR的共存——>Lighting的擴充套件
擠出的outline的實現——>Vertex Shader的擴充套件,Geometry Shader的追加
特殊layer的增加,半透明處理的擴充套件——>Rendering Pass的擴充套件
陰影無法補充的特殊表現的實現——>Post Process的擴充套件
下一篇:相關資訊查詢