在 3D 裡做 2D 漫畫風格:形體!線條!著色!— BCON26(第 2/4 段)


🏦 台灣Pay 銀行轉帳 💙 PayPal
用 curve 程序化建立角色造型,並用 Geometry Nodes 讓 grease pencil 線條更有手繪感
- 11:54 講者做出一個看起來像 2D 的真 3D 角色。它用一條 curve,裡面有 10 條 spline。
- 17:47 講者的版本比較簡單:把骨頭放在 curve 的起點和終點。講者感謝 ChatGPT 協助做這部分。
- 23:11 另一個設定是 offset,也就是筆畫和幾何體之間的距離。
💡 你可以怎麼用:在 Blender 用 line art 做描邊時,先加一點 noise,再讓粗細依遠近或部位變化,最容易消除電腦感。要在模型上手畫線,記得先把 stroke placement 設成 surface、offset 設 0。
看全部 46 條重點
🧑🏫 這段講者示範怎麼把 3D 角色做得像 2D 漫畫:身體不用手動捏,而是用曲線和參數自動長出來;線條則用自製工具加粗細變化和雜訊,讓電腦算出來的線看起來像手畫。想做漫畫風 3D,或想知道怎麼把 Blender 內建功能改成順手工具的人,這段很實用。
- 11:54 講者做出一個看起來像 2D 的真 3D 角色。它用一條 curve,裡面有 10 條 spline。↳ 角色看起來像平面漫畫,其實是真的 3D。它只用一個 curve(用控制點拉出的曲線物件),裡面有 10 條 spline(curve 裡各自獨立的一段線)。
- 11:54 每條 spline 各自變形一個不同的物件。每個物件都有兩個 Geometry Node modifier。↳ 10 條線各負責一個身體部位的物件。每個物件掛兩個 modifier(疊在物件上、可隨時調整或拿掉的加工步驟),都是用 Geometry Nodes(用節點連線組規則的工具)做的。
- 11:54 這個角色仍然完全是 procedural,還沒有任何建模。講者說建模可能是下一步。↳ 整個角色是 procedural(靠規則和參數自動算出來),完全沒有手動捏過模型。講者說下一步可能才會進入手動建模。
- 12:24 目前還有問題。例如腳部的 topology 在變形時會出狀況,講者還要找方法修正。↳ 還有缺點:腳部的 topology(模型表面點、線、面的排列方式)不理想,一彎曲就變形走樣。講者還在想辦法修。
- 12:24 講者推薦 Blue Zoo animation studio 去年的演講,請觀眾去看。↳ 講者推薦 Blue Zoo 動畫工作室去年在同一個活動的演講,跟這次主題有關,建議找來看。
- 12:56 Vasil Shotarov 在那場演講中示範只用 capsule(膠囊形)來做角色。↳ 那場演講中,Vasil Shotarov 示範全身只用 capsule(膠囊形)拼出角色,證明很簡單的形狀也能組出完整角色。
- 12:56 講者不想照抄,所以自己做了「capsulinder」。它可以是 capsule,也可以是 cylinder,隨你決定。↳ 講者不想照抄,自己做了「capsulinder」,名字是 capsule 加 cylinder(圓柱)。同一個形狀可以切換成膠囊或圓柱。
- 13:29 capsulinder 的功能:可以改變端蓋,也能移除或加上端蓋。端蓋可以做得更尖或更短鈍,還能縮放整體或兩端,藉此程序化做出很多形狀。↳ 重點是一個形狀能變出很多零件:端蓋可有可無、可尖可鈍,整體或兩端的粗細都能縮放。調參數就能換造型,不用重做模型。
- 13:29 講者認為 curve 不適合做動畫,因為它不知道左右方向。但 curve 很適合用來做形狀。↳ curve 分不出左右方向,所以不適合拿來做動作;但拿來決定身體的走向和輪廓很好用。講者只用它來塑形。
- 13:29 講者 modifier 的功能:沿任意軸變形,以及沿著 spline 移動、縮放物件。↳ 講者自製的 modifier 能讓物件沿任意方向彎曲,也能讓物件沿著 spline 移動位置、改變大小。
- 14:02 「follow single curve spline」功能:一條 curve 可以有多條 spline,每條都有 index 編號。你可以指定物件的 modifier 跟隨第 2 條或第 4 條 spline。↳ 一條 curve 裡的每條 spline 都有 index(序號)。你可以指定這個物件跟第 2 條、那個跟第 4 條,一條 curve 就能控制好幾個部位。
- 14:33 講者正在研究端蓋 topology 的替代做法,讓末端附近的變形好很多(這段沒放進正式簡報)。↳ 講者私下在試另一種端蓋的網格做法,讓物件尾端附近彎曲時不再變形。這部分還在研究,沒有放進正式簡報。
- 15:03 做法是在 Geometry Nodes 裡取得各種基本形狀,把它們切半、組合等等。講者認為這是改善 topology 的好起點。↳ 做法是在 Geometry Nodes 裡拿現成的基本形狀,切一半再拼起來,組出網格比較整齊的端蓋。講者覺得這是改善 topology 的好起點。
- 15:03 示範開角色的方式:先設定半邊角色(左或右)。用一條 curve 搭配多條 spline,每條 spline 各有一個它負責變形的物件。↳ 開始做角色時,先只做左半或右半。一條 curve 放多條 spline,每條負責帶動一個身體部位的物件。
- 15:38 講者提醒示範影片不是即時速度。修改 curve 時,形狀會跟著變。↳ 示範影片有加速,實際操作沒那麼快。不過原理就是這樣:你拉動 curve,上面的形狀會跟著改變。
- 15:38 講者把跟隨 spline 的物件稱為「spline object」。可以再加更多 spline object,讓一條 spline 同時變形多個物件。↳ 講者把跟著 spline 走的物件叫做 spline object。同一條 spline 可以掛好幾個,一次帶動多個形狀。
- 16:10 選取一條 spline 後,可以 pin 住與它相關的任一 spline object 的屬性。這樣就不用一直退出 edit mode,能停留在 curve edit mode。↳ edit mode 是直接修改點和線的編輯狀態。講者把 spline object 的設定 pin(釘)在面板上,改 curve 時就不用一直切換模式。
- 16:43 在 spline object 上選取後,側邊會顯示所有屬性和 modifier,不必進進出出,很有幫助。↳ 選到 spline object 時,側邊面板會列出它所有的設定和 modifier,想調哪裡就直接調,省掉來回切換的麻煩。
- 16:43 講者用一個按鈕快速鏡像所有 spline object。到最後階段會快速檢查 silhouette(剪影)。↳ 講者用一個按鈕把所有 spline object 一次鏡像成完整角色,最後階段再快速看一下 silhouette(整體剪影)。
- 16:43 檢查完後,移除所有 spline object 的 mirror modifier。↳ 檢查完剪影,就把所有 spline object 上的 mirror modifier(自動產生對稱另一半的工具)拿掉。
- 17:17 這個例子中,講者想把實際的 spline 連同相關的 spline object 一起鏡像。但不一定每次都要這樣做。↳ 這次講者把 spline 本身也一起鏡像,讓另一半也有自己的控制線。但這不是每次都得做,看需求決定。
- 17:17 Vasil 的 capsule 帶有起點和終點的位置資訊,他提到可以用這些資訊來建立 armature。↳ armature 是讓角色能擺動作的骨架。Vasil 的膠囊記得自己的起點和終點位置,他提到可以用這些位置來長出骨頭。
- 17:47 講者的版本比較簡單:把骨頭放在 curve 的起點和終點。講者感謝 ChatGPT 協助做這部分。↳ 講者的做法比較簡單:直接在每條 curve 的起點和終點放骨頭。他說這部分有請 ChatGPT 幫忙。
- 17:47 講者認為 Blender 過去 10 年最重要的事,是 Geometry Nodes 開始支援 grease pencil。↳ grease pencil 是 Blender 裡在 3D 空間畫 2D 線條的工具。講者認為 Geometry Nodes 能處理它,是 Blender 近十年最重要的事。
- 18:17 Geometry Nodes 從 Blender 4.3 起支援 grease pencil。這影響很大,也是講者開始這個專案的原因。↳ 從 Blender 4.3 開始,Geometry Nodes 可以直接加工 grease pencil 的線條,能自訂規則改線。講者就是因為這樣才開始這個專案。
- 18:17 grease pencil 線條分兩種。第一種是生成的線,主要來自 line art modifier,會產生 silhouette 和 contour lines,講者說這一定會用到。↳ 第一種線是 line art modifier 從 3D 模型自動算出來的,包括剪影線和 contour lines(形體轉折處的輪廓線)。講者說這種一定會用到。
- 18:52 第二種是手繪線條,完全看你的藝術詮釋,例如喜歡什麼筆刷、筆刷粗細等。↳ 第二種是自己手畫的線,要用什麼筆刷、畫多粗,全看個人風格。
- 18:52 line art modifier 預設產生的線粗細非常均勻,講者覺得很無聊、沒有個性。和手繪線混在一起時不太協調。↳ 自動生成的線粗細完全一致,看起來很機械、沒有個性。跟有粗細變化的手畫線放在一起,會顯得很不搭。
- 19:22 重點是讓 line art 的線也有瑕疵,例如一點 noise。看似小改變,但效果差很多。↳ 解法是讓自動線也有一點不完美,例如加 noise(隨機的小抖動)。改動看起來很小,畫面差別卻很大。
- 19:22 線條風格因人而異。有人喜歡非常均勻的粗細,講者則偏好帶點粗糙邊緣。↳ 這沒有標準答案。有人喜歡乾淨均勻的線,講者則偏好邊緣帶點粗糙。
- 19:53 講者示範快速加上自製的 line thickness modifier,它能做 noise 之類的效果。↳ 講者示範直接套上自己做的 line thickness modifier(調線條粗細的工具),一下就加上 noise 之類的效果。
- 19:53 已經有 noise modifier 和 thickness modifier,為什麼還要自己做?因為它們分散在不同 modifier 裡。講者把喜歡的功能整合進一個 modifier,方便快速使用。↳ Blender 本來就有 noise 和 thickness modifier,但分散在好幾個裡面。講者把喜歡的功能整合成一個,要用時一次加上就好。
- 20:25 自製版本和現有功能看似相同,但有細微差異。這些差異符合個人喜好,影響很大。↳ 自製版和內建功能看起來差不多,但細節不同。這些小差異剛好符合講者的口味,對畫面感覺影響很大。
- 20:25 自己做 Geometry Nodes modifier 還能擴充功能。↳ 自己用 Geometry Nodes 做 modifier,好處是缺什麼功能可以自己加。
- 20:56 例如講者想讓 collection 裡不同物件使用不同的 seed。他認為現有 modifier 目前做不到,所以打算用自製 modifier 來做。↳ seed 是決定隨機樣式的號碼。講者想讓 collection(Blender 裡的物件分組)裡每個物件各用不同的 seed,他認為內建工具做不到,打算自己做。
- 20:56 講者新增的另一個功能其實現有 modifier 也做得到,但他想整合在同一個 modifier 裡。↳ 另一個新功能其實內建 modifier 也做得到,講者只是想把它收進同一個工具裡。
- 21:29 線條露出 CG 自動生成痕跡的地方:離鏡頭近的線較粗,遠的較細。2D 有時會這樣畫,但很多時候是用相同粗細。↳ CG(電腦繪圖)自動算的線會近粗遠細。2D 畫家有時也會這樣畫,但很多時候整張都用同樣粗細,所以這個特徵容易露出電腦感。
- 21:29 講者做了「cut-off distance」設定。在這個距離粗細不變,比它近的變細,比它遠的變粗。↳ 講者加了 cut-off distance(分界距離):剛好在這個距離的線維持原本粗細,比它近的變細,比它遠的變粗,用來抵銷近粗遠細。
- 21:59 這個方向可以反過來,但講者覺得會很怪。這個功能讓他能在 3D 空間中控制線條粗細。↳ 這個方向也能反過來設,但講者覺得效果很怪。有了這個設定,他就能依照 3D 空間的遠近控制線條粗細。
- 21:59 line thickness modifier 還加了 vertex group 功能。一般 modifier 的 vertex group 只作用在自己的物件上。↳ vertex group 是在模型上圈出一群點,並標記影響多強的方式。一般 modifier 只能讀自己物件上的 vertex group。
- 21:59 講者的做法是讀取被指定的 collection 或 object 上的 vertex group。↳ 講者的工具改成讀取你指定的 collection 或物件上的 vertex group,等於在模型上做標記,就能控制線條在那些位置的變化。
- 22:36 這樣就能調整並反轉線條粗細。Suzanne 生成的線因此看起來有機得多。↳ 這樣就能讓特定部位的線變粗、變細,或把效果反過來。Suzanne(Blender 內建的猴頭測試模型)生成的線因此自然許多,比較像手畫。
- 22:36 在 mesh 上繪製的主要設定:stroke placement 設為 surface。這樣筆畫才不會出現在 3D cursor 或其他地方。↳ 在 mesh(3D 模型)上畫線時,要把 stroke placement(筆畫落點)設成 surface,線才會貼在表面,不會跑到 3D cursor(場景定位游標)或其他地方。
- 23:11 另一個設定是 offset,也就是筆畫和幾何體之間的距離。↳ 另一個設定是 offset,決定筆畫離模型表面多遠。
- 23:11 問題是畫完後可控制的地方不多,雖然可以 snap 到表面。講者說也許有他沒找到的功能,但目前覺得很受限,需要找更有控制力的方法。↳ 問題是畫完之後能調整的地方很少,頂多 snap(吸附)回表面。講者說可能有他沒找到的功能,但目前覺得太受限,還在找更好控制的方法。
- 23:11 講者以 stroke placement 設 surface、offset 設 0 作為起點,開始示範在 Suzanne 上繪製。↳ 講者的起手設定是 stroke placement 設 surface、offset 設 0,讓線直接貼在模型表面,然後開始在 Suzanne 上畫。
📘 術語
curve(曲線):一條 curve 可以包含多條 spline。講者說它不適合做動畫,但很適合做形狀。
spline(樣條/曲線段):curve 裡的單一線段,每條都有 index 編號。可指定 modifier 跟隨某一條。
Geometry Nodes(幾何節點):講者用它做 modifier 和基本形狀。從 Blender 4.3 起支援 grease pencil。
procedural(程序化):講者用來形容角色完全沒有建模,只靠 curve 和 modifier 產生。
topology(拓撲):字幕提到腳部的 topology 造成變形問題,講者正在改善端蓋的 topology。
capsulinder(膠囊圓柱(講者自創)):講者自製的形狀,可以是 capsule 或 cylinder,端蓋可調整。
spline object(spline 物件):講者對「跟隨 spline 的物件」的稱呼。一條 spline 可以變形多個這種物件。
edit mode / curve edit mode(編輯模式/曲線編輯模式):講者用 pin 屬性的方式,讓自己能一直停留在 curve edit mode。
mirror modifier(鏡像修改器):講者先用它鏡像 spline object,最後階段再移除。
silhouette(剪影):講者在最後階段會快速檢查。line art modifier 也會產生 silhouette 線。
armature(骨架):可以利用 capsule 或 curve 起點、終點的位置資訊來建立,也就是把骨頭放在那些位置。
grease pencil(蠟筆(Blender 2D 繪圖功能)):字幕中的線條分為生成的線和手繪的線兩種。
line art modifier(線稿修改器):用來生成 silhouette 和 contour lines。預設線條粗細均勻,講者覺得無聊。
contour lines(輪廓線):line art modifier 生成的線條之一。
noise(雜訊):講者加在線條上,讓線條有一點瑕疵、粗糙感。
seed(亂數種子):講者想讓 collection 裡不同物件有不同的 seed,他認為現有 modifier 做不到。
cut-off distance(截止距離):在這個距離線條粗細不變,比它近的變細,比它遠的變粗。
vertex group(頂點群組):決定 modifier 對特定頂點的影響程度。一般只作用在自身物件,講者改成讀取目標物件的。
stroke placement(筆畫放置方式):在 mesh 上繪製時要設為 surface,筆畫才不會出現在 3D cursor 或其他地方。
offset(偏移):筆畫和幾何體之間的距離。講者從 0 開始設定。
3D cursor(3D 游標):字幕提到 stroke placement 沒設成 surface 時,筆畫可能出現在 3D cursor 的位置。
spline(樣條/曲線段):curve 裡的單一線段,每條都有 index 編號。可指定 modifier 跟隨某一條。
Geometry Nodes(幾何節點):講者用它做 modifier 和基本形狀。從 Blender 4.3 起支援 grease pencil。
procedural(程序化):講者用來形容角色完全沒有建模,只靠 curve 和 modifier 產生。
topology(拓撲):字幕提到腳部的 topology 造成變形問題,講者正在改善端蓋的 topology。
capsulinder(膠囊圓柱(講者自創)):講者自製的形狀,可以是 capsule 或 cylinder,端蓋可調整。
spline object(spline 物件):講者對「跟隨 spline 的物件」的稱呼。一條 spline 可以變形多個這種物件。
edit mode / curve edit mode(編輯模式/曲線編輯模式):講者用 pin 屬性的方式,讓自己能一直停留在 curve edit mode。
mirror modifier(鏡像修改器):講者先用它鏡像 spline object,最後階段再移除。
silhouette(剪影):講者在最後階段會快速檢查。line art modifier 也會產生 silhouette 線。
armature(骨架):可以利用 capsule 或 curve 起點、終點的位置資訊來建立,也就是把骨頭放在那些位置。
grease pencil(蠟筆(Blender 2D 繪圖功能)):字幕中的線條分為生成的線和手繪的線兩種。
line art modifier(線稿修改器):用來生成 silhouette 和 contour lines。預設線條粗細均勻,講者覺得無聊。
contour lines(輪廓線):line art modifier 生成的線條之一。
noise(雜訊):講者加在線條上,讓線條有一點瑕疵、粗糙感。
seed(亂數種子):講者想讓 collection 裡不同物件有不同的 seed,他認為現有 modifier 做不到。
cut-off distance(截止距離):在這個距離線條粗細不變,比它近的變細,比它遠的變粗。
vertex group(頂點群組):決定 modifier 對特定頂點的影響程度。一般只作用在自身物件,講者改成讀取目標物件的。
stroke placement(筆畫放置方式):在 mesh 上繪製時要設為 surface,筆畫才不會出現在 3D cursor 或其他地方。
offset(偏移):筆畫和幾何體之間的距離。講者從 0 開始設定。
3D cursor(3D 游標):字幕提到 stroke placement 沒設成 surface 時,筆畫可能出現在 3D cursor 的位置。
✏️ 小考一題
根據講者的說法,Geometry Nodes 從哪個 Blender 版本開始支援 grease pencil?
A. Blender 4.0B. Blender 3.6C. Blender 4.3D. Blender 4.2看答案
答案:C。講者說 geometry nodes 支援 grease pencil 是「since Blender 4.3」([18:17])。
💛 覺得有幫助?支持一下


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