Blender Studio
  • 電影
  • 專案
  • 訓練
  • 資源
  • 部落格
  • 社區
  • 加入
  • BLENDER.ORG

    • 下載

      獲取最新的 Blender、舊版本或實驗版本。

    • 最新消息

      關注最新 Blender 版本的新功能。

    學習與資源

    • Blender Studio

      從開放電影中獲取製作資產和知識。

    • 手冊

      Blender 使用和功能的說明。

    開發

    • 開發者博客

      Blender 開發者提供的最新開發更新。

    • 文檔

      指南、發佈說明和開發文檔。

    • 基準測試

      一個收集和分享 Blender 基準測試結果的平台。

    • Blender 大會

      一年一度的社區聚會活動。

    捐贈

    • 開發基金

      通過每月捐款支持核心開發。

    • 一次性捐款

      使用更多可用的支付選項進行一次性捐款。

訓練重點
自訂材質資產
臉部綁定
Blender 基礎知識 4.5 LTS
使用 Blender 進行 3D 列印

訓練類型
課程 文檔 製作課程 工作坊

訓練類別
動畫 幾何節點 燈光 渲染 骨架 著色
電影重點
牛仔
2026
過度生長
2026
奇點
2025
展翅翱翔
2023
專案重點
衝動購買
展示
專案:風暴
展示
遛狗
展示
專案:黄金
展示
資源重點
角色
模型和裝置
資源
所有製作檔案
庫
精選集
  • 過度生長

繪畫般的陰影

西蒙展示了《過度生長》中繪畫般的陰影是如何繪製出來的。
  • 文章
  • 21 August
  • 1 min read
Simon Thommes
Simon Thommes 3D Artist
Report Problem

*對我們而言,風格化渲染的一大挑戰始終在於陰影的處理。以下是我們針對《過度生長》計畫所採用的解決方案。 *

TL;DR(簡而言之):如果您只想看乾貨,請直接跳轉至“具體做法”部分。


引言

風格化渲染——更具體地說是「繪畫風格」渲染——面臨著許多挑戰。若要讓畫面完美呈現預期的藝術風格,必須考慮3D渲染的各個面向。然而,往往總有那麼一兩個環節會暴露電腦生成影像那種過於精確的特質,從而破壞整體觀感。

對我們來說,「投射陰影」的處理往往就是這種破壞風格統一性的痛點之一。完美的3D渲染陰影會將物件的精確輪廓與細節投射到背景上,這種​​效果極易破壞原本優美的繪畫風格氛圍。

這是一個相當棘手的問題,因為陰影效果取決於光源、投射陰影的物體以及承接陰影的表面。我們不能僅僅透過調整被渲染物件的形狀、紋理或表面材質來實現風格化,而必須設法介入渲染流程本身。

使用本文所述繪畫風格陰影技術渲染的簡單立方體
使用本文所述繪畫風格陰影技術渲染的簡單立方體

歷程

先前,我們曾嘗試將這種繪畫風格的陰影效果融入我們的藝術追求中,但要么難以實現,要么因優先級不高而不值得投入過多精力。

在《Wing It》計畫中,我們透過嚴格篩選哪些物體投射陰影、哪些不投射,來實現陰影的風格化。在某些情況下,我們甚至創建了「陰影代理(shadow proxy)」——也就是用一個簡化版的物體來取代原始物體進行陰影投射。這種做法去除了大量細節,使陰影形狀變得更加簡潔。

短片《Wing It》中的畫面截取,展示了簡化後的陰影效果
短片《Wing It》中的畫面截取,展示了簡化後的陰影效果

在《Project Gold》計畫中,我們對整體藝術風格的呈現相當滿意:破碎的輪廓、表面處理以及漫反射與高光著色都營造出了理想的繪畫質感。唯獨陰影部分,我們始終未能將其調整至與整體風格完全契合。不過,最終呈現的效果倒也還算過得去。我們保持了投影相對柔和,並利用筆觸幾何體(brushstroke geometry)凹凸不平的表面來打破陰影的完整性。然而,這些陰影並未真正與整體美術風格融為一體。

《Project Gold》中的畫面截圖
《Project Gold》中的畫面截圖

現在

到了《過度生長》項目,那種極其乾淨、完美的 CG 陰影問題再次出現了。這一次,解決方案似乎顯而易見:與其試圖讓陰影本身呈現出繪畫質感,不如直接讓投射陰影的物體邊緣具備繪畫風格。事實上,Andy 已經對投射陰影的物體(shadow casters)進行了大量塑形,以確保產生美觀的陰影形狀。我們只需更進一步,在物體邊緣仔細生成能投射出繪畫風格筆觸的幾何體即可。

《過度生長》預告片畫面中的繪畫風格陰影對比
《過度生長》預告片畫面中的繪畫風格陰影對比

為此,我們可以直接利用先前為《Project Gold》開發的 Brushstroke Tools(筆觸工具)設定。只需沿著想要投射陰影的物體的輪廓繪製一條曲線,這些筆觸就能為物體的陰影增添豐富的筆觸細節。

產生繪畫風格陰影的筆觸幾何體的視口渲染圖
產生繪畫風格陰影的筆觸幾何體的視口渲染圖

陰影投射體(Shadow Casters)

在我們的製作流程中,許多陰影都是透過「陰影投射體」手動放置的。這是一種簡單的網格模型(通常是平面),對攝影機不可見,其唯一作用就是投射特定的陰影。這是手動控制明暗區域的重要光照工具。

陰影投射體展示

由於《過度生長》的美術風格包含非常銳利的陰影,陰影投射體的形狀會清晰可見。因此,Andy 利用幾何節點(Geometry Nodes)設定將矩形平面進行了圓角處理,甚至嘗試賦予其帶有紋理的邊緣,以略微柔化邊緣效果。於是,將邊緣轉化為筆觸線條的想法便順理成章地產生了。這就像提取邊界邊作為曲線,並將其輸入到「筆觸工具」(Brushstroke Tools)的節點組中一樣簡單。

有無筆觸效果的投影體對比

其他情況

這種方法效果極佳,對於我們現有的投影體(shadow casters)而言,幾乎無需額外工作。但處理任意 3D 幾何體則要複雜一些,尤其是涉及動畫的情況下。

輪廓

首先,我們需要根據光源位置,沿著 3D 網格(mesh)的輪廓產生一條曲線,這樣筆觸才能沿著陰影的邊緣排列。

展示效果
展示效果

幸運的是,利用幾何節點(Geometry Nodes)可以輕鬆實現這一點。我可以沿用之前在 Wing It 專案中製作輪廓線時所使用的技術。唯一的差別在於,產生輪廓線的參考視點不再是攝影機,而是光源。

自陰影

這種方法的一個主要問題在於,如果直接在網格表面產生筆觸,筆觸本身也會在網格上投下陰影。還好解決這個問題並不難:只需在投射陰影的物件的著色器節點(shader nodes)中稍作設置,根據光線距離來控製筆觸陰影的淡入效果即可。

展示效果
基於距離混合陰影的節點設定

這樣一來,陰影只會投射在較遠的位置。當然,接觸陰影(contact shadows)也會受到影響,但我們可以微調距離範圍,在保留所需陰影的同時,剔除不想要的陰影。

由生成的筆觸在主體表面產生的自陰影

運動與變形

當幾何體發生移動或變形時,陰影的形狀也會隨之改變,因此筆觸也需要相應地變化。然而,若要透過程式化方式產生筆觸,並確保它們在變形過程中保持連貫、不出現突兀的閃爍或消失,難度實在太大,甚至可能導致工作量激增。

輪廓的變化需要截然不同的筆觸形態

有時候,為了推動項目,適時放棄某些想法、轉而採用實際可行的方案反而是明智之舉。所以,很遺憾,這種方法並不能提供那種「一鍵生成、且看起來像手繪筆觸一樣穩定」的完美解決方案。

不過,如果你願意多按一個按鈕,在我看來,這個方案的效果其實已經相當接近理想狀態了。

為鏡頭中的魚道具應用陰影輪廓效果的過程

只要動作不是特別劇烈或複雜,陰影其實並不需要太大的變化;它們主要需要跟著網格(mesh)一起移動。因此,一個合理的解決方案是:選取鏡頭中的某一幀作為代表,產生筆觸效果,然後在鏡頭的其餘部分讓這些筆觸隨幾何體一起變形。

另一個方案是利用「模擬區域」(simulation zone)來更動態地更新陰影。例如,可以設定每隔 4 幀觸發一次更新。這種做法雖然仍會產生「跳變」(popping)現象,但這種跳變可能會讓人感覺是刻意為之的藝術效果。

視口中帶有陰影輪廓的旋轉圓環

渲染圖中帶有陰影輪廓的旋轉圓環

對我們而言,最佳方案是挑選合適的一幀並將其應用於整個鏡頭,因為我們的美術風格不希望出現任何跳變現象。此外,也可以針對不同畫面上的不同光照角度,烘焙兩組或多組陰影。這樣既能涵蓋不同的角度,又能避免跳變問題。

不同筆觸更新時機的比較

在製作《過度生長》的預告片時,我們決定選擇性地添加這種具有繪畫感的陰影,只在能產生顯著效果的地方使用。這樣一來,逐一添加陰影的工作量適中,我們無需費心建立一套複雜的程式化系統——畢竟那類系統往往容易出故障。

操作指南

可下載檔案:

shadow_outline-resources.blend

Blender 文件 - 6.5 MB - CC-BYshadow_outline-resources.blend

(相容於 Blender 5.2 LTS 及更高版本)

  • 請務必使用硬邊緣(銳利)的光源作為主光源。這是投射出清晰筆觸影像的必要條件。

  • 將資源檔案中的 LGT-shadow_outline 物件追加(Append)或連結(Link)並覆蓋(Override)到您的場景中。

  • 在修改器屬性中:
  • 選擇您的主光源並指定其類型(聚光燈和麵光均視為點光源,因為它們基於位置進行定位)。
  • 選擇投射陰影的主體物件。

  • 找到一格能體現場景陰影特徵的畫面。

  • 調整設置,直到獲得滿意的效果。

  • 開啟「幾何節點」(Geometry Nodes)編輯器,找到標示為「Bind Single Frame」(綁定單幀)的烘焙節點,將產生的筆觸烘焙並綁定到表面。此時,筆觸應已附著在表面上,並將在動畫的後續部分跟隨表面移動。

  • 可選步驟:烘焙整個鏡頭的變形效果。如果你使用了「細分曲面」(Subdivision Surface)修改器,這一步很有用,因為拓樸結構發生變化時,綁定關係會失效。

  • 如果陰影形狀與你烘焙的那一幀相比變化過大:
  • 你可以選擇使用動態筆觸…

  • ……或直接複製陰影輪廓對象,找到能覆蓋缺失範圍的另一幀,然後重複上述過程,直到主體被陰影輪廓完全覆蓋。

從不同角度綁定陰影輪廓的圓環體
從不同角度綁定陰影輪廓的圓環體

在設定渲染參數時,需要注意一些事項,以避免奇怪的偽影。
  • 將「透明反彈」(Transparent Bounces)次數至少設定為與筆觸數量相同。數值越高效果越好,但這可能會導致渲染速度變慢。

  • 確保除陰影以外的所有物件都處於不可見狀態。如果使用的是物件資產(object asset),預設應該就是這種設定。

大功告成!

進階技巧:筆觸風格輪廓線

同樣的技術也可以用於其他場景。本質上,該設定是根據光源的視角產生輪廓線。但也可以根據攝影機的視角產生筆觸風格的輪廓線。

這不是我最推薦的輪廓線製作方法,而且需要一些額外的設定。請知悉!

作為可見輪廓線的筆觸風格輪廓線變體

只需將攝影機物件選作光源物件(設定為點光源),並確保物件及其著色器在攝影機視野中可見即可。

就是這樣!不妨試試資源檔案中的陰影輪廓,並在自己的場景中營造出繪畫般的視覺效果。請務必使用 Blender 5.3 Alpha 版本。

加入 並發表評論。

電影 專案 訓練 部落格
角色
  • Critter 演化
  • 小動物 Critter
  • 壹號
  • 太空生物
Studio
  • 條款和條件
  • 隱私政策
  • 聯繫
  • 混音音樂
  • blender.org
Blender Studio

分享的創作者。

藝術自由始於 Blender 由數譜環球提供技術支持
粤ICP备2024327355号-3