Alpha 與透明度
哪些匯出格式保得住透明度、直接和預乘有什麼差別、襯底色是做什麼用的,以及怎麼在下決定之前先檢查結果。
在 Celas Studio 裡,你工作時畫布永遠帶著一個 alpha 色版。匯出時活下來多少,完全取決於你挑的格式:有些完美保住它,有些根本表達不了它,還有一種只保住它硬邦邦、非有即無的版本。
哪些格式裝得下它
| 格式 | Alpha |
|---|---|
| PNG(靜態圖、序列、圖集) | 有,無損 |
| WebP(靜態圖、序列、圖集) | 有 |
| JPEG、BMP | 沒有:一律被壓平 |
| MOV (QuickTime) | 有,只有直接 |
| WebM (VP9) | 有 |
| WebP 動畫 | 有 |
| MP4 (H.264 / HEVC) | 沒有:色版控制項被鎖在 RGB |
| GIF 動畫 | 只有硬剪影,見下文,不是柔和的透明 |
對靜態圖、序列或精靈圖集來說,背景提供畫布顏色、黑色、白色和透明。透明只會為 PNG 和 WebP 出現,因為 JPEG 和 BMP 沒有地方放它。挑那兩個之一,對話框會直接這麼說:「JPEG 無法儲存透明度,將以畫布顏色匯出。」,BMP 也以同樣的方式顯示。影像會被壓平到背景設定的那個顏色上,所以如果你需要一張透明的靜態圖,請先把格式換成 PNG 或 WebP。
對影片來說,透明度住在色版控制項裡而不是背景裡:把它設成 RGB + Alpha,而它只在 MOV、WebM 和 WebP 動畫時可用。MP4 會把這個控制項變灰並強制 RGB,因為 H.264 和 HEVC 都根本帶不動 alpha 色版。要做一張透明的動態影像,不管其他設定怎麼樣,MP4 都不是一個選項。
GIF 是特例
GIF 會留一個調色盤項目當作完全透明,而一個像素要嘛是那個項目、要嘛不是。沒有部分 alpha。一道柔邊或一道陰影會變成硬邦邦、有點參差的剪影。要一道乾淨的邊緣,請改匯出 MOV、WebM 或 WebP 動畫,把 GIF 留給那些剪影無所謂的快速預覽。
直接與預乘
在色版設成 RGB + Alpha 的地方,會出現一個顏色控制項,有兩個選項:直接和預乘。它們存的是同樣的透明度,但底下的顏色保存方式不同,而一旦這段片子被合成到別的東西上,這個選擇就有差。
- 直接會把 RGB 值原封不動地照你畫的樣子保留,和 alpha 色版無關,所以一個半透明的紅色像素仍然存成全強度的紅,旁邊配上 50% 的 alpha。
- 預乘會隨著 alpha 下降把顏色朝襯底色混過去,所以一個蓋在黑色襯底上的半透明紅色像素會存成比較暗的紅。有些合成和播放軟體要的是這種格式,而它可以避免在不正確處理 alpha 的軟體裡,柔邊周圍出現一圈淡淡的白邊。
直接是預設值。只有在你要交檔案過去的那個軟體開口要時,才切到預乘。
襯底色
你一挑預乘,背景控制項就會變成襯底色,並提供畫布顏色、黑色或白色,永遠不會有透明,因為預乘需要一個真正的顏色去混進邊緣裡。請挑你實際上會把這段片子合成到上面的那個背景;愈接近,邊緣就愈乾淨。改挑直接則會把這個控制項整個拿掉,因為直接 alpha 把顏色和透明度分開來放,沒有東西可以襯。
檢查結果
影片和 GIF 動畫這兩個對話框都會播一段即時預覽,透明的地方後面襯著八像素的棋盤格,所以你在按匯出之前就準確看得到什麼活得下來、什麼活不下來。GIF 的預覽會跑過最終檔案會經過的同一趟減色,所以你在那裡看到的就是你會拿到的。