跳至正文
所有教學

Godot 4 動畫匯入

如何把透明角色動畫匯入 Godot 4:一次真實專案驗證

把 AnimGen Godot 資產包匯入真實專案,保留 SpriteFrames 路徑、FPS 和軸點,並在淺色與深色背景上檢查透明動畫。

AnimGen更新於 9 分鐘閱讀
Godot 4 真實驗證場景:同一個 AnimGen 角色動畫分別顯示在淺色和深色背景上
本文目錄

精靈圖能夠下載下來,並不等於它已經可以放進遊戲。Godot 還要正確找到紋理、讀取全部影格矩形、按預期速度播放動畫,並圍繞穩定的軸點放置角色。

這篇文章使用一個真實的 AnimGen Godot 匯出包,在小型 Godot 4 專案中完成匯入和播放。你可以下載公開 Godot 資產包按步驟操作,也可以直接下載本文使用的完整驗證專案。

Godot 資產包裡有什麼

解壓示範包後,會得到一個命名目錄,其中包含五個檔案:

text
AnimGenDemoGodot/
├── spritesheet.png
├── animation.tres
├── animation.tscn
├── animgen-manifest.json
└── README_Godot.md

它們分別負責不同工作:

  • spritesheet.png 儲存帶透明度的影格像素。
  • animation.tres 是 Godot 4 的 SpriteFrames 資源,裡面的各影格是指向精靈圖區域的 AtlasTexture。
  • animation.tscn 是已經使用該資源、可以自動播放的 AnimatedSprite2D 場景。
  • animgen-manifest.json 記錄與引擎無關的影格矩形、動畫名、FPS、迴圈、圖集尺寸和軸點。
  • README 記錄預期的 res:// 路徑和基礎匯入步驟。

本文示範包有 96 影格,播放速度為 24 FPS。每個區域是 96 × 96 像素,位於一張 960 × 960 的精靈圖中。清單使用底部居中軸點(x: 0.5、y: 0.0),現成場景再把它轉換成居中 Godot 精靈的 (0, -48) offset。

這些數字只描述這份可下載示範。你自己的匯出可能有不同的影格數、FPS、畫布大小、動畫名稱或軸點,應以對應清單為準,不要照抄這裡的數值。

本次 Godot 實測資產包中的 96 影格攻擊精靈圖,由帶透明度的 96 × 96 像素區域排列而成

保持匯出根目錄完整

把整個 AnimGenDemoGodot 目錄複製到 Godot 專案根目錄,結構類似這樣:

text
res://
├── project.godot
├── your-main-scene.tscn
└── AnimGenDemoGodot/
    ├── spritesheet.png
    ├── animation.tres
    ├── animation.tscn
    ├── animgen-manifest.json
    └── README_Godot.md

產生資源使用以下形式的路徑:

text
res://AnimGenDemoGodot/spritesheet.png
res://AnimGenDemoGodot/animation.tres

如果重新命名目錄,或者只移動 .tres、.tscn 中的一個檔案,又沒有同步修改引用,Godot 就會找不到資源。先按原結構複製,等 Godot 匯入 PNG 並確認場景工作,再根據專案規範整理檔案。

如果出現紋理或資源缺失錯誤,先比較目前目錄名與 animation.tres、animation.tscn 頂部的路徑,不要立刻付費重新產生動畫。

開啟現成的 AnimatedSprite2D 場景

最快的檢查方法是開啟 animation.tscn,或者把它放進一個小型測試場景。它已經選擇對應動畫,並開啟了自動播放。

也可以從 GDScript 例項化:

gdscript
var exported_animation := preload(
    "res://AnimGenDemoGodot/animation.tscn"
).instantiate() as AnimatedSprite2D

exported_animation.position = Vector2(640, 500)
add_child(exported_animation)

Godot 的二維精靈動畫說明介紹了 AnimatedSprite2D 和 SpriteFrames 的通用用法。對這份資產包來說,不需要重新切割精靈圖:.tres 已按順序包含全部圖集區域。

如果要使用專案中已有的 AnimatedSprite2D,可以把 animation.tres 賦給 Sprite Frames,再選擇對應動畫。需要相同軸點時,還要複製產生場景中的 offset。僅賦值 SpriteFrames 不會同時複製節點的 offset、位置、縮放或材質。

Godot 4 編輯器中選中的 AnimGenAnimation、24 FPS 的攻擊動畫 SpriteFrames 時間線,以及檢查器中的產生 offset

先核對匯入資料,再評價動作

2026 年 9 月 9 日,我們使用 Godot 4.7.2 stable、macOS 26.5.2 和 Compatibility 渲染器,匯入了沒有修改的公開示範包。驗證專案檢查了以下內容:

檢查項 實際結果
匯出 Schema animgen.sprite-export.v1
動畫 存在 tactician_slash,並且自動播放
影格資料 96 個 AtlasTexture 區域與清單中的 96 個矩形全部一致
播放設定 24 FPS、開啟迴圈,與清單一致
軸點 底部居中軸點及場景 (0, -48) offset 得到保留
執行狀態 0.75 秒後,動畫由第 0 影格推進到第 18 影格
錄製結果 以 24 FPS 錄製 72 影格,得到三秒執行片段

在 Godot 中開啟的 AnimGen 清單,顯示 96 影格、24 FPS、迴圈、影格尺寸、圖集尺寸、軸點以及對應的 SpriteFrames 時間線

這能把“匯入問題”和“動作品質判斷”分開。紋理缺失、切片數量不對或 FPS 錯誤屬於資產包或匯入問題;角色形變、姿態品質、滑步,以及攻擊節奏是否適合遊戲,仍然需要人來觀看和判斷。

在明暗背景上檢查透明度和位置

驗證場景把同一個匯出的 AnimatedSprite2D 例項化兩次,分別放在淺色和深色面板上。

Godot 4.7.2 顯示匯入的 AnimGen 角色:同一動畫分別位於淺色和深色背景上,並帶固定軸點參考線

參考線表示節點的底部中心原點。精靈影格包含透明留白,所以可見的腳可能位於參考線上方;這和節點原點逐影格變化不是一回事。判斷是否需要裁剪或換軸點前,應先播放整段動畫。

播放或下載這段三秒 Godot 真實執行錄屏。它來自實際專案視口,不是網頁重新模擬的動畫。

透明素材至少要在兩種背景上檢查。淺色背景更容易暴露深色邊緣,深色背景則能看出淺色汙染。如果源 PNG 正確,而 Godot 中出現模糊或輪廓,先檢查紋理過濾、縮放和專案渲染設定,再決定是否修改動畫。

讓動畫適合你的遊戲邏輯

匯入成功的是動畫資產,不是完整角色控制器。資產包不會自動增加輸入、碰撞、位移、動畫狀態機,也不會處理 idle、run、jump 和 attack 之間的切換。

接入玩法前,可以按以下順序檢查:

  1. 用 animgen-manifest.json 核對影格數和 FPS。
  2. 決定動畫是否應該迴圈。本文示範的攻擊動作為了檢查而迴圈;正式攻擊通常只播放一次,再回到其他狀態。
  3. 檢查迴圈動畫時至少連續播放幾輪,重點看最後一影格接回第一影格的瞬間。
  4. 保留一條固定基準線,觀察腳部和軸點是否穩定。
  5. 在專案實際使用的渲染器與目標平臺上再次測試。

一個角色有多個動作時,可以先讓每次匯出保留自己的命名目錄,再有計劃地整理資源。直接用一個資產包覆蓋另一個,可能會把不同任務的 PNG、.tres 和清單混到一起。

完整路徑和排障方法見 AnimGen Godot 4 匯入文件。動畫準備好後,再檢視目前匯出格式和權限,產生需要的引擎資產包。你也可以開啟 AnimGen 工作台,從自己的角色開始製作。

查看圖片細節