匯入圖片

支援的圖片格式

Godot 可匯入下列圖片格式:

  • BMP (.bpm) - 不支援每像素 16 位元的圖片。僅支援每像素 1 位元、4 位元、8 位元、24 位元與 32 位元的圖片。

  • DirectDraw Surface (.dds) - 若紋理中有 Mipmap,則會直接載入 Mipmap。可以使用自定 Mipmap 來製作特效。

  • OpenEXR (.exr) - 支援 HDR (強烈建議用於全景天空)。

  • Radiance HDR (.hdr) - 支援 HDR (強烈建議用於全景天空)。

  • JPEG (.jpg, .jpeg) - 由於檔案格式限制,不支援透明度。

  • PNG (.png) - 匯入時精度限制在每頻道 8 位元 (無 HDR 圖片)。

  • Truevision Targa (.tga)

  • SVG (.svg, .svgz) - SVG 在匯入時會使用 NanoSVG 柵欄化。支援有限。可能無法正確算繪複雜的向量。若為較複雜的向量,建議使用 Inkscape 算繪為 PNG 以獲得最佳效果。此操作可使用 Inkscape 的 命令行界面 (英文) 來自動化。

  • WebP (.webp) - WebP files support transparency and can be compressed lossily or losslessly. The precision is limited to 8 bits per channel.

備註

若使用自行從原始碼編譯的 Godot 編輯器時禁用了特定模組,可能會無法使用某些格式。

匯入紋理

Godot 中的預設操作是將圖片匯入為紋理。紋理保存在視訊記憶體中,無法直接存取。這樣一來也能有效率地繪製。

有許多匯入選項:

../../_images/image_import1.png

偵測3D

通過該選項可以讓 Godot 紋理何時使用於 3D (紋理預設匯入為 2D)。若該選項開啟後,會變更設定,以讓旗標能對 3D 更友善 (Mipmap, Filter 與 Repeat 會變為啟用,Compress 會改為 VRAM)。貼圖也會自動重新匯入。

壓縮

圖片是遊戲中其中一個最大的素材。為了有效率地處理圖片,應該進行壓縮。Godot 依據使用情況,提供了數種壓縮方法。

壓縮模式

  • VRAM 壓縮: 3D 素材中最常見的壓縮方式。可以減少硬碟暫用與記憶體使用 (通常介於 4 倍與 6 倍間)。由於會出現明顯的噪點,建議不要在 2D 素材上使用。

  • Lossless - 無損壓縮: 最常用於 2D 素材。不會顯示出噪點,也有適當地壓縮硬碟空間。雖然通常會使用比 VRAM 壓縮更多的視訊記憶體。該模式也建議用於像素畫 (Pixel Art)。

  • Lossy - 有損壓縮: 有損壓縮適合用於大型 2D 素材。會產生噪點,但比 VRAM 少,且檔案大小比起無損壓縮或無壓縮也小了數倍。此種模式並未降低視訊記憶體使用量,與 Lossless 無損壓縮及 Uncompressed 無壓縮相同。

  • Uncompressed - 無壓縮: 只適用於無法壓縮的格式 (如 raw float 圖片)。

在下表中,分別寫出了四個選項各自的優點與缺點 (good = 最優、 bad = 最差):

無壓縮

Compress Lossless

Compress Lossy

VRAM 壓縮

說明

以原始像素點保存

Stored as Lossless WebP / PNG

Stored as Lossy WebP

依據不同平台,保存為 S3TC/BC 或 PVRTC/ETC

硬碟空間

bad

regular

good 非常小

regular

記憶體佔用

bad

bad

bad

good

效能

regular 普通

regular 普通

regular 普通

good

品質損失

good

good

regular 稍微

bad 中等

載入時間

regular 普通

bad

bad

good

HDR模式

Godot 支援高動態範圍紋理 (.HDR 或 .EXR)。這些紋理最適合用於動態範圍等距柱狀全景天空 (網路上可找到許多結果),該功能取代了 Godot 2.x 版中的 Cubemap。新電腦支援 BC6H VRAM 格式,但仍有許多電腦未支援。

若希望能讓 Godot 確保完全支援各種紋理,請開啟「Force RGBE」選項。

法線貼圖

當使用作為法線映射的紋理貼圖時,只需要紅色與綠色通道。使用一般的紋理貼圖壓縮演算法會產生噪點,使法線映射不那麼好看。RGTC 壓縮格式最適合用於此資料。將該選項強制設為「Enabled」會使 Godot 以 RGTC 壓縮匯入圖片。預設情況下,該選項設為「Detect」則代表若貼圖有用於法線映射,則會自動更改為「Enabled」並重新匯入。

請注意,RGTC 壓縮會影響法線映射圖片。為此則必須手動調整使用該法線映射的著色器。

備註

Godot requires the normal map to use the X+, Y+ and Z+ coordinates, this is known as OpenGL style. If you've imported a material made to be used with another engine it may be DirectX style, in which case the normal map needs to be converted so its Y axis is flipped.

有關更多法線映射的資訊 (包含各種常見引擎的座標順序表),請參考 此處 (英文)

旗標

依據使用情況,匯入圖片為紋理時有許多可調整的設定。

重覆

該設定最常用於 3D,而 2D 中通常會禁用。開啟後會將超過 0,0 ~ 1,1 的 UV 座標設為「Loop」。

重複選項也可設定為 Mirrored (鏡像) 模式。

篩選

當像素點大於實際螢幕像素時,該選項可對像素點作線性插值。如此一來便能讓紋理貼圖看起來更平滑 (更少馬賽克)。該設定通常用於 2D 與 3D,但對於製作像素完美 (Pixel Perfect) 遊戲時則大多會禁用。

Mipmap

若像素小於螢幕,則可使用 Mipmap。開啟 Mipmap 能有效降低縮小紋理時造成的顆粒感。但請記得,在較舊的硬體上 (GLES2,主要為行動裝置),要使用 Mipmap 有一些條件:

  • 紋理的寬與高必須為 2 的倍數

  • 必須開啟「Repeat」

在製作手機遊戲與應用程式時,若像達到完整相容並使用 Minimap,請務必謹記上述條件。

用於 3D 時,建議開啟 Mipmap,可一併提高效能 (小版本的紋理貼圖會用於遠處的物件)。

異向性

若貼圖幾乎與視圖平行時 (如地板),則開啟該選項可藉由降低模糊程度來提供更多細節。

sRGB

Godot uses Linear colorspace when rendering 3D. Textures mapped to albedo or detail channels need to have this option turned on in order for colors to look correct. When set to Detect mode, the texture will be marked as sRGB when used in albedo channels.

警告

Since the texture will have its data modified when sRGB is enabled, this means using the same texture in both 2D and 3D will make the texture display with incorrect colors in either 2D or 3D.

To work around this, make a copy of the texture on the filesystem and enable sRGB on one of the copies only. Use the copy with sRGB enabled in 3D, and the copy with sRGB disabled in 2D.

處理

匯入為紋理貼圖後可套用某些特殊處理至圖片上。

修正Alpha邊界

該處理會將周圍有相同顏色的像素從透明轉變為非透明。可有效減少從 Photoshop 等軟體匯出的圖片中的外框線效果。

../../_images/fixedborder.png

除了需要特殊值,建議保留預設。

Premultiplied Alpha - 預乘 Alpha

另一種修正深色邊框的方法是使用預乘 Alpha。開啟該選項後,紋理貼圖會轉換為此格式。請注意,必須先建立材料,且該材料需在有需要的項目上開啟「Premult Alpha」混合模式。

HDR as sRGB - 將 HDR 轉為 sRGB

有些損壞的 HDR 包含 sRGB 色彩資料。建議不使用這些檔案。但,最糟的情況下,開啟該選項可使這些檔案正確顯示。

翻轉顏色

反轉圖片的色彩。適用於一些情況,如:將外部程式產生的高度映射轉換為深度映射,以於 Spatial Material 中使用。

Svg

縮放

該選項只會套用於 SVG 檔。用於控制 SVG 圖像的縮放。預設的縮放為 (1.0),會使匯入的 SVG 保持原始大小。