UltKit

PNG 轉 TGA 轉換器

把 PNG 材質、Sprite 與 UI 圖檔轉成 Truevision TGA 檔案,供指定 Targa 為材質輸入格式的遊戲引擎與工具使用。透明像素會寫入 Alpha 色版,去背與遮罩都能照常運作。

圖片轉換器

或將JPG, JPEG, JPE … 檔案拖曳到這裡 ·

每個檔案最大 95 MB· 最多 20 個檔案· 30 分鐘後刪除

輸出

檔案會在我們的伺服器上處理,並於 30 分鐘後刪除。

使用方式

  1. 1

    加入 PNG 材質

    最多可選取 20 個 PNG 檔案,每個不超過 95 MB。一整組貼圖(漫射、法線、粗糙度、遮罩)可以一次批次處理。

  2. 2

    引擎材質請勿開啟調整大小

    將調整輸出圖片尺寸維持在保持原始尺寸,這樣 1024 × 1024 或 2048 × 2048 這類 2 的次方尺寸才不會改變。

  3. 3

    轉換為 TGA

    按下轉換為 TGA,逐一下載檔案或下載 ZIP,再放進引擎的匯入資料夾。

為什麼遊戲引擎與材質工具仍要求 TGA

Truevision 於 1984 年為其 TARGA 影像擷取卡設計了 TGA 格式,1989 年的修訂版 TGA 2.0 加入了頁尾與擴充區,現今多數軟體讀取的就是這些。這個格式簡單到只需幾十行程式碼就能載入:一個短檔頭、一個選用的色彩對照表,接著是原始或遊程編碼的像素。正因如此簡單,遊戲公司在 1990 年代採用它,也讓許多流程至今沒有更換。

實際的理由是 Alpha 與可預測性。32 位元 TGA 一律在色彩旁帶有直通的 8 位元 Alpha 色版,沒有讓匯入程式各自詮釋的 gamma 區塊或色彩描述檔區塊。貼圖美術相信它從 Photoshop、Substance 或 Blender 輸出並進入引擎後,數值完全一致。

Unreal、Source、Unity 與 Blender 的 PNG 轉 TGA

機構規定來源
Unreal Engine可匯入 TGA、PNG、PSD 等;貼圖邊長需為 2 的次方,才能使用 mipmap 與串流—
Source 引擎(vtex)Valve 的貼圖編譯器讀取 TGA 並輸出 VTF;Alpha 決定半透明與遮罩—
Unity直接匯入 TGA,並在建置時依目標平台壓縮—
Blender可讀寫 Targa,輸出提供 RLE「Targa」與未壓縮「Targa Raw」兩種—

PNG

Portable Network Graphics

PNG 是 1996 年由 PNG Development Group 發布的無損點陣圖格式,後來由 W3C 與 ISO 納入標準。它會完整保留每一個像素,支援完整的 Alpha 透明度,處理文字、銳利邊緣和純色區塊時不會產生瑕疵。這樣的精確度使它非常適合螢幕截圖、標誌、圖示和介面圖形。代價是檔案大小:存成 PNG 的相片,往往比同一張相片存成 JPEG 或 WebP 大上好幾倍。所有瀏覽器、作業系統和編輯軟體都能開啟 PNG 檔案。

壓縮方式
無損
透明度
支援
動畫
不支援
推出年份
1996 · PNG Development Group
PNG 轉檔工具

TGA

Truevision TGA(Targa)

TGA 又稱 Targa,是 Truevision 於 1984 年為其顯示卡所建立。它以未壓縮或無損遊程編碼的方式儲存點陣圖,並支援 8 位元 Alpha 色版。結構簡單,使它長期受遊戲貼圖、3D 算圖和影片圖形的青睞。檔案比 PNG 大,瀏覽器和手機也無法顯示 TGA。多數影像編輯器、遊戲引擎和 3D 程式都能讀取。

壓縮方式
無損
透明度
支援
動畫
不支援
推出年份
1984 · Truevision
TGA 轉檔工具

當遊戲引擎、模組工具或算圖流程以帶 8 位元 Alpha 色版的 Targa 貼圖為基準時,PNG 就要轉成 TGA;當貼圖需要在瀏覽器預覽或在該流程之外分享時,再把 TGA 轉回 PNG。

TGA Alpha 色版、RLE 壓縮與 32 位元輸出

RLE(遊程編碼)壓縮 TGA · TGA 影像類型 10
TGA 定義的唯一壓縮方式。連續相同的像素只儲存一次並記錄重複次數,對單色的介面圖與遮罩縮減很多,對照片類貼圖幾乎沒有效果。檔頭影像類型 2 代表未壓縮全彩;類型 10 代表相同資料經遊程編碼。

所有讀取 TGA 的引擎與編輯器都能讀取一般與 RLE 兩種變體,所以對匯入來說選哪種很少有影響。對版本控制比較重要:未壓縮的 TGA 差異比對與儲存都可預測,因此有些公司在資產規範中禁用 RLE。Photoshop 在 Targa 儲存對話框中以「壓縮(RLE)」核取方塊提供相同的選擇。

轉換前要檢查的一件事是 PNG 的 Alpha。許多匯出工具即使對不透明的圖也會寫入完整的 Alpha 色版,引擎便把貼圖當作半透明處理,增加排序與重複繪製的成本。如果 Alpha 沒有意義,請先在編輯器中移除。關於 PNG 本身的格式背景,請見 JPG、JPEG 與 PNG 的差異;當 TGA 需要回到瀏覽器預覽時,TGA 轉 PNG 可做相反的轉換。

PNG 轉 TGA 材質常見問題

轉出的 TGA 是 24 位元還是 32 位元?

含 Alpha 色版的 PNG 會變成 32 位元 TGA:紅、綠、藍與 Alpha 各 8 位元。不透明的 PNG 只需要 24 位元。如果引擎堅持沒有透明度的貼圖也要 32 位元,請在轉換前先為 PNG 加上完全不透明的 Alpha 色版。

PNG 轉 TGA 是無損的嗎?

一般 8 位元 PNG 可以,每個顏色與 Alpha 值都會原樣複製。每色版 16 位元的 PNG(雕刻軟體匯出的高度圖常見)會降為 8 位元,因為 TGA 沒有更深的全彩模式。若引擎接受,這類貼圖請保留為 PNG 或 EXR。

為什麼 TGA 在某個程式裡上下顛倒?

TGA 可以由下往上或由上往下儲存列,並在檔頭用旗標註明。多數工具會讀取旗標;少數老舊檢視器和自行撰寫的載入程式會忽略它,導致圖片上下顛倒。請在載入程式或編輯器中翻轉,而不要重新轉換。

遊戲材質該用 TGA 還是 DDS?

TGA 是你保留並重新匯入的來源檔案;DDS 則存放顯示卡可直接讀取的 GPU 壓縮資料。Unreal 與 Unity 接受 TGA,並會在匯入時自行壓縮。沒有匯入步驟就載入貼圖的模組與較舊引擎常需要 DDS,可用 PNG 轉 DDS 產生。

為什麼 TGA 比 PNG 大這麼多?

PNG 使用 Deflate 壓縮;TGA 最多只有簡單的遊程編碼,僅對單色區域有幫助。一張帶 Alpha 的精細 2048 × 2048 貼圖,以 TGA 未壓縮儲存約 16 MB。引擎在建置遊戲時會再次壓縮,所以磁碟上的大小只影響你的專案資料夾。