跳至正文
所有教學

透明 AI 動畫綠邊修復

透明 AI 動畫有綠邊怎麼辦:Alpha 閾值與邊緣去色實測

用同一張 AI 動畫來源影格實測背景閾值、收邊、羽化和邊緣去色,展示綠邊、自然邊緣與品紅反色分別如何出現。

AnimGen更新於 12 分鐘閱讀
AnimGen 使用同一張透明 AI 角色影格對比綠邊、自然邊緣和品紅反色
本文目錄

綠幕背景從動畫裡消失後,髮絲、披風或運動模糊的輪廓上仍可能留著一圈綠色。此時檔案往往已經有透明度,問題出在半透明像素仍儲存著被綠幕汙染的顏色。

我們用一張專門為 AnimGen 產生、版權歸專案所有的銀髮角色復現了這個問題。來源影片為 640 × 640 H.264,像素格式是帶色度抽樣的 yuv420p。匯出範圍為四秒、24 FPS,共 96 影格;下文選用第一影格做單變數對照。所有圖片都使用同一張來源影格、#00ff00 鍵色、clean plate 和生產摳圖流程,只改變圖中標出的一個參數。

同一張透明 AI 動畫影格分別使用 0.00、1.20 和 2.50 的邊緣去色強度

0.00 時,銀髮、披風和鞋底周圍都有明顯綠邊;預設值 1.20 在這張素材上更接近自然邊緣;提高到 2.50 後,輪廓越過中性位置,開始偏品紅。這組三檔圖同時呈現了去色不足和去色過度,比只有“處理前/處理後”的對照更容易判斷參數的有效區間。

透明度與邊緣顏色需要分開檢查

RGBA 像素同時儲存紅、綠、藍和 Alpha。Alpha 決定這個像素在合成畫面裡顯示多少,RGB 決定顯示出來的部分是什麼顏色。

髮絲和抗鋸齒輪廓包含大量半透明像素。綠幕來源影片裡的這些像素,通常混合了角色顏色與綠色背景。Alpha 把背景變透明以後,混在 RGB 裡的綠色不會自動變成中性色。動畫放到深色場景上時,這部分殘色就會顯得格外明顯。

成熟的摳像工具也會把這兩類工作分開。Adobe 的 Ultra Key 參數文件分別設定遮罩產生、遮罩清理和溢色抑制;Blender 的 Keying 節點同樣提供遮罩、邊緣與 despill 參數。

來源影片編碼也會影響邊緣。本次檔案使用 yuv420p,色度資訊的空間解析度低於亮度。高飽和綠色緊貼銀色細發時,壓縮和子像素覆蓋會把顏色帶到相鄰取樣中,即使人物輪廓看起來仍然清晰。

調顏色前先看 Alpha 遮罩

AnimGen 的 Alpha 檢視用白色表示不透明、黑色表示透明、灰色表示部分透明。角色顏色被暫時隱藏後,背景噪點和主體內部的透明洞會更容易發現。

下面這組圖只改變背景清除閾值。主體不透明閾值、收邊、羽化以及三項去色設定全部保持預設值。

背景清除閾值為 0.00、25.92 和 55.00 時的 Alpha 遮罩對比

背景清除閾值為 0.00 時,來源影格與 clean plate 之間的微小差異遍佈整張畫面,在遮罩中形成斑駁的暗灰背景。預設值 25.92 已能把空白區域壓成黑色,同時保留髮絲輪廓。提高到 55.00 後,更多邊緣像素被清除,細線區域隨之收緊。

合適的數值取決於來源影片。平整穩定的背景可以使用更緊的閾值;壓縮噪點、會變化的產生背景、煙霧、輝光和細發需要更寬鬆的過渡。實際調整時,把閾值增加到空白區域剛好乾淨,再回頭檢查角色的細小輪廓。

主體不透明閾值控制同一過渡的另一端。降低它,會讓更多主體區域變成完全不透明;提高它,會保留更寬的半透明區。調整時要同時看臉、衣服、武器等內部區域,避免外輪廓已經乾淨,角色內部卻出現透明破洞。

收邊和羽化負責輪廓形狀

遮罩已經把角色與空白背景分開後,再用兩項參數修整幾何輪廓:

  • 邊緣收縮把輪廓向內移動。少量收邊可以清掉亮邊或殘色邊,數值過大會吞掉髮絲、布料尖端、武器邊緣和細小空隙。
  • 邊緣羽化讓透明到不透明的過渡更平滑。它可以緩解生硬的剪紙感,用得太多則會形成模糊光暈。

AnimGen 按 480 像素參考尺寸顯示這兩個數值,再根據實際匯出解析度換算有效像素半徑。這樣,同一段動畫換一個輸出尺寸時,參數不會完全失去尺度意義。

背景與主體閾值進入合理範圍後,再使用收邊。用收邊掩蓋髒遮罩,會直接切掉真實角色像素。羽化則應在最終交付尺寸下判斷:放大 400% 看起來很柔和的邊緣,縮成 96 像素遊戲角色後可能只剩一圈模糊線。

七個控制項分擔兩類工作

透明度面板把遮罩形狀和顏色修復放在同一處,但每個控制項的作用範圍仍然很明確。

AnimGen 透明度控制面板,邊緣去色強度設定為 2.50

控制項 改變的內容 常見調整原因 數值過大時的風險
背景清除閾值 遮罩的透明端點 清理背景噪點或背景色波動 丟失淺淡邊緣細節
主體不透明閾值 遮罩的不透明端點 讓主體內部更實,或保留更多半透明 邊緣過硬或內部發虛
邊緣收縮 遮罩輪廓半徑 清除貼著輪廓的殘邊 侵蝕髮絲和細線結構
邊緣羽化 遮罩過渡的柔和程度 緩解鋸齒或生硬剪邊 形成模糊光暈
邊緣去色強度 輪廓附近的鍵色修復 去掉綠色或品紅色邊緣 輪廓轉向互補色
內部去色強度 遠離輪廓區域的鍵色修復 清理主體內部反射的鍵色 改變角色原有顏色
去色範圍 邊緣強度過渡到內部強度的寬度 限制強去色作用的區域 把錯誤修正擴散到更大範圍

前四項主要處理 Alpha 形狀,後三項主要處理 RGB 顏色。Alpha 檢視仍然斑駁時,應繼續調遮罩參數;輪廓已經乾淨,只是帶著綠色時,再進入去色參數。

邊緣去色存在有效區間

邊緣去色改變輪廓附近的 RGB,不會改變 Alpha 遮罩。下面三張區域性圖使用完全相同的座標裁切,並保持原始寬高比放大。

放大的銀髮輪廓分別顯示綠色殘色、自然去色和品紅色過度修正

左圖的輪廓形狀已經成立,但髮絲周圍的 RGB 仍然偏綠。中間圖清掉了大部分殘色,同時保留淺色、接近中性的過渡。右圖去掉了過多綠色,紅色和藍色相對變強,於是出現品紅線。

因此,最大去色強度通常不適合作為預設選擇。觀察淺色輪廓和半透明發絲,緩慢增加數值;鍵色不再搶眼時即可停下。如果邊緣已經轉向互補色,應向回收一點。

另外兩項控制項決定顏色修正如何分佈:

  • 內部去色強度在遠離邊緣的位置使用獨立強度。角色本身含有接近鍵色的顏色,或者皮膚、金屬和布料開始偏色時,應降低它。
  • 去色範圍決定邊緣強度向內部強度過渡的寬度,不會改變兩端強度本身。

在本次範例中,預設邊緣去色 1.20、內部去色 0.84、去色範圍 26 是三檔邊緣測試中最自然的一組。它們描述的是這張來源圖和目前摳圖流程,可以當作起點,不能替代對自己動畫的檢查。

下面是中間檔範例使用的完整參數。把七項數值放在一起,方便先復現同一基準,再逐項做單變數調整。

text
背景清除閾值:25.92
主體不透明閾值:70.00
邊緣收縮:0.50
邊緣羽化:0.70
邊緣去色強度:1.20
內部去色強度:0.84
去色範圍:26

這張參數卡適合用來跟隨本文測試。自己的動畫仍要根據 Alpha 檢視、輪廓顏色和運動幅度最大的幾個影格來確定最終數值。

用棋盤格、淺色和深色背景輪流檢查

只看一種預覽背景,很容易漏掉與它顏色接近的缺陷。下面三張圖使用完全相同的 RGBA 像素,只替換了合成背景。

同一張透明角色影格分別放在棋盤格、淺色和深色背景上

  • 棋盤格適合確認 Alpha 覆蓋範圍,也容易發現大塊半透明背景。
  • 淺色背景更容易暴露暗色汙染、過度收邊和主體內部透明洞。
  • 深色背景更容易暴露淺色亮邊,以及銀髮周圍的綠色、藍色或品紅殘色。

本文使用同一影格製作參數對照,是為了保證變數只有一個。正式匯出還要檢查整段動畫:拖到開頭、運動幅度較大的中段和結尾,尋找髮絲或衣襬與鍵色交界的影格,再分別在三種背景上播放迴圈。壓縮噪點和產生背景的輕微變化會隨時間移動,第一影格乾淨不代表後面 95 影格都乾淨。

一套可以重複執行的調參順序

透明動畫出現髒邊時,可以按下面的順序處理:

  1. 恢復預設參數,確認鍵色正確,然後開啟 Alpha 檢視。
  2. 只把背景清除閾值提高到空白區域變黑的位置。
  3. 調整主體不透明閾值,同時確認角色內部保持完整。
  4. 輪廓仍有殘邊時,加入儘可能少的邊緣收縮。
  5. 只有最終交付尺寸下仍顯得生硬時,才增加邊緣羽化。
  6. 回到正常合成預覽,提高邊緣去色,直到鍵色不再搶眼。
  7. 用內部去色和去色範圍限制顏色修正區域,再抽查多個影格,並切換棋盤格、淺色和深色背景。

確定最終交付格式前,可以先匯出幾張 PNG。PNG 能直接檢查 Alpha 和邊緣像素,不會把影片解碼器引入排查過程。影格圖確認正常後,剪輯與網頁交付可以參考 WebM Alpha、ProRes 4444 與 PNG 序列實測;2D 遊戲執行時可以繼續比較精靈圖與 PNG 序列。

邊緣清理中常見的幾個問題

為什麼透明 PNG 仍然有綠色輪廓?

透明度和顏色分別儲存。原綠幕中的半透明像素可能繼續攜帶綠色 RGB,放到新背景上合成時,這些顏色仍會參與畫面。

加大邊緣去色能清掉更多背景嗎?

邊緣去色修復的是 RGB,不會清理 Alpha。背景殘留、主體內部透明和輪廓形狀問題,應使用背景閾值、主體閾值、收邊和羽化處理。

為什麼邊緣變成了品紅色?

輪廓像素中的綠色被去除過多,紅色和藍色相對變強。降低邊緣去色,或者縮小使用較強邊緣修正的範圍即可。

其他動畫可以直接照抄本文數值嗎?

不建議。本次參數來自一段 640 × 640 綠幕來源影片。鍵色、壓縮、角色自身顏色、運動模糊、輸出尺寸和產生背景穩定性都會改變有效區間。

已經有一張包含有效透明度的角色 PNG 時,可以從 AnimGen 透明動畫工作流產生動作,並在匯出前使用這些控制項。先用 Alpha 檢視把遮罩調幹淨,再切換幾種背景檢查顏色,最後保留能通過多影格和目標執行環境檢查的設定。

查看圖片細節