入門: 基本工作流程
本指南將協助你快速開始使用 JSON Optimizer。 載入專案: 使用 InputNode 載入你的 .json 、 .atlas 與 .png 檔案。 選擇預設(Plus 模式): 在 Plus 模式下,使用右側面板選擇內建預設之一(例如:"Basic Fallback")。系統會自動為你建立最佳化圖。在 Free 模式下,請手動建立最小圖: InputNode → QuantizerNode → OutputNode 。...
Read article本指南將協助你快速開始使用 JSON Optimizer。 載入專案: 使用 InputNode 載入你的 .json 、 .atlas 與 .png 檔案。 選擇預設(Plus 模式): 在 Plus 模式下,使用右側面板選擇內建預設之一(例如:"Basic Fallback")。系統會自動為你建立最佳化圖。在 Fr
本指南將協助你快速開始使用 JSON Optimizer。 載入專案: 使用 InputNode 載入你的 .json 、 .atlas 與 .png 檔案。 選擇預設(Plus 模式): 在 Plus 模式下,使用右側面板選擇內建預設之一(例如:"Basic Fallback")。系統會自動為你建立最佳化圖。在 Free 模式下,請手動建立最小圖: InputNode → QuantizerNode → OutputNode 。...
Read article本文說明節點圖中插槽使用的資料型別,以及哪些可以彼此連接。 插槽類型 Spine Payload — 多數處理節點使用、適合 runtime 的 Spine 專案表示。 Atlas Project — atlas 中繼資料 + page 圖片,供 atlas 節點使用。 Sprites — 解包後的 sprite 圖片/region(Atlas Unpacker → Asset Viewer / Atlas Repacker)。...
Read articlere-polish 提供兩種訂閱等級,以滿足不同需求。 Free 方案 ✓ 基本節點圖 ✓ JSON 檢視器 ✓ 可在多條軌道播放動畫並可調整動畫之間混合的時間軸 ✓ 有限的優化 ✓ Spine 版本:4.2、4.1、4.0、3.8、3.7 Plus 方案($5/月) ✓ 所有免費功能 ✓ 關鍵幀、曲線、貼圖與骨架縮放最佳化 ✓ 包含資產去重的整體專案最佳化 ✓ 將動畫烘焙為 PNG 序列 ✓ 將物理烘焙為關鍵幀,並整理成平滑曲線...
Read article所有最佳化方法可分為兩種類型: 無損: 這些方法只會移除冗餘資料... 例: Spline 最佳化節點 、 CleanupNode 。 有損: 這些方法會簡化動畫曲線... 例: RDP 最佳化節點 、 QuantizerNode 。 建議: 一律先從無損最佳化開始。只有在需要進一步縮小檔案大小時才使用有損,並務必以視覺方式檢查結果。
Read article要了解優化的有效性,請注意以下指標: 檔案大小: .json 檔案的最終大小是優化的主要目標。 關鍵影格數量: 在「統計」標籤中,您將找到顯示每個動畫中刪除了多少關鍵影格的表格和圖表。 視覺比較: 始終使用「檢視器」標籤比較「之前」和「之後」的動畫。確保有損優化沒有引入不可接受的視覺偽影。 「結果」表中的報告: 在這裡,您可以詳細檢查對資料所做的每項特定變更。
Read article檢視器 分頁會在畫布上方覆蓋一個 控制 面板。它分成三個群組: 動畫控制 動畫 — 選擇正在播放的 Spine 動畫。 外觀 — 選擇套用的外觀。 速度 — 播放速度倍率(0.1× → 3.0×)。 視圖控制 重置視圖 — 還原預設的相機/版面位置。 視圖選項 — 用於定位對比視圖的數值偏移: 間距 X / 間距 Y (原始/優化 之間距離)以及 偏移 X / 偏移 Y (全域位移)。 除錯控制 除錯模式 — 啟用除錯渲染覆蓋層(...
Read articlePerformance 面板會顯示目前播放中的骨架(可為多個)的即時 runtime 指標。 即時 FPS — 由監測器量測的每秒幀數。 Frame Time — 每幀耗時(毫秒,越低越好)。 FPS chart — 以長條顯示最近 120 筆樣本。 骨架指標 Visible Slots — 最近一次取樣時可見的 slot 數量。 Avg. Visible — 可見 slot 的移動平均(比單一幀更穩定)。 Vertices —...
Read article時間軸 面板是位於檢視器底部的可停駐動畫序列器。它可讓您在多個軌道上排列動畫片段、控制播放以及預覽轉場。 軌道 & 片段 最多 4 條動畫軌道 — 每條軌道對應一個 Spine trackIndex 層。較高的軌道會混合在較低軌道之上。 新增動畫 — 點擊任一軌道上的 + 按鈕以開啟動畫選擇器(附搜尋過濾器)。 拖動 & 調整片段大小 — 拖動片段主體沿軌道移動;拖動左/右邊緣可改變起始時間或持續時間。 刪除片段...
Read article錄製器 可將檢視器中的 Spine 動畫擷取為影片、動態圖片或圖片序列。 錄製模式 ⚡ 快速錄製 — 使用 MediaRecorder + captureStream() 進行即時擷取。僅輸出 WebM。速度快但受限於即時幀率。 🎬 HQ 匯出 — 使用 WebCodecs VideoEncoder + readPixels() 進行離線逐幀渲染。支援所有格式並產出像素精確的輸出。 輸出格式 影片 :WebM、MP4、AVI、M...
Read article結果 分頁會顯示詳細的優化輸出。 結果表 — 以「每項變更一列」的方式呈現 JSON 優化結果(例如哪個 動畫/骨骼/屬性/關鍵影格 被修改或移除)。 精靈/圖集對比 — 使用紋理優化時,此區塊會比較精靈尺寸與打包結果。 提示: 使用此視圖來回答: 到底改了什麼?
Read article統計 分頁會以圖表與彙總指標來總結優化結果。 優化圖表 — 視覺化優化對整個資料集的影響(當 JSON 優化產生變更時)。 指標表 — 重要數字,例如原始/新大小與縮減百分比。 紋理打包統計 — 若使用圖集重新打包,會顯示頁數、總/已用面積、效率,以及每頁拆解。 使用此分頁來回答: 整體提升了多少?
Read article以下整理自官方 YouTube 播放清單的完整實例管線。 開啟完整播放清單 範例 Spine2D 實驗 1:RDP 演算法曲線最佳化 — Spine 2D 基礎優化示範:Ramer–Douglas–Peucker(RDP)演算法移除多餘曲線/關鍵影格資料以縮小 JSON。RDP 可能移除重要關鍵影格,因此務必檢查動畫,並在 RDP 節點前用過濾節點排除敏感骨骼/插槽。 在 YouTube 觀看 Spine2D 實驗 2:量化演算法...
Read article將 Spine 專案檔、純 JSON 輸入、示範素材與 ZIP 套件載入至圖表。
用途:這是大多數工作流程的主要入口節點。它會讀取 JSON、atlas 與貼圖,並將其正規化為下游節點可處理的內部資料。 支援模式: 1. 完整專案:JSON + atlas + 貼圖 2. 僅 JSON:在沒有 atlas 的情況下處理 skeleton/animation 資料 3. ZIP 套件:包含完整專案的封裝 zip 4. 示範素材:內建範例資料,便於快速測試 主要輸出: - **payload_out**:供最佳化節點使用的正規化資料 - **original_json_out**:用於比較或重建的原始 JSON - **atlas_project_out**:在提供貼圖時解析後的 atlas 專案
將影片片段轉換為 Spine 工作流程可用的 PNG 影格序列。
這是 Input 選單中的免費輸入工具,適合正式製作流程使用。它支援綠幕的 chroma key,以及針對黑色背景的 unpremultiply 風格 matte 清理。輸出會透過 payload_out 與 atlas_out 提供。
將獨立的 PNG/JPEG 圖片加入 viewport,讓你能建立更乾淨的預覽與展示畫面。
用途:使用此節點可將圖片直接放入 viewport,作為展示圖層或視覺輔助。當你想裝飾場景、加入輔助圖像,並在錄製影片或示範前讓專案預覽看起來更精緻時,它會很有幫助。 工作流程:載入一張圖片後,使用 viewport 工具來縮放、移動,並調整其 z-index,讓它在你的構圖中位於正確位置。這讓你可以在不碰觸主要 Spine 專案資料的情況下,方便地建立吸引人的展示畫面。 此節點為獨立節點,不會公開 graph sockets。 Version: 生成的存根骨架的 Spine JSON 版本格式。 Blending: 生成附件的混合模式(正常、相加、相乘、螢幕)。
載入分層 PSD/PSB 檔案,並產生彼此關聯的 Spine 骨架,保留 Photoshop 場景佈局以便建立精準預覽。
用途:當場景已經先在 Photoshop 裡排好,並且你想把那個圖層堆疊直接轉成 viewer 內一組彼此關聯的 Spine 骨架時,就使用這個節點。每個可見的 PSD 圖層都會依照 PSD 座標變成自己的圖片式骨架,讓 preview 組裝與物件精準擺放變得容易許多。 Viewer 工作流程:生成完成後,你仍然可以在 viewer 內調整 draw order,並把其他骨架放進匯入的 PSD 圖層之間,讓額外的 Spine 角色或 props 直接嵌入 Photoshop 的構圖中。 可用性:免費節點。此節點為獨立節點,不會暴露 graph sockets。 Version: 用於生成圖層骨架的 Spine JSON 版本格式。 Blending: 用於生成 attachment 的混合模式。 Load PSD: 開啟 PSD/PSB 選擇器,並從所選檔案生成彼此關聯的圖層骨架。 File Info: 目前已載入 PSD/PSB 檔案的唯讀摘要。 Layer Count: 將被轉成關聯骨架的可見圖層唯讀數量。 Preflight: 生成前偵測到的圖層名稱問題唯讀報告。
將 Spine 專案資料夾或封存檔載入 graph,並透過 project_out socket 提供 ProjectPayload 給下游的專案感知節點。
用途:這是專案型工作流程的入口節點。它會掃描 Spine 專案資料夾或封存檔、建立 ProjectPayload,並把快取的中繼資料準備給下游節點,例如 Project Viewer、篩選器、Static Bake 與 Deduplicator。 控制項: - **Load Folder**: 透過 File System Access API 開啟系統資料夾選擇器,掃描所選目錄、更新摘要、快取中繼資料,並啟動 file watcher,讓之後的變更可以重新掃描。 - **Browse (Fallback)**: 在沒有 **showDirectoryPicker()** 的瀏覽器中使用隱藏的 **webkitdirectory** input。它可以載入專案,但不會保留持久的目錄 handle,因此無法提供即時監看與可靠的重新掃描。 - **Load Archive**: 將 **.zip** 或 **.spine** 封存載入為虛擬專案樹。以封存為基礎的專案不會保留目錄 handle,因此 **Rescan** 依設計不可用。 - **Rescan**: 在有目錄 handle 可用時,重新掃描先前載入的資料夾。掃描前會再次檢查讀取權限。透過 fallback browse 或 archive 模式載入的專案,通常會顯示目前沒有已載入的目錄。 - **Clear Project**: 停止檔案監看,清除目前的 payload、摘要、execution cache,以及快取的 payload 中繼資料。 - **Reset to Defaults**: 只會重設一般節點控制項。它**不會**卸載目前專案,也不是 **Clear Project** 的替代方案。 - **Drop folder or .zip here**: 接受資料夾與封存檔的 drag-and-drop 入口,並會走相同的載入 pipeline。 輸出: - **project_out**: 包含已掃描樹狀結構、平面檔案清單、大小總計與類型分解的 ProjectPayload,供下游的專案感知節點使用。 - **stats**: 僅在 DEV 提供的診斷輸出。
收集最終結果,並讓你可將最佳化後的資料下載為個別檔案、分組檔案集或封存檔。
用途:它是最佳化 JSON、atlas 資料、貼圖與 sprites 的匯出中樞。它可以從單一 JSON/atlas/貼圖組合、多組檔案集合,或僅 sprites 來組裝結果,適合在你想輸出圖片而不重建完整 Spine 專案時使用。 匯出選項: - 個別下載檔案,或下載成單一封存檔 - 下載已封裝結果,或下載包含未封裝檔案的封存檔 - 以精簡格式或易讀的 pretty-print 格式匯出 JSON - 匯出完整 Spine 專案資料,或僅匯出 sprite/image 結果 串接工作流程:OutputNode 不必一定是圖表的絕對終點。你可以把它的輸出傳到另一個 pipeline 階段,讓相同檔案再跑額外的最佳化流程。實務上,key 與 curve 最佳化已測試到最多連續 3 次迭代。 主要輸出: - **reconstructed_json_out**:重建後的 Spine JSON - **original_json_passthrough_out**:原始 JSON 的直通輸出 - **payload_out**:供進一步串接的 payload - **changes**:收集到的最佳化變更 - **atlas_assets**:可直接匯出的 atlas 資源
簡化動畫曲線(RDP)。
目的:移除位於兩點之間直線上的點,以減少線性或近線性動畫段落的關鍵幀數量。 黃金法則:預設停用。可保護形狀明顯的曲線(面積/曲率),避免被過度拉直為線性。僅在完成目視檢查後、需要更激進壓縮時再關閉。 Socket 鍵:payload_in, payload_out, changes Epsilon: 與原始曲線的最大偏差。較高值會移除更多關鍵幀,但可能會失去曲線細節。 Steep: 曲率靈敏度閾值。保護複雜曲線不被壓平為直線。 Round Mode: 最佳化值的四捨五入模式:無(保留原始)、小數(1位)、整數。 Golden Rule: 啟用時,保護具有顯著形狀/面積的曲線不被 RDP 簡化。 S Run Length: 啟用此範本式拉直之前,所需的連續標準 Spine S 曲線最少數量。設為 0 可停用此功能。 S Deviation: 相對於標準 Spine S 曲線範本允許的正規化偏差,單位為千分比 (0-300)。數值越低代表必須越接近範本;數值越高則會拉直更多接近範本的連續區段。
使用樣條曲線進行曲線最佳化。
目的:在維持視覺品質的情況下進行平滑曲線擬合。 Socket 鍵:payload_in, payload_out, changes Max Error: 樣條擬合允許的最大近似誤差。較低 = 更貼近原始曲線。 Min Group Size: 形成可移除群組所需的最小連續線性關鍵幀數。
以 Bezier 重新擬合以減少關鍵影格數。
目的:在容差範圍內以較少的曲線進行擬合。 Socket 鍵:payload_in, payload_out, changes Error Tolerance: 原始曲線與擬合貝茲曲線之間允許的最大偏差。較低 = 更精確的匹配。 Max Iterations: 曲線擬合的精煉迭代次數。更多 = 更好的擬合但更慢。
降低關鍵影格和曲線中數值的精度。
目的: 通過將數字四捨五入到指定的小數位數來減少檔案大小的簡單但有效的方法。 使用方法: 可應用於幾乎所有動畫資料。關鍵影格計數越高越有效。 注意: 過於激進的量化(低精度)可能會在動畫中引起抖動或視覺偽影。 Precision: 關鍵幀值的小數位數。較少 = 檔案較小但精度較低。
執行各種清理任務以刪除冗余或不必要的動畫資料。
用途:專門用來移除其他最佳化器可能漏掉的特定冗餘資料。 用法:把 payload 接到 'payload_in',從 'payload_out' 取得結果。若你需要逐項變更報告,也可使用 'changes'。 Socket 鍵: - 輸入: payload_in - 輸出: payload_out, changes 目前支援的清理項目: 1. **移除未使用的顏色/alpha 軌道**:移除動畫中從未可見的 slot 之顏色/alpha timeline。 2. **移除冗餘 IK 旋轉**:當骨骼完全由 IK constraint 控制且 mix 為 100% 時,移除其旋轉關鍵影格。 3. **移除路徑約束關鍵影格**:當骨骼完全由 path constraint 控制(mix 為 100%)時,移除旋轉/位移關鍵影格。 4. **清理非英文字符**:替換名稱/識別字中的非英文字符,以避免下游工具出問題。 Remove Unused Color Tracks: 移除從未更改預設值的顏色/Alpha 元件。 Remove Redundant IKRotation: 移除完全由 IK 約束控制的骨骼旋轉關鍵幀。 Remove Redundant Path Constraint Keys: 移除與設定值相同的路徑約束關鍵幀。 Sanitize Non English Characters: 將骨骼/插槽名稱中的非 ASCII 字元替換為安全替代字元。
按指定係數縮放動畫關鍵影格中的所有數值。
目的: 均勻縮放動畫資料,適用於按比例調整骨架大小或調整動畫強度。 使用方法: 連接到有效負載並設定縮放係數。大於1.0的值放大,小於1.0的值縮小。 參數: - **Scale Factor**: 應用於所有位置和大小值的乘數。 - **Include Rotations**: 是否也縮放旋轉值(通常禁用)。 使用案例: - 調整導入動畫的大小以匹配新骨架尺寸 - 創建動畫的誇張或微妙變體 - 批量縮放多個動畫以適應不同角色大小 Scale Bones: 縮放骨骼位置和大小。 Scale Attachments: 縮放附件位置和大小。 Scale Animations: 縮放動畫關鍵幀。 Scale Constraints: 縮放約束參數。 Scale Path: 縮放路徑資料。
使用施奈德曲線擬合演算法將平滑的貝茲曲線擬合到動畫關鍵影格。
目的: 高級曲線擬合,可從密集的關鍵影格序列生成自然外觀的貝茲曲線。 可用性:**僅 Plus 節點**。 工作原理: 施奈德演算法分析關鍵影格位置和切線,生成與原始運動緊密匹配的最佳貝茲控制點。 參數: - **Error Tolerance**: 與原始關鍵影格的最大允許偏差。越低=越準確,越高=曲線越平滑。 - **Corner Angle**: 將曲線分割成段的閾值角度(度)。 最適合: - 具有許多關鍵影格的手繪或導入動畫 - 將線性插值轉換為平滑的貝茲曲線 - 在保持曲線品質的同時減少關鍵影格數量 注意: 比 RDP 等更簡單的演算法計算量更大,但產生更優質的曲線。 Min Segment Size: 處理段所需的最小關鍵幀數。
Bake Physics Constraints to Keys:將 PhysicsConstraint 動作轉為旋轉/位移關鍵影格並移除物理時間軸。
目的: 將執行期物理模擬轉為明確的關鍵影格,使動畫可確定且可在無 PhysicsConstraints 的情況下編輯。Bake 後會從 payload 移除 PhysicsConstraints 與物理時間軸。 可用性:**僅 Plus 節點**。 輸入/輸出: - **payload_in** → **payload_out**(baked) - **changes**(可選變更清單) 控制項: - **Sample FPS**: 模擬取樣率。 - **Bake Rotation**: 寫入旋轉關鍵影格。 - **Bake Translation**: 寫入位移關鍵影格。 - **Bake Translation (Children)**: 對依賴物理動作的子骨骼套用位移 bake。 備註: - 需要原始 Spine JSON 以重建模擬資料。 - 當需要移除 PhysicsConstraints 但保留動作時使用。
通過在 alpha 為零時將插槽的附件設為 null 來優化渲染。
目的: 防止遊戲引擎必須處理或渲染不可見的附件。 使用方法: 分析 alpha/顏色軌道並自動在對應的 'attachment' 軌道上添加或修改關鍵影格。 參數: - **Alpha Threshold**: 將附件視為不可見的 alpha 值。 - **Auto Restore**: 如果啟用,當 alpha 值超過閾值時,節點將自動恢復最後可見的附件。
將多個處理過的動畫有效負載合併回單個統一有效負載。
目的: 對於並行處理管線至關重要,其中不同的動畫或骨骼組被分別優化並需要重新組合。
合併策略:
1. **基礎輸入**: 提供骨架結構(骨骼、插槽、皮膚等)
2. **覆蓋輸入**: 提供替換基礎軌道的處理過軌道
3. **最後寫入優先**: 當多個覆蓋提供相同軌道時,最後一個優先
衝突檢測:
- 覆蓋輸入之間的衝突被檢測並報告
- 基礎 → 覆蓋替換是正常行為(不是衝突)
- 軌道衝突時顯示警告提示
管線範例:
```
Input → AnimFilter('run') → Cleanup ───────┐
→ AnimFilter('idle') → Quantizer ────┤
→ (base) ────────────────────────────→ Merger → Output
```
使用案例:
- 不同動畫使用不同優化器
- 單獨的骨骼/插槽處理後重新組合
- A/B 測試不同的優化策略
Warn conflicts: 當 payload 合併出現衝突時顯示警告。用於在優化前後檢查和比較動畫曲線的視覺化工具。
目的: 為所選軌道提供關鍵影格和曲線的圖形表示。 使用方法: 通過連接 'payload_before' 和 'payload_after' 兩個輸入,它將覆蓋原始和優化的曲線,使您的優化影響更容易視覺化。 Show changed: 僅顯示已更改的動畫。 Animation: 選擇檢視的動畫。 Target: 檢視的目標骨骼/插槽。 Property: 要顯示的屬性(旋轉、位移等)。
Displays a Spine project from the project_in socket for inspection and preview without mutating the incoming data.
Deduplicates atlas projects by consuming project_inputs and returning payloads, atlas_projects, original_jsons, and shared_atlas_out for canonicalized downstream workflows.
The Deduplicator node scans all atlas regions for visually identical or near-identical sprites. It merges duplicates by choosing a canonical representative and remapping references. Several thresholds control detection sensitivity for different sprite types (glow, solid, alpha). Optionally constrains the output canonical atlas dimensions. A verification pass ensures the deduplicated result is visually equivalent to the original within the specified RMSE tolerance. Repack mode: 去重後的重新打包模式。 Glow threshold: 發光效果精靈偵測閾值。 Solid threshold: 實心精靈偵測閾值。 Min sprite area: 分析的最小精靈面積(像素²)。 Alpha hash threshold: 比較的 Alpha 雜湊閾值。 Verification threshold: 去重驗證閾值。 Color rmse threshold: 重複偵測的顏色 RMSE 閾值。 Constrain canonical atlas size: 約束規範圖集大小。 Max canonical atlas width: 規範圖集最大寬度。 Max canonical atlas height: 規範圖集最大高度。
根據動畫名稱(例如 'run'、'idle')篩選動畫軌道。
目的: 對不同動畫應用不同優化策略很有用。 使用方法: 例如,您可以對背景角色動畫應用激進的有損優化(如 DCT),同時對主角動作使用無損優化(如 Spline)。
按名稱過濾圖集資產,以兩種模式工作:解包前(過濾圖集文本)或解包後(過濾精靈)。
目的:控制工作流程中包含哪些資產 - 從圖集解包哪些資產或重新打包中包含哪些已解包的精靈。 模式: 1. 預解包模式(AtlasUnpacker之前): - 輸入:atlas_in (atlas_project) - 輸出:atlas_out (已過濾的atlas_project) - 工作流程:InputNode → AssetFilter → AtlasUnpacker - 使用案例:過濾從圖集解包哪些資產(節省處理時間) 2. 後解包模式(AtlasUnpacker之後): - 輸入:sprites_in (sprites) - 輸出:sprites_out (已過濾的sprites) - 工作流程:AtlasUnpacker → AssetFilter → AtlasRepacker - 使用案例:過濾最終圖集中包含哪些已解包的精靈 UI行為: - 在預解包模式中:解析圖集文本以發現資產名稱 - 在後解包模式中:從精靈陣列中發現資產名稱 - '允許全部'切換:選中時,通過所有資產(列表顯示但禁用) - 複選框:選擇要包含的特定資產(當'允許全部'未選中時) 範例: - 預解包:僅選擇'char_*'資產以僅解包角色精靈 - 後解包:從最終重新打包的圖集中排除'background_*'精靈 - 通過選擇'weapon_*'模式創建僅武器圖集
根據骨骼名稱篩選骨骼動畫軌道。
目的: 允許從優化過程中定位或排除特定骨骼。 使用方法: 您可能希望排除敏感骨骼,例如用於面部表情的骨骼,使其免受激進優化的影響以保留每個細節,同時大量優化不太重要的骨骼。
根據皮膚名稱篩選動畫和資產資料。
目的: 僅處理多皮膚 Spine 專案中的特定皮膚。 使用方法: 當 Spine 專案有多個皮膚(例如 'default'、'armor'、'casual')時,此節點可讓您篩選要包含在處理中的皮膚。 參數: - **Skins List**: 每個可用皮膚的複選框 - **Allow All**: 包含所有皮膚的切換(預設) 使用案例: - 為每個皮膚創建單獨的圖集 - 對不同皮膚應用不同的優化 - 從優化的建構中排除很少使用的皮膚 注意: 皮膚共享骨架結構,但可能有不同的附件。
根據插槽名稱篩選插槽動畫軌道。
目的: 對於定位或排除可能具有特殊時序或可見性要求的特定插槽很有用。 使用方法: 您可以使用它來排除通過代碼切換的武器或效果插槽,使其不受附件可見性優化的影響。
根據屬性類型(例如 rotation、scale、color)篩選動畫軌道。
目的: 允許僅對特定類型的動畫資料應用後續優化。 使用方法: 將此節點放在優化器之前以限制其範圍。例如,您可以僅對 'translation' 和 'scale' 軌道應用 RDP 優化。
從 Spine 紋理圖集中提取單個精靈。
目的:將圖集檔案分解為其組成精靈,允許個別分析或重新打包。 用法:將 InputNode 的 'atlas_project' 輸出連接到此節點的 'atlas_project_in' 輸入。輸出可以發送到 AssetViewer 進行檢查或發送到 AtlasRepacker 進行優化。 ⭐ 網格裁剪:將 InputNode 的 'Original JSON' 輸出連接到 'Skeleton JSON' 輸入,以啟用自動將精靈裁剪到其網格邊界(而不是矩形邊界)。通過移除網格船體外部的透明像素,這可以顯著減少具有網格附件的精靈的紋理記憶體使用量。 輸出: - **sprites_out**: 標準化的 sprites 陣列(供 viewer/repacker 使用) - **sprites_data_out**: 提取出的 sprite 圖片/中繼資料(結構化 bundle) - **atlas_out**: Atlas Project 直通 Socket 鍵: atlas_project, atlas_project_in, skeleton_json_in, sprites_out, sprites_data_out, atlas_out
將單個精靈重新打包到一個或多個新的優化紋理圖集中。
目的: 通過建立高效的精靈表來優化紋理記憶體並可能減少繪製呼叫。 使用方法: 接受 'sprites_data'(通常來自 AtlasUnpacker)並生成新的圖集佈局。 參數: - **Max Texture Size**: 輸出圖集頁面的最大寬度/高度。 - **Padding**: 每個精靈之間的像素距離。 - **Scale**: 在打包之前縮放所有精靈。 - **Power of Two**: 強制輸出圖集尺寸為 2 的冪(例如 1024、2048),某些平台需要。 - **Allow Rotation**: 允許精靈旋轉 90 度以獲得更好的打包效率。
用於在解包前檢查圖集結構的輕量視覺化與分析工具。
目的:提供快速預覽圖集頁面與區域的方法,而無需執行耗時的解包操作。可用於驗證圖集結構並找出未使用的區域。 使用方法:將 InputNode 的 'atlas_project' 輸出連接到 'atlas' 輸入。可選擇將 'original_json_out' 連接到 'json' 輸入以分析區域使用情況。 功能: - 視覺化預覽圖集頁面與區域邊界 - 區域高亮:綠色=使用中,紅色=在 skeleton 中未使用 - 頁面切換控制 - 顯示總區域數與未使用區域數的統計 使用情境: - 優化前快速驗證圖集 - 找出多餘資源(未使用區域) - 除錯圖集打包問題 - 理解資產結構 Socket 鍵: atlas_project, atlas_in, atlas, json Page Info: 圖集頁面尺寸和資訊。 Stats: 面積使用和精靈數量統計。
將多個圖集來源合併為單個統一圖集。
目的: 將多個圖集專案合併為一個。
輸入:
- **atlas_inputs**: 圖集專案的多重輸入陣列
輸出:
- **atlas_out**: 合併後的圖集專案
- **merged_out**: 舊版合併輸出
- **merged_atlas_out**: 舊版合併輸出
使用案例:
- 合併角色圖集和武器圖集
- 合併基礎精靈和 DLC 內容
- 並行圖集處理後重新合併
典型管線:
```
InputA → Unpacker → Repacker ─┐
├→ Atlas Merger → Unpacker → Repacker → Output
InputB → Unpacker → Repacker ─┘
```
Repacker 之前的資料是個別精靈;Repacker 之後成為圖集專案。Atlas Merger 合併圖集專案,然後最終的 Unpacker → Repacker 步驟將所有內容更緊密地打包成單一統一圖集。顯示從解包圖集中提取的單個精靈。
目的: 用於圖集操作的視覺化除錯工具。 使用方法: 接受來自 Atlas Unpacker 節點的 'sprites_data',並允許您視覺化每個提取的圖像、檢查其屬性(尺寸、旋轉等)並驗證解包後的視覺準確性。 Asset select: 選擇檢視的資產。 Pixel stats: 顯示資產的像素統計。