您當前的位置:首頁 > 繪畫

基於Deferred Rendering的卡通渲染手法-前篇(翻譯)

作者:由 山田四郎 發表于 繪畫時間:2020-06-18

本文是對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渲染環境的同時,也想追求表現自己獨特的卡通效果

基於Deferred Rendering的卡通渲染手法-前篇(翻譯)

弊社現有的免費模型使用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

基於Deferred Rendering的卡通渲染手法-前篇(翻譯)

二階色調

一個平行光和多個點光源

背景是簡單的texture+lambert+lightmap

celshading的特徵是使用二階色調的陰影,受影響的光源有平行光一個,點光源四個

每次增加新的效果時,以角色,材質為單位的引數就會增加

基於Deferred Rendering的卡通渲染手法-前篇(翻譯)

在卡通效果的表現中,經常會以各角色或材質為單位進行各功能的調整

另外,在特定場景中進一步調整,在動畫中改變外觀的情況也很多

deferred rendering的情況

傳給lighting pass的引數數量有限制

——需要解決存入G-buffer的引數數量不足以充分表現的問題

光源的數量不能發揮作用

——背景用PBR製作可以期待一定的效果

此外,只實現celshading的話,卡通效果的表現還不夠充分

基於Deferred Rendering的卡通渲染手法-前篇(翻譯)

在lighting pass中,增加陰影模型

只是新增的話,是像左邊圖片那樣卡通表現不夠充分的結果

為了實現效果,需要對引擎進行各種各樣的改造

變更點一覽

增加使用的引數數量——>G-Buffer的擴充套件

Cel shader和PBR的共存——>Lighting的擴充套件

擠出的outline的實現——>Vertex Shader的擴充套件,Geometry Shader的追加

特殊layer的增加,半透明處理的擴充套件——>Rendering Pass的擴充套件

陰影無法補充的特殊表現的實現——>Post Process的擴充套件

標簽: 卡通  UE4  效果  表現  使用