season|使用虛幻引擎為《Season》打造卡通渲染效果( 二 )


首先要選擇反射率 , 也就是畫家所說的每種材質的局部顏色 , 然后選擇與各類物體關聯的陰影色調 。 著色器會自動取得陰影色調的顏色與反射率的顏色 , 并計算出最終的陰影顏色 。 接下來 , 虛幻引擎會根據光線的入射角判斷 , 是選擇陰影顏色還是反射率 。
著色器會使用顏色和陰影的錯覺來重現插畫作品的深度和紋理 。 用Mohannad的話來說 , 通過創建這樣的著色器 , 在“讓美術師控制”和“讓引擎完成大部分工作”這兩種選擇之間找到了平衡點 。 使用虛幻引擎 , 美術師可以簡單地公開特定參數 , 通過對參數的修改來控制最終結果 。 在材質節點編輯器中 , 一切都是可單獨編輯的 , 如此一來 , 團隊就能夠制作并完善主材質 , 并將它們連接至自定義工具了 。

但這種美術設計也讓團隊遇到了一個技術問題 。 如果一切都可單獨編輯 , 就很難使用全局光照統一各個區域 。 因為每個物體都具有特定的陰影色調顏色和反射率顏色 , 它可以包含一個紋理顏色 , 這使得在不同的光照場景下 , 整個紋理很難有一致的陰影顏色 。 這就是說如果游戲中的天色發生改變 , 我們必須單獨編輯所有這些物體 , 才能反映出變化 。 如果清晨的金色陽光灑在游戲中的所有物體上 , 需要逐個更改它們 , 才能反射正午清爽的藍色光線 。 這讓團隊得到了一個美麗的靜態場景 , 物體展示著各不相同的外觀 , 但它們不能有不同的顏色或對比度 。
因此團隊修改了美術設計 , 創建更容易建模的場景 , 展現物換星移 , 能夠在高地和生物群區等位置間輪換 。 這迫使我們重新拾起虛幻引擎的PBR模型 , 但還需要對其做一些調整 。 如此一來 , 團隊就能接收到基于入射光線的“真實”照明 , 這意味著光線將始終來自于某個自然光源 , 例如天空或閃爍的燭火 。 獲得這種光照之后 , 團隊會確定亮度閾值或入射角閾值 , 根據光源顏色計算每個圖像像素的陰影顏色 。
卡通著色器專門用于改變材質中的顏色 , 而全新的美術設計則專注于使用光照的變化營造更美麗的場景 。 例如 , 如果想在場景中提升對比度 , 可以增強直射的陽光 , 移除天空中柔和的光照 , 從而形成一股來自太陽的直射強光 。 如果想進一步控制對比度 , 可以使用后期處理工具 。
新制定的光照決策引出了一項新特色:轉向使用天空球體的靜態光照 。 天空光照與光源類似 , 根據來自天空的光線 , 使整個場景的卡通渲染保持一致 。 天空光照產生的光線和陰影顏色將投射在場景中的所有物體上 。 此外團隊還有一些設置項 , 可為天空設定一種基調 , 為場景的整體氛圍添加一種色調 。 例如 , 在安全而熟悉的地方 , 天空光照將為所有資產投下暖色調的光線 。
現在 , 所有的光照都包含了接近于次表面散射的效果 , 光線將被物體吸收或反射 , 營造光線發散的效果 。 想想在晴朗的夏日 , 光線透過樹葉 , 被綠葉吸收 , 使它們顯得更加閃耀 。 另一個例子是 , 白色路面上的陽光反射進你的眼中 , 眩光讓人分不清方向 , 但感覺溫暖 。 光照著色器是能量恒定的 , 這意味著 , 無論我們向場景中添加多少光線 , 它始終會保持一致 。 而如果為同一物體添加兩處光源 , 它的亮度就會變成兩倍 。 這些寫實的瞬間激發了《Season》中光照設計的改變 , 創造出玩家更熟悉的世界 。
Look Dev Manager
另一個障礙是 , 當團隊得到著色器并開始構建材質和各種自定義工具時 , 這些工具不夠自動化 , 缺乏易用性 。 著色器最初就有許多可用的功能 , 但它們全都散布在多個關卡中 , 需要手動執行 。

相關經驗推薦