為一部毛茸茸風格的長片打造完整動畫 pipeline — BCON26(第 3/4 段)


🏦 台灣Pay 銀行轉帳 💙 PayPal
道具刺繡、production shader 的自訂輸入、植被陰影技巧,以及 2D 背景卡片自動長出體積
- 26:14 背包等道具有大量刺繡這類極小的細節,團隊必須為它們另外開發做法。
- 32:36 第二步:取 Voronoi 輸出的 position,也就是該 cell 在你輸入座標中的原始位置,就能在法線上得到 Voronoi 的平面。可以調整 scale 等簡單參數。
- 39:09 Ray Portal 的內容是講者的個人專案,因為最後在這部片中沒能用上。
💡 你可以怎麼用:想做切面或手繪風材質,可以照著試:在 Blender 把 normal 接進 Voronoi,取 position 當新法線,再改用 smooth F1、加 noise 調出軟硬混合。場景裡植物陰影太碎時,就只保留超過某個距離的陰影。
看全部 44 條重點
🧑🏫 這段是一部毛絨風格動畫長片的技術分享。講者示範團隊怎麼用程序化方式(讓電腦依規則自動算,不靠手工)處理刺繡細節、材質、植物陰影,以及把平面背景變立體。很多招不用寫程式,接幾個節點就能做,值得參考。
- 26:14 背包等道具有大量刺繡這類極小的細節,團隊必須為它們另外開發做法。↳ 背包這類道具上有很多刺繡,細到一般建模或貼圖都很難處理,所以團隊得另外想一套專門的做法。
- 26:14 刺繡用 UV 做標準的程序化縫線(procedural stitching)。準備三組 UV 對應不同方向,讓縫線可以互相交叉。↳ UV 是把 3D 表面攤平成 2D 的座標,讓圖案知道要貼在哪。procedural stitching 是用規則自動生成縫線;三組 UV 各管一個方向,縫線就能交錯。
- 26:53 這種做法有「無限細節」。背包其實不太需要超高解析度,但有兩個鏡頭用了完整解析度來展示細節。↳ 縫線是即時算出來的,放多大都不會糊。背包平常不需要這麼細,但有兩個特寫鏡頭刻意開到最高細節來展示。
- 26:53 不用 8K 貼圖的原因是先前提過的 16 GB 記憶體限制。只要鏡頭裡有五個角色,就會整個撐不住。↳ 如果改用 8K 貼圖(超大張的圖片),會吃掉大量記憶體。他們的上限是 16 GB,同一鏡頭有五個角色就會爆掉,所以程序化比較省。
- 27:28 有一類混合風格的道具:金屬有寫實的拉絲反應,同時加入 2D 元素,例如眼鏡上經典漫畫/動畫式的 specular 高光。↳ specular 是表面反光的亮點。有些道具一半寫實、一半卡通:金屬照真實方式反光,眼鏡上卻是漫畫那種一塊白色亮點。
- 27:28 整部片大部分是 2D 背景配上超寫實、大量毛髮的 3D 角色。講者原本沒想到效果會這麼好。↳ 這部片的組合是:背景是平面手繪圖,角色卻是毛茸茸、很寫實的 3D。講者坦言原本沒把握,結果比預期還搭。
- 27:58 風格上結合了較繪畫感的元素,以及較寫實的 groom 表面。↳ groom 指角色的毛髮造型與表面。整體風格是一邊帶畫畫的筆觸感,一邊保留寫實毛髮的質感,兩者並存。
- 27:58 production shader 有約 80% 是標準的 Principled BSDF,另外加上自訂輸入,目的是讓工作輕鬆一點,並做到客戶要的效果。↳ shader 是決定物體表面長什麼樣的材質設定。Principled BSDF 是 Blender 內建的萬用材質節點。他們用它當主體,再加自訂開關,省事又能做出客戶要的樣子。
- 28:38 shader 有一個 normal 子區塊,用來把法線風格化、做 faceted normals,並嘗試自動處理這些效果。↳ normal(法線)是表面朝向的資訊,決定光怎麼打在上面。shader 裡有一區專門改造法線,做出切面感,並盡量自動完成。
- 28:38 self-emission(名稱有點怪):把 emission 和角色或道具原本的顏色混合,讓它帶回一點原色,並消除黑色區域。↳ emission 是讓物體自己發光的設定。self-emission 把它和物體本色混在一起,讓暗部也帶點原本的顏色,不會死黑一片。
- 30:00 self-emission 其實不會真的發光,只是讓相機看到一點原本的顏色。這有助於把畫面壓平,並保留原色,在一些 2D 影集或電影中效果很好。↳ 它不會照亮周圍,只是讓鏡頭看到物體本身的顏色。明暗變化變少、畫面比較平,接近 2D 動畫的上色感。
- 30:00 shader 裡還有 shadow 相關功能,以及做法相當簡單的 line(線條)功能。↳ 這個 shader 還附帶控制陰影的功能,以及畫輪廓線的 line 功能,後者的做法其實不複雜。
- 30:33 line 現在用新的 raycast node 來做。以前則是用 ambient occlusion 加 bevel 的經典技巧。↳ raycast node 是較新的節點,能從表面發射射線去偵測周圍。以前是用 ambient occlusion(角落變暗的效果)加 bevel(邊緣倒角效果)來湊出線條。
- 30:33 他們在幾乎整部片上疊了一層程序化 grain,用來掩飾部分道具的低解析度貼圖,也讓畫面多一點質感。↳ grain 是像底片顆粒的細小雜點。他們幾乎整部片都疊一層,一方面蓋掉某些貼圖不夠清晰的地方,一方面讓畫面更有質感。
- 31:03 faceted normal 現在已是相當普及的技巧,教學裡應該看過。但他們剛開發時,講者覺得這很創新。↳ faceted normals 是讓表面看起來像由一塊塊小平面組成。現在網路教學很常見,但他們當初做出來時,講者覺得算是新東西。
- 31:33 做法原理:取法線資訊產生一個個平面,讓外觀更風格化,再在上面加一點隨機顏色。實際上還有更多選項。↳ 原理是用法線資訊切出一片片平面,看起來像切面或手繪風,再給每片加一點隨機色差。實際工具裡的選項更多。
- 31:33 起因:已做了約 10、15、20 個道具時,客戶想測試更有手繪感的法線,這不在原本的 briefing 裡。↳ 已經做完十幾二十個道具後,客戶才想試手繪感的法線。這不在當初的需求說明(briefing)裡,屬於中途追加的需求。
- 32:05 講者答應做「手繪法線」,但實際上是用程序化方式完成(他說自己不畫畫)。↳ 講者口頭答應做「手繪法線」,但他不會畫畫,於是改用程序化方式,讓電腦算出看起來像手繪的效果。
- 32:05 簡化版做法第一步:把 normal 當作座標,接進 Voronoi。↳ Voronoi 是會把空間切成一格格細胞狀區塊的圖案節點。第一步是把法線當座標餵給它,讓它依表面朝向來切格子。
- 32:36 第二步:取 Voronoi 輸出的 position,也就是該 cell 在你輸入座標中的原始位置,就能在法線上得到 Voronoi 的平面。可以調整 scale 等簡單參數。↳ Voronoi 會輸出每一格代表點的 position。拿它當新的法線,同一格內朝向一致,就變成一片片平面。調 scale 可以改格子大小。
- 32:36 進階玩法之一:用另一個 noise 去扭曲 Voronoi。↳ noise 是隨機變化的雜訊圖案。先用它把輸入稍微打亂,Voronoi 的格子就不會太規則,切面看起來更自然。
- 33:07 進階玩法之二:用 separate RGB 分離顏色,或調整原本顏色的 hue、saturation、value,就能得到不錯的結果。講者建議沒玩過的人試試看。↳ separate RGB 能把顏色拆成紅綠藍分開處理,也可以調色相、飽和度、明度。這樣處理切面顏色效果不錯,講者鼓勵大家動手試。
- 33:07 建議改用 smooth F1(不是 F1)並調整 smoothness。再接上 noise,會得到軟硬交錯的混合效果。↳ F1 是 Voronoi 預設的硬邊模式。改用 smooth F1 能讓格子邊緣變柔,用 smoothness 調整程度,再加 noise,就會有的地方俐落、有的地方柔和。
- 33:41 陰影技巧主要是為大量植被而做。畫面中的範例來自他們之前的另一部片,不是這部片。↳ 接下來的陰影技巧主要是為了處理大片植物。畫面上的範例來自他們上一部片,不是這部。
- 33:41 植被有很多葉子等幾何,需要投影,但不能在近距離投影。否則會產生大量不想要的高頻雜訊。↳ 葉子很多,都要能投影,但近距離互相投影會產生一堆細碎陰影,也就是 high frequency noise(很密的亂點),畫面會變髒。
- 34:11 講者雖然喜歡 noise,但想保留平坦的面和原本想要的顏色,不希望整個畫面都是雜訊。↳ 講者本身愛用雜點效果,但這裡他想要乾淨的大色面和原本設定的顏色,不想讓整片植物被碎陰影弄花。
- 34:11 這個陰影功能有三個控制:陰影強度,以及陰影範圍的起點與終點。等於是在選擇陰影從哪裡開始。↳ 這個功能有三個旋鈕:陰影多深,以及陰影從多遠開始、到多遠結束。簡單說,就是決定多近的東西不投影。
- 34:45 另外還有一個 use distance 選項,講者說可以解釋,但不太重要。↳ 另外還有一個 use distance 選項,講者說可以解釋,但不重要,就略過了。
- 34:45 例如設定從 5 公分開始產生陰影。葉子彼此靠近或貼近表面時就不會投影,去掉了細小的陰影細節。↳ 例如設定 5 公分以上才產生陰影。葉子彼此很靠近或貼著表面時就不投影,那些細碎陰影就消失了。
- 34:45 遠距離的陰影則保留下來,因為 gobos、細節,以及葉子投在地面上的影子都需要它。↳ gobo 是擋在燈前、投出光影圖案的遮片效果。保留遠處的陰影,這種光影、細節和葉子投在地上的影子才都還在。
- 35:21 這是講者自己常用的小技巧,也是為這部片做的簡單研發之一。↳ 這是講者自己平常常用的小招,也是他們為這部片做的簡單技術研發之一。
- 35:21 客戶通常交來一疊 2D 圖層,組成原始的 2D 背景。↳ 客戶交來的背景通常是一層層分開的 2D 圖,疊起來就是原本的背景畫面。
- 36:45 這些圖層是從 Photoshop 等軟體輸出、帶 alpha 的純平面圖片,沒有其他資訊。↳ alpha 是圖片的透明度資訊,標記哪裡有畫、哪裡透明。這些圖從 Photoshop 等軟體輸出,就只是平面圖,沒有深度等資訊。
- 36:45 燈光部門需要能投影、帶回體積的工具。平面卡片雖然可以用,但要營造情緒或特定氛圍時就需要這類工具。↳ 平面卡片直接擺也能用,但燈光部門要營造情緒或氛圍時,需要能讓背景投影、有立體感的工具。
- 37:15 目的是讓角色的燈光和這些投影式 2D 卡片的燈光互相吻合。↳ 目標是讓 3D 角色身上的光,和 2D 背景卡片上的光影看起來一致,不會像兩張圖硬拼在一起。
- 37:15 旋轉燈光時,光會和卡片互動。投出的陰影不只是平面幾何的影子,而是有體積感的。這些是從攝影機自動生成的。↳ 轉動燈光時,卡片會跟著變亮變暗,投出的影子也像有厚度的物體,不是薄紙片的影子。這些體積都是依攝影機自動生成的。
- 37:15 模式一(簡單模式,用於樹):取 alpha、稍微模糊,產生柔和的體積。↳ 模式一比較簡單,用在樹上:拿 alpha 輪廓稍微模糊,就能生出邊緣柔和、鼓鼓的立體形狀。
- 37:15 模式一要朝攝影機方向擠出,這點非常重要,否則到處會出現很怪的角度。攝影機移動時,體積仍會朝向攝影機。↳ extrude 是把平面往某個方向拉出厚度。這裡一定要朝攝影機拉,不然從鏡頭看會有怪角度;鏡頭移動時,體積也會跟著朝向它。
- 37:58 模式二(用於地面)第一步:取 alpha 做出邊界。↳ 模式二用在地面,第一步是用 alpha 找出地面圖層的邊界範圍。
- 37:58 模式二第二步:量測從後方到頂部的距離,得到一個斜坡(slope)。↳ 第二步是量從後方到頂端的距離,算出一個 slope(斜坡),讓平面地面變成有高低起伏的坡面。
- 38:28 這個斜坡讓角色可以在上面做一點動畫,或至少假裝是在上面動。↳ 有了斜坡,角色就能站在上面做一點動作,至少看起來像真的踩在地上。
- 38:28 斜坡幾何也是自動產生的,沒有人手動建模,只有幾個 slider 可以調,整體相當自動化。↳ 斜坡也是自動產生的,沒有人手動建模,只留幾個滑桿可以微調,整體非常自動化。
- 38:28 接下來要談 Ray Portal node,講者說自己很愛這個 node。↳ 接下來要講 Ray Portal node,這是 Blender 的一種材質節點,能讓光線穿過後從另一個位置和方向繼續走。講者說他很愛這個節點。
- 39:09 Ray Portal 的內容是講者的個人專案,因為最後在這部片中沒能用上。↳ Ray Portal 那段是講者的個人專案,因為這部片最後沒有用上它。
📘 術語
procedural stitching(程序化縫線):從 UV 生成縫線,並用三組 UV 對應不同方向來交叉。
UV(UV 座標):字幕未解釋。提到準備三組 UV 對應縫線的不同方向。
production shader(製作用著色器):約 80% 是標準 Principled BSDF,另加自訂輸入,讓工作更輕鬆。
Principled BSDF(Principled BSDF 著色節點):字幕未解釋,只說 production shader 約 80% 由它構成。
specular(高光):提到眼鏡上的經典漫畫/動畫式 specular,屬於 2D 元素。
groom(毛髮梳理):字幕未解釋,形容較寫實的毛髮表面(groomy surfaces)。
faceted normals(切面化法線):取法線資訊產生平面,讓外觀更風格化。
self-emission(自發光(自訂)):把 emission 與原色混合、消除黑色。不會真的發光,只是讓相機看到原色。
emission(發光):字幕未解釋,只說 self-emission 是 emission 與原色的混合。
raycast node(raycast 節點):字幕稱它是新節點,目前用它來做 line(線條)效果。
ambient occlusion(環境光遮蔽):過去做線條的經典技巧,搭配 bevel 使用。
bevel(倒角):過去和 ambient occlusion 搭配做線條的經典技巧。
grain(顆粒):程序化 grain 疊在幾乎整部片上,掩飾低解析度貼圖並增加質感。
Voronoi(Voronoi 紋理):把 normal 當座標接入,取輸出 position,就得到法線上的平面。
smooth F1(smooth F1 模式):講者建議用它取代 F1、調 smoothness,接 noise 可得軟硬交錯的混合。
noise(雜訊紋理):可用來扭曲 Voronoi,或接到 smooth F1 上做混合。
separate RGB(分離 RGB):用來分離顏色,搭配 hue、saturation、value 調整。
high frequency noise(高頻雜訊):葉子等幾何全部投影時會產生,是不想要的效果。
gobo(gobo):字幕未解釋,只說遠距離陰影因 gobos 需要而保留。
alpha(透明通道):客戶給的 2D 圖層帶 alpha,用來生成體積與地面斜坡。
extrude(擠出):體積要朝攝影機方向擠出,否則會出現很怪的角度。
slope(斜坡):量測 alpha 邊界從後到頂的距離而得,讓角色可在上面動畫。
Ray Portal(Ray Portal 節點):講者很愛的 node。這段是個人專案,因為在片中沒用上。
UV(UV 座標):字幕未解釋。提到準備三組 UV 對應縫線的不同方向。
production shader(製作用著色器):約 80% 是標準 Principled BSDF,另加自訂輸入,讓工作更輕鬆。
Principled BSDF(Principled BSDF 著色節點):字幕未解釋,只說 production shader 約 80% 由它構成。
specular(高光):提到眼鏡上的經典漫畫/動畫式 specular,屬於 2D 元素。
groom(毛髮梳理):字幕未解釋,形容較寫實的毛髮表面(groomy surfaces)。
faceted normals(切面化法線):取法線資訊產生平面,讓外觀更風格化。
self-emission(自發光(自訂)):把 emission 與原色混合、消除黑色。不會真的發光,只是讓相機看到原色。
emission(發光):字幕未解釋,只說 self-emission 是 emission 與原色的混合。
raycast node(raycast 節點):字幕稱它是新節點,目前用它來做 line(線條)效果。
ambient occlusion(環境光遮蔽):過去做線條的經典技巧,搭配 bevel 使用。
bevel(倒角):過去和 ambient occlusion 搭配做線條的經典技巧。
grain(顆粒):程序化 grain 疊在幾乎整部片上,掩飾低解析度貼圖並增加質感。
Voronoi(Voronoi 紋理):把 normal 當座標接入,取輸出 position,就得到法線上的平面。
smooth F1(smooth F1 模式):講者建議用它取代 F1、調 smoothness,接 noise 可得軟硬交錯的混合。
noise(雜訊紋理):可用來扭曲 Voronoi,或接到 smooth F1 上做混合。
separate RGB(分離 RGB):用來分離顏色,搭配 hue、saturation、value 調整。
high frequency noise(高頻雜訊):葉子等幾何全部投影時會產生,是不想要的效果。
gobo(gobo):字幕未解釋,只說遠距離陰影因 gobos 需要而保留。
alpha(透明通道):客戶給的 2D 圖層帶 alpha,用來生成體積與地面斜坡。
extrude(擠出):體積要朝攝影機方向擠出,否則會出現很怪的角度。
slope(斜坡):量測 alpha 邊界從後到頂的距離而得,讓角色可在上面動畫。
Ray Portal(Ray Portal 節點):講者很愛的 node。這段是個人專案,因為在片中沒用上。
✏️ 小考一題
講者說他們沒有使用 8K 解析度貼圖,原因是什麼?
A. 背包的刺繡用 4K 貼圖就已經足夠B. 客戶的 briefing 明確禁止使用 8K 貼圖C. 記憶體只有 16 GB,鏡頭裡有五個角色就撐不住D. 8K 貼圖會和程序化 grain 產生衝突看答案
答案:C。[26:53] 講者說因為先前提過的 16 GB 記憶體,8K 不可能;只要鏡頭裡有五個角色就會整個撐不住。
💛 覺得有幫助?支持一下


課本免費、沒有廣告,支持與否都能照常讀 🐰