
本文目錄
一段角色行走影片,單次播放看起來很自然,整段重複時卻可能每隔幾秒重新起步。放進遊戲後,角色已經在往前走,身體卻又回到準備邁步的姿勢,停頓就會特別明顯。
AnimGen 首頁的水彩女性角色正好能說明這個問題。這次使用角色的 ProRes 4444 透明原始檔:4 秒、24 FPS,共 96 影格。開頭接近站立,隨後進入連續行走。我們從中截出 32 影格,保持 24 FPS,一個週期約 1.33 秒。
開啟原片、迴圈與橫向移動對照。示範預設暫停,點擊播放後可以連續觀察幾輪,也可以分別拖動兩個影片的進度條。
把起步和連續行走分開看
先把完整的 4 秒預覽(MP4,約 1.1 MB)播放一次。前幾影格的步幅較小,角色逐漸邁開腿;後面才出現交替重複的行走動作。
起步本身有用途。遊戲裡的角色從靜止轉為移動時,可以單獨使用這一段。持續行走則需要一個能接回自身的週期:末尾回到開頭以後,雙腳仍按原來的節奏交替,身體沒有突然退回站姿。
選片段時,先觀察腳,再看手臂和衣襬。同一條腿再次來到相近的步態位置,是尋找週期的起點;兩條腿交換前後位置的相似輪廓,可能只走了半個週期。衣服遮住腿時,手臂擺動和腳尖方向可以幫助辨認。
這次選取的是第 33–64 影格
我們在 24 FPS 原始檔中重新核對選區,保留零基索引 32–63 的連續 32 影格。完整預覽和迴圈都從這份 ProRes 匯出,畫面尺寸保持為 496 × 864,沒有補影格或加速。
| 專案 | 完整預覽 | 選出的迴圈 |
|---|---|---|
| 影格數 | 96 | 32 |
| 播放影格率 | 24 FPS | 24 FPS |
| 時長 | 4 秒 | 32 ÷ 24,約 1.33 秒 |
| 在預覽中的位置 | 第 1–96 影格 | 第 33–64 影格 |
| 可下載格式 | WebM,帶 Alpha 透明度 | WebM,帶 Alpha 透明度 |
這裡的“第 33 影格”從 1 開始數。如果工具從 0 開始編號,同一段是索引 32–63。按時間表達,起點為 32 / 24 秒,終點邊界為 64 / 24 秒,也就是約 1.33–2.67 秒,終點邊界處的下一影格不包含在選區中。
保留的來源影格:32, 33, 34, ... , 63(零基索引)
輸出影格數:32
輸出 FPS:24
週期時長:32 / 24 ≈ 1.333 秒
播放順序:32 → 33 → … → 63 → 32 → 33 → …
這組數字用於複核本案例。換一段產生結果,穩定動作出現的位置和一個週期的長度都會變化,需要重新尋找選區。
重點檢查第 64 影格接回第 33 影格
截完後,迴圈播放至少三遍。選區內部本來就是連續畫面,最容易暴露問題的位置是最後一影格跳回第一影格的瞬間。
圖中從左到右依次是原預覽的第 63、64、33、34 影格,對應輸出序列的最後兩影格與最前兩影格。圖片來自透明迴圈檔案,統一合成到淺色背景,人物保持原始比例。
觀察跨過中間接縫時的三件事:腳是否沿原來的方向繼續運動;身體高度和位置是否突然跳變;衣襬有沒有瞬間換成另一種形狀。可以慢速拖動影片看姿勢,再恢復正常速度判斷節奏。
首尾兩影格不必完全相同。正常播放時,每一影格都會保持一小段時間;在末尾再塞入一張與首影格相同的圖片,可能讓同一個姿勢停留兩次,反而形成頓點。更合適的目標是讓最後一影格到第一影格的變化,與片段內部相鄰影格的變化接近。
如果交界處仍然明顯,可以把選區起點或終點前後移動一影格,再播放比較。24 FPS 下,一影格約佔 42 毫秒,少一影格或多一影格都足以改變腳步節奏。每次只動一個邊界,更容易知道哪次調整起了作用。
在編輯器裡保留這一段,先保持 24 FPS
使用這份預覽複核時,在 AnimGen 的精修編輯器中檢視 Source Frames,把中間這 32 影格按原順序放入 Animation Sequence,移除序列裡其他影格。已有序列需要先檢查,避免把同一選區又追加一遍。將輸出 FPS 保持為 24,再開啟迴圈檢查。
具體面板和選影格操作可以參照動畫精修編輯器說明。來源影格位置與輸出序列位置要分開看:擷取後,輸出的第 1 影格已經是原預覽的第 33 影格。
32 影格改用 48 FPS 播放,時長會縮短到約 0.67 秒,人物也會走得更快。這次保留原始檔的全部 24 FPS 動作影格,讓迴圈與原片保持相同的速度。若先丟掉一半影格,再通過重複影格匯出成 24 FPS,丟失的中間姿勢仍不會回來。
本文提供完整片段與迴圈片段的透明 WebM 下載。瀏覽器對照示範使用同一批影格合成的淺底 MP4,兩種預覽保持相同背景和影格率,便於比較動作。製作自己的素材時,可以從透明動畫工作流開始。
| 素材 | 網頁預覽(淺色背景) | 透明素材(保留 Alpha) |
|---|---|---|
| 完整 4 秒片段 | MP4 · 約 1.1 MB | WebM · 約 2.2 MB |
| 32 影格行走迴圈 | MP4 · 約 396 KB | WebM · 約 810 KB |
以上檔案都保持 496 × 864、24 FPS。觀看動作可以開啟 MP4;需要透明背景時,下載 WebM。網頁無需載入約 35 MB 的 ProRes 原片。
讓角色往前走,還要配合場景裡的移動速度
迴圈檔案反覆播放腳步,角色在遊戲世界裡的座標通常由遊戲邏輯更新。將兩者放在一起後,即使迴圈接縫已經比較順,移動速度不匹配仍會產生滑步:腳接觸地面時,身體前進得太快或太慢。
配套的橫向移動示範使用同一份 32 影格透明 WebM 迴圈,同時改變角色在頁面中的位置,預設移動速度為 125 px/s。淺色底來自示範場景,角色影片本身保留透明通道。可以調低或調高移動速度,觀察腳底和地面的相對運動。示範到達右側後會回到左側,這是場景位置重置,和影片內部每 1.33 秒重複一次的步態是兩個獨立過程。
實際放進遊戲時,從正常大小和正常速度開始看。以腳落地的一段為參照,讓它在接觸地面時儘量少滑動,再按玩法調整移動速度或動畫播放速度。縮放角色後也要重新看一遍;同一套動作變大以後,一個步幅在螢幕上對應的距離會跟著變化。
本文的移動示範用於觀察這層關係,沒有把某個網頁速度值寫成角色的標準步速。匯入 Godot 的過程可以接著看透明動畫匯入實測。
把確認好的週期帶到目標專案
選區滿意後,記錄影格數、FPS 和畫布尺寸。匯出後再播放一次,確認步態、透明度和角色位置都與編輯時一致。更換格式或引擎時,重點核對影格序和播放速度,避免 24 FPS 的片段被按其他影格率播放。
遊戲中的精靈圖與獨立 PNG 影格可以參照匯出格式對比選擇;如果透明邊緣仍有殘色,可以繼續調整Alpha 閾值與邊緣去色。
用這份4 秒預覽尋找選區,再與32 影格迴圈預覽對照。給自己的角色製作行走迴圈時,從一個完整步態開始,連續播放幾遍,等動作接順了再接入場景移動。
