LINE 貼圖
我有九支 app,其中三支有夠強的視覺角色可以撐起一套貼圖:紅樓夢模擬器的人物、假名私塾的蛋殼小雞、甘特星球的礦工小孩。三套一起做,72 張。
甘特星球那套已經上架 LINE 貼圖小舖;另外兩套做到可上傳的狀態但還沒送審。這頁講的是製作,不是成績。
紅樓夢模擬器 · 16 張#

這套幾乎沒有從零開始 —— 因為素材庫裡每個角色本來就有八種表情。
十六張貼圖只用到五個角色(賈母、黛玉、寶釵、寶玉、鳳姐),但每一張都是從那八種裡挑一種當參考圖:03 多謝費心 用的是寶釵的 serious、12 我命好苦 用的是黛玉的 crying、13 反了反了 用的是鳳姐的 angry。丟給生圖模型的檔案跟素材庫裡那張是同一個位元組。
所以這套貼圖真正花掉的成本不是「想十六種情緒」,而是幫既有的情緒加上手勢跟貼圖框。素材庫先做好八種表情,這裡就少做一整輪 —— 這是那個決定在別的地方回收的地方。
假名私塾 · 40 張#

這套的設計限制最有意思:它同時是貼圖也是教材。純日文短語看不懂的人不會買,純中文又失去學習的意義,所以三層資訊必須在 370×320 的框裡同時成立、而且在聊天室縮到很小的時候,最先被認出來的要是蛋殼上那個假名。
也因為這樣,這套在去背上踩最多雷 —— 見下面。
甘特星球 · 16 張#

講一點做法#
一、去背不要用一種演算法硬幹#
這是這三套裡最貴的一課。
直覺的做法是找一個去背模型、調參數,調到四十張全對。這條路走不通,因為四十張的失敗模式各不相同:小雞的眼白會被吃掉、蛋殼內部的白會被當背景填掉、假名圈圈裡的白該留該挖不一定、右下角那個離主體很遠的小吊牌會被整個切掉。任何一組全域參數,修好其中一種就會弄壞另一種,你會在原地繞圈。
正確的做法是 80/20:
- 用一種方法把八成做對
- 把每張壓到高對比色(洋紅或純藍)上,一眼掃過去
- 標出有問題的那幾張
- 每張各自挑最適合的方法補,包括用手改
四十張裡有問題的通常四五張。在那四五張上花五分鐘手工,勝過花一小時找一組完美參數 —— 而且後者通常還會製造新的問題。
幾種方法各自的脾氣:
| 方法 | 擅長 | 會壞在哪 |
|---|---|---|
| 通用去背模型(u2net) | 主體連續時形狀保得好 | 吃掉離主體遠的小元素(那個吊牌) |
| 銳邊模型(isnet) | 邊緣乾淨 | 吃掉封閉形狀內部的白(蛋殼) |
| 動漫專用模型 | —— | 對這種畫風太兇,常把身體吃掉,別用 |
| 從邊緣漫溢的色鍵法 | 保得住封閉的白(蛋殼、假名圈圈) | 主體只要有一處跟背景連通就整片吃穿 |
| 分區處理 | 上半用一種、下半用另一種 | 只在需求真的衝突時才值得 |
| 直接用程式重畫 | 錯字、吊牌 | —— 五行程式碼的事,不要為了它去重新生圖 |
假名私塾那套最後是分區處理:蛋殼上的大假名要保留白色,上方短語裡的假名圈圈卻要挖成透明 —— 同一種形狀、兩種相反的需求,只能拆開處理。
二、白邊是留是剝,取決於背景不是取決於你#
生圖模型吐出來的字通常自帶一圈白邊。它在你的螢幕上看起來有點笨,但在聊天室裡它是必需品:

所以驗收一定要在有色背景上做。 在檔案總管裡看縮圖,白邊問題永遠不會現形。LINE 後台有一個「更換背景色確認去背處理」的下拉選單就是為了這件事;等不及上傳的話,自己寫五行程式把貼圖疊到洋紅色上也一樣。
補白邊有一個關鍵細節:只填目前透明的像素。角色臉上的眼鏡框、電鑽的輪廓線也是黑色細線,如果不加這個條件,它們周圍也會被補上一圈白,整張圖就毀了。另外要先把細線侵蝕掉一輪再當種子 —— 毛筆字有八到十五像素粗,撐得過一次侵蝕;兩像素的輪廓線撐不過,自動被排除在外。
三、先做五張#
四十張全部生完才發現風格不對、背景沒去乾淨、中文字寫錯 —— 這是最貴的失敗,而它完全可以避免。
規矩是:先做主圖、標籤、加四到五張貼圖,跑完整條後製流程,上傳到後台在彩色背景上看過,確認沒問題,再生剩下的三十五張。這十分鐘的前置,省掉的是一兩個小時的補救。
四、第一版是丟掉的那一版#
紅樓夢那套最早不是這樣做的。第一版是本機用程式把素材庫的立繪直接加上白邊字幕合成的 —— 完全沒動到生圖模型:

第一版能用嗎?能。而且它便宜得多 —— 素材已經在那裡,只要貼字。但它一眼看得出是「圖片加字」而不是貼圖,差在姿勢。
這正好是素材庫那個取捨的另一面:立繪為了維持八種表情的一致性,把姿勢鎖死了,情緒全靠臉。那個選擇在 app 裡是對的(讀者的視線在對話框旁邊的臉上),但貼圖不一樣 —— 貼圖的情緒有一半在手上。所以最終版必須把立繪丟回生圖模型重畫一次,換來手勢,代價是一致性從「結構上保證」退回「看起來夠像」。
同一批素材,兩個用途,最佳解相反。
留著第一版是有用的 —— 它是那條「為什麼要多花這一步」的證據。
沒講的部分#
- 色鍵漫溢的容差怎麼定,以及背景在同一批輸出裡從灰白格子變成純黑時怎麼自動辨識(這個坑很陰)
- 判斷背景型態時為什麼不能用「很亮或很暗」的合併條件(會從背景吃穿到黑色毛筆字裡)
- 補白邊的侵蝕次數與擴張半徑怎麼配
- 16 句 SNS 短語的標準覆蓋表 —— 一套貼圖要蓋住哪些情境才夠用
- 生圖提示詞怎麼從角色參考圖產生,以及怎麼壓住模型亂寫中文字