Input
นำเข้าไฟล์โปรเจกต์ Spine, อินพุตแบบ JSON เท่านั้น, แอสเซ็ตเดโม และแพ็กเกจ ZIP เข้าสู่กราฟ
วัตถุประสงค์: นี่คือจุดเริ่มต้นหลักสำหรับเวิร์กโฟลว์ส่วนใหญ่ โดยจะอ่าน JSON, atlas และ texture แล้วทำให้เป็นข้อมูลภายในรูปแบบมาตรฐานที่โหนดปลายน้ำสามารถประมวลผลต่อได้
โหมดที่รองรับ:
1. โปรเจกต์เต็ม: JSON + atlas + texture
2. JSON เท่านั้น: ประมวลผลข้อมูล skeleton/animation โดยไม่มี atlas
3. แพ็กเกจ ZIP: ไฟล์ zip ที่แพ็กรวมโปรเจกต์ครบชุด
4. แอสเซ็ตเดโม: ข้อมูลตัวอย่างในตัวสำหรับการทดสอบอย่างรวดเร็ว
เอาต์พุตหลัก:
- **payload_out**: ข้อมูลที่ทำให้เป็นมาตรฐานแล้วสำหรับโหนดปรับแต่งประสิทธิภาพ
- **original_json_out**: JSON ต้นฉบับสำหรับการเปรียบเทียบหรือสร้างกลับ
- **atlas_project_out**: โปรเจกต์ atlas ที่ parse แล้วเมื่อมี texture ให้มา
Picture Input
เพิ่มภาพ PNG/JPEG แบบสแตนด์อโลนลงใน viewport เพื่อให้คุณสร้างพรีวิวและภาพสำหรับงานนำเสนอที่สะอาดตายิ่งขึ้นได้
วัตถุประสงค์: ใช้โหนดนี้เพื่อวางภาพลงใน viewport โดยตรงในฐานะเลเยอร์สำหรับการนำเสนอหรือองค์ประกอบช่วยมองเห็น เหมาะเมื่อคุณต้องการตกแต่งฉาก เพิ่มกราฟิกประกอบ และทำให้พรีวิวโปรเจกต์ดูเนี้ยบยิ่งขึ้นก่อนบันทึกวิดีโอหรือเดโม
เวิร์กโฟลว์: โหลดภาพหนึ่งภาพ จากนั้นใช้เครื่องมือของ viewport เพื่อย่อขยาย ย้าย และปรับ z-index ให้ภาพวางอยู่ในคอมโพซิชันได้อย่างถูกต้อง ทำให้สะดวกต่อการสร้างช็อตโชว์เคสที่ดูดีโดยไม่ต้องแตะข้อมูลหลักของโปรเจกต์ Spine
โหนดนี้ทำงานแบบสแตนด์อโลนและไม่มี graph sockets ให้ใช้งาน
Output
รวบรวมผลลัพธ์สุดท้ายและให้คุณดาวน์โหลดข้อมูลที่ปรับแต่งแล้วเป็นไฟล์แยก ชุดไฟล์ที่จัดกลุ่ม หรือไฟล์เก็บถาวรได้
วัตถุประสงค์: ทำหน้าที่เป็นศูนย์กลางการส่งออกสำหรับ JSON ที่ปรับแต่งแล้ว ข้อมูล atlas, texture และ sprite โดยสามารถประกอบผลลัพธ์จากชุด JSON/atlas/texture ชุดเดียว จากหลายชุดไฟล์ หรือจาก sprite เพียงอย่างเดียวเมื่อคุณต้องการเอาต์พุตเป็นภาพโดยไม่ต้องสร้างโปรเจกต์ Spine เต็มรูปแบบใหม่
ตัวเลือกการส่งออก:
- ดาวน์โหลดไฟล์ทีละไฟล์หรือเป็นไฟล์เก็บถาวรเดียว
- ดาวน์โหลดผลลัพธ์แบบแพ็กแล้ว หรือไฟล์เก็บถาวรที่มีไฟล์แบบไม่แพ็ก
- ส่งออก JSON ในรูปแบบกะทัดรัดหรือรูปแบบ pretty-print ที่อ่านง่าย
- ส่งออกข้อมูลโปรเจกต์ Spine ทั้งหมด หรือเฉพาะผลลัพธ์ sprite/image
เวิร์กโฟลว์แบบ chaining: OutputNode ไม่จำเป็นต้องเป็นปลายทางสุดท้ายของกราฟเสมอไป คุณสามารถส่งเอาต์พุตของมันไปยังขั้น pipeline อื่นและรันไฟล์เดิมผ่านการปรับแต่งเพิ่มอีกหลายรอบได้ ในทางปฏิบัติ มีการทดสอบการปรับแต่ง key และ curve ต่อเนื่องได้สูงสุด 3 รอบ
เอาต์พุตหลัก:
- **reconstructed_json_out**: JSON ของ Spine ที่สร้างกลับใหม่
- **original_json_passthrough_out**: การส่งผ่าน JSON ต้นฉบับ
- **payload_out**: payload สำหรับ chaining ต่อ
- **changes**: การเปลี่ยนแปลงจากการปรับแต่งที่รวบรวมไว้
- **atlas_assets**: ทรัพยากร atlas ที่พร้อมส่งออก
RDP
ลดความซับซ้อนของเส้นโค้งแอนิเมชั่นโดยใช้อัลกอริทึม Ramer-Douglas-Peucker (RDP)
วัตถุประสงค์: ลดจำนวนคีย์เฟรมในส่วนภาพเคลื่อนไหวเชิงเส้นหรือใกล้เชิงเส้นโดยลบจุดที่อยู่บนเส้นตรงระหว่างสองส่วนอื่น ๆ
กฎทอง: ปิดใช้งานตามค่าเริ่มต้น ช่วยปกป้องส่วนโค้งที่มีรูปร่างสำคัญ (พื้นที่/ส่วนโค้ง) จากการแบนเป็นเส้นตรง ปิดการใช้งานเฉพาะสำหรับการบีบอัดที่รุนแรงมากขึ้นหลังจากการตรวจสอบด้วยภาพ
คีย์ซ็อกเก็ต: payload_in, payload_out, การเปลี่ยนแปลง
Spline
ปรับเส้นโค้งเส้นโค้งที่เรียบให้กับคีย์เฟรมแอนิเมชั่น ช่วยลดจุดกึ่งกลางที่ไม่จำเป็น
วัตถุประสงค์: ปรับเส้นโค้งให้เรียบโดยยังคงรักษาคุณภาพของภาพไว้
คีย์ซ็อกเก็ต: payload_in, payload_out, การเปลี่ยนแปลง
Refit
ประมาณลำดับคีย์เฟรมที่หนาแน่นโดยมีเส้นโค้ง Bezier น้อยลงเพื่อลดขนาด
วัตถุประสงค์: ปรับให้พอดีกับส่วนโค้งน้อยลงแต่ยังคงอยู่ภายในเกณฑ์ความคลาดเคลื่อน
คีย์ซ็อกเก็ต: payload_in, payload_out, การเปลี่ยนแปลง
Quantizer
ลดความแม่นยำของค่าตัวเลขในคีย์เฟรมและเส้นโค้ง
วัตถุประสงค์: วิธีง่ายๆ แต่มีประสิทธิภาพในการลดขนาดไฟล์โดยการปัดเศษตัวเลขให้เป็นทศนิยมตามจำนวนที่ระบุ
การใช้งาน: สามารถนำไปใช้กับข้อมูลภาพเคลื่อนไหวได้เกือบทุกประเภท มีประสิทธิภาพมากขึ้นเมื่อมีจำนวนคีย์เฟรมสูงขึ้น
ข้อควรระวัง: การหาปริมาณที่รุนแรงเกินไป (ความแม่นยำต่ำ) อาจทำให้เกิดการกระวนกระวายใจหรือภาพผิดปกติในภาพเคลื่อนไหวได้
คีย์ซ็อกเก็ต: payload_in, payload_out, การเปลี่ยนแปลง
Cleanup
ดำเนินการล้างข้อมูลต่างๆ เพื่อลบข้อมูลภาพเคลื่อนไหวที่ซ้ำซ้อนหรือไม่จำเป็น
วัตถุประสงค์: เครื่องมือพิเศษสำหรับการลบข้อมูลที่ซ้ำซ้อนบางประเภทที่เครื่องมือเพิ่มประสิทธิภาพอื่นอาจพลาด
การใช้งาน: เชื่อมต่อเพย์โหลดของคุณกับ 'payload_in' และรับผลลัพธ์จาก 'payload_out' หากคุณต้องการรายงานต่อการเปลี่ยนแปลง ให้ใช้ 'การเปลี่ยนแปลง' ด้วย
ปุ่มซ็อกเก็ต:
- อินพุต: payload_in
- เอาท์พุต: payload_out, การเปลี่ยนแปลง
การล้างข้อมูลที่รองรับในปัจจุบัน:
1. **ลบแทร็กสี/อัลฟ่าที่ไม่ได้ใช้**: ลบไทม์ไลน์สี/อัลฟ่าสำหรับช่องที่ไม่สามารถมองเห็นได้ในระหว่างแอนิเมชั่น
2. **ลบการหมุน IK ที่ซ้ำซ้อน**: ลบคีย์เฟรมการหมุนออกจากกระดูกที่ถูกควบคุมโดยข้อจำกัด IK ด้วยส่วนผสม 100%
3. **ลบคีย์ข้อจำกัดเส้นทาง**: ลบการหมุน/แปลคีย์เฟรมออกจากกระดูกที่ควบคุมโดยข้อจำกัดเส้นทางอย่างสมบูรณ์ (ค่าผสมที่ 100%)
4. **ฆ่าเชื้ออักขระที่ไม่ใช่ภาษาอังกฤษ**: แทนที่อักขระที่ไม่ใช่ภาษาอังกฤษในชื่อ/ตัวระบุ เพื่อหลีกเลี่ยงปัญหาในเครื่องมือดาวน์สตรีม
Scale
ปรับขนาดค่าตัวเลขทั้งหมดในคีย์เฟรมภาพเคลื่อนไหวตามปัจจัยที่ระบุ
วัตถุประสงค์: ปรับขนาดข้อมูลภาพเคลื่อนไหวอย่างสม่ำเสมอ ซึ่งมีประโยชน์สำหรับการปรับขนาดโครงกระดูกตามสัดส่วนหรือปรับความเข้มของภาพเคลื่อนไหว
การใช้งาน: เชื่อมต่อ **payload_in** และรับผลลัพธ์จาก **payload_out**
คีย์ซ็อกเก็ต: payload_in, payload_out
Schneider
ปรับเส้นโค้ง Bezier แบบเรียบให้เหมาะกับคีย์เฟรมแอนิเมชั่นโดยใช้อัลกอริธึมการปรับเส้นโค้งของ Schneider
วัตถุประสงค์: การปรับเส้นโค้งขั้นสูงที่สร้างเส้นโค้ง Bezier ที่ดูเป็นธรรมชาติจากลำดับคีย์เฟรมที่หนาแน่น
ความพร้อมใช้งาน: **โหนด Plus เท่านั้น**
วิธีการทำงาน: อัลกอริธึมของ Schneider วิเคราะห์ตำแหน่งคีย์เฟรมและแทนเจนต์เพื่อสร้างจุดควบคุม Bezier ที่เหมาะสมซึ่งตรงกับการเคลื่อนไหวดั้งเดิมอย่างใกล้ชิด
พารามิเตอร์:
- **Error Tolerance**: ค่าเบี่ยงเบนสูงสุดที่อนุญาตจากคีย์เฟรมดั้งเดิม ต่ำ = แม่นยำยิ่งขึ้น สูงขึ้น = เส้นโค้งที่นุ่มนวลขึ้น
- **มุมมุม**: มุมเกณฑ์ (องศา) ที่ใช้แบ่งเส้นโค้งออกเป็นส่วนๆ
ดีที่สุดสำหรับ:
- ภาพเคลื่อนไหวที่วาดด้วยมือหรือนำเข้าพร้อมคีย์เฟรมจำนวนมาก
- การแปลงการประมาณค่าเชิงเส้นเป็นเส้นโค้ง Bezier ที่ราบรื่น
- ลดจำนวนคีย์เฟรมในขณะที่ยังคงรักษาคุณภาพของเส้นโค้ง
หมายเหตุ: มีความเข้มข้นในการคำนวณมากกว่าอัลกอริทึมที่เรียบง่ายกว่าเช่น RDP แต่ให้คุณภาพเส้นโค้งที่เหนือกว่า
คีย์ซ็อกเก็ต: payload_in, payload_out, การเปลี่ยนแปลง
Physics Constraint Bake
อบ Spine การเคลื่อนไหว PhysicsConstraint ลงในการหมุน/แปลคีย์เฟรมของกระดูก และลบไทม์ไลน์ทางฟิสิกส์
วัตถุประสงค์: แปลงการจำลองฟิสิกส์รันไทม์ให้เป็นคีย์เฟรมที่ชัดเจน ดังนั้นภาพเคลื่อนไหวจึงสามารถกำหนดได้และแก้ไขได้โดยไม่มีข้อจำกัดทางฟิสิกส์ หลังจากการอบ ข้อจำกัดทางฟิสิกส์และไทม์ไลน์ทางฟิสิกส์จะถูกลบออกจากเพย์โหลด
ความพร้อมใช้งาน: **โหนด Plus เท่านั้น**
อินพุต/เอาต์พุต:
- **payload_in** → **payload_out** (อบ)
- **การเปลี่ยนแปลง** (รายการเปลี่ยนแปลงเพิ่มเติม)
การควบคุม:
- **ตัวอย่าง FPS**: อัตราการสุ่มตัวอย่างจำลองสำหรับการอบ
- **การหมุนการอบ**: เขียนปุ่มหมุนการอบ
- **Bake Translation**: เขียนคีย์การแปลแบบอบ
- **Bake Translation (เด็ก)**: ใช้การแปล Bake กับกระดูกเด็กที่ต้องอาศัยการเคลื่อนไหวทางฟิสิกส์
หมายเหตุ:
- ต้องใช้ Spine JSON ดั้งเดิมเพื่อสร้างข้อมูลการจำลองขึ้นใหม่
- ใช้เมื่อคุณต้องการลบข้อจำกัดทางฟิสิกส์แต่ยังคงการเคลื่อนไหวไว้
Attachment Visibility
เพิ่มประสิทธิภาพการเรนเดอร์โดยตั้งค่าไฟล์แนบของช่องให้เป็นโมฆะเมื่ออัลฟ่าเป็นศูนย์
วัตถุประสงค์: ป้องกันไม่ให้เอ็นจิ้นเกมต้องประมวลผลหรือแสดงไฟล์แนบที่มองไม่เห็น
การใช้งาน: กระบวนการ **payload_in**, เอาต์พุตที่ปรับให้เหมาะสม **payload_out** และรายงาน **การเปลี่ยนแปลง** ทางเลือก
คีย์ซ็อกเก็ต: payload_in, payload_out, การเปลี่ยนแปลง
Payload Merger
รวมเพย์โหลดภาพเคลื่อนไหวที่ประมวลผลแล้วหลายรายการกลับเป็นเพย์โหลดเดียวที่เป็นหนึ่งเดียว
วัตถุประสงค์: จำเป็นสำหรับไปป์ไลน์การประมวลผลแบบขนานซึ่งมีการปรับแอนิเมชั่นหรือกลุ่มกระดูกที่แตกต่างกันแยกกันและจำเป็นต้องรวมเข้าด้วยกันใหม่
อินพุต:
- **ฐาน**: น้ำหนักบรรทุกหลัก (โครงสร้างโครงกระดูก)
- **แทนที่**: เพย์โหลดตั้งแต่หนึ่งรายการขึ้นไปที่มีแทร็กมาแทนที่แทร็กฐาน
เอาท์พุท:
- **merged_out**: เพย์โหลดที่รวมเข้าด้วยกัน
ปุ่มซ็อกเก็ต: ฐาน, แทนที่, ผสาน_ออก
Animation Viewer
เครื่องมือภาพสำหรับตรวจสอบและเปรียบเทียบเส้นโค้งแอนิเมชั่นก่อนและหลังการปรับให้เหมาะสม
วัตถุประสงค์: ให้การแสดงคีย์เฟรมและเส้นโค้งแบบกราฟิกสำหรับแทร็กที่เลือก
การใช้งาน: เชื่อมต่อ **before_in** และ **after_in** เพื่อซ้อนทับต้นฉบับและปรับให้เหมาะสม เลือกเชื่อมต่อ **การเปลี่ยนแปลง** เพื่อเน้นแทร็กที่ได้รับผลกระทบ
ปุ่มซ็อกเก็ต: before_in, after_in, การเปลี่ยนแปลง
Animation Filter
กรองแทร็กภาพเคลื่อนไหวตามชื่อภาพเคลื่อนไหว (เช่น 'วิ่ง', 'ไม่ได้ใช้งาน')
วัตถุประสงค์: มีประโยชน์สำหรับการใช้กลยุทธ์การปรับให้เหมาะสมที่แตกต่างกันกับภาพเคลื่อนไหวต่างๆ
การใช้งาน: กรอง **payload_in** ลงใน **payload_out** และแสดง **animation_list** สำหรับการเลือก UI
คีย์ซ็อกเก็ต: payload_in, payload_out,animation_list
Asset Filter
กรองเนื้อหา atlas ตามชื่อ ทำงานในสองโหมด: ก่อนเปิดไฟล์ (กรองข้อความ atlas) หรือหลังเปิดไฟล์ (กรองสไปรต์)
วัตถุประสงค์: ควบคุมว่าเนื้อหาใดที่จะรวมอยู่ในเวิร์กโฟลว์ - ไม่ว่าจะเป็นเนื้อหาใดที่จะแยกออกจาก atlas หรือสไปรท์ที่คลายแพ็กแล้วที่จะรวมไว้ในการบรรจุใหม่
อินพุต/เอาต์พุต:
- โหมด Atlas: **atlas_in** → **atlas_out**
- โหมดสไปรท์: **sprites_in** → **sprites_out**
ปุ่มซ็อกเก็ต: atlas_in, atlas_out, sprites_in, sprites_out
Bone Filter
กรองแทร็กแอนิเมชันของกระดูกตามชื่อกระดูก
วัตถุประสงค์: อนุญาตให้กำหนดเป้าหมายหรือแยกกระดูกเฉพาะออกจากกระบวนการปรับให้เหมาะสม
การใช้งาน: กรอง **payload_in** ลงใน **payload_out**
คีย์ซ็อกเก็ต: payload_in, payload_out
Skin Filter
กรองข้อมูลภาพเคลื่อนไหวและเนื้อหาตามชื่อสกิน
วัตถุประสงค์: ประมวลผลเฉพาะสกินที่ระบุจากโปรเจ็กต์ Spine แบบหลายสกิน
การใช้งาน: กรอง **payload_in** ลงใน **payload_out**
คีย์ซ็อกเก็ต: payload_in, payload_out
Slot Filter
กรองแทร็กแอนิเมชั่นของช่องตามชื่อช่อง
วัตถุประสงค์: มีประโยชน์สำหรับการกำหนดเป้าหมายหรือยกเว้นช่องเฉพาะที่อาจมีข้อกำหนดด้านเวลาหรือการมองเห็นพิเศษ
การใช้งาน: กรอง **payload_in** ลงใน **payload_out**
คีย์ซ็อกเก็ต: payload_in, payload_out
Parameter Filter
กรองแทร็กแอนิเมชันตามประเภทคุณสมบัติ (เช่น การหมุน ขนาด สี)
วัตถุประสงค์: อนุญาตให้ใช้การปรับให้เหมาะสมในภายหลังกับข้อมูลภาพเคลื่อนไหวบางประเภทเท่านั้น
การใช้งาน: กรอง **payload_in** ลงใน **payload_out**
คีย์ซ็อกเก็ต: payload_in, payload_out
Atlas Unpacker
แยกสไปรท์แต่ละตัวจากพื้นผิว Spine atlas
วัตถุประสงค์: แบ่งไฟล์ atlas ออกเป็นสไปรท์คอมโพเนนต์ เพื่อให้สามารถวิเคราะห์ทีละรายการหรือบรรจุใหม่ได้
การใช้งาน: เชื่อมต่อ **atlas_project** จาก InputNode ไปยัง **atlas_project** (หรือ **atlas_project_in** เดิม) บนโหนดนี้ เลือกเชื่อมต่อ **skeleton_json_in** (จาก InputNode's **Original_json**) เพื่อเปิดใช้งานการครอบตัดแบบ mesh-aware (ตัดสไปรท์เป็นขอบเขตตัวถังแบบ mesh แทนที่จะเป็นขอบเขตสี่เหลี่ยม ซึ่งสามารถลดหน่วยความจำพื้นผิวสำหรับการแนบแบบ mesh ได้อย่างมาก)
เอาท์พุต:
- **sprites_out**: อาร์เรย์สไปรท์มาตรฐาน (สำหรับผู้ดู/ผู้แบ่งบรรจุ)
- **sprites_data_out**: ภาพสไปรท์/ข้อมูลเมตาที่แยกออกมา (บันเดิลที่มีโครงสร้าง)
- **atlas_out**: Atlas ส่งผ่านโปรเจ็กต์
คีย์ซ็อกเก็ต: atlas_project, atlas_project_in, skeleton_json_in, sprites_out, sprites_data_out, atlas_out
Atlas Repacker
บรรจุสไปรท์แต่ละตัวลงใน Atlas พื้นผิวใหม่ที่ปรับให้เหมาะสมอย่างน้อยหนึ่งรายการ
วัตถุประสงค์: ปรับหน่วยความจำพื้นผิวให้เหมาะสมและอาจลดการดึงสายโดยการสร้างภาพต่อเรียงที่มีประสิทธิภาพ
การใช้งาน: ยอมรับสไปรท์ผ่าน **sprites_data_in** (บันเดิลสไปรท์ที่มีโครงสร้าง) หรือผ่าน **sprites_out** (อาร์เรย์สไปรท์มาตรฐาน) หากจำเป็นสำหรับการจัดการอัลฟ่า / การบรรจุรูปหลายเหลี่ยม ให้จัดเตรียมโครงกระดูกดั้งเดิมผ่าน **Original_json** ส่งออก atlas ที่แพ็กเป็น **atlas_out**
คีย์ซ็อกเก็ต: sprites_data_in, sprites_out, original_json, atlas_out
Atlas Viewer
เครื่องมือสร้างภาพและวิเคราะห์ atlas น้ำหนักเบาสำหรับตรวจสอบโครงสร้าง atlas ก่อนแกะกล่อง
วัตถุประสงค์: มอบวิธีที่รวดเร็วในการดูตัวอย่างหน้าและภูมิภาค atlas โดยไม่ต้องทำการคลายแพ็กจำนวนมาก ช่วยตรวจสอบโครงสร้าง atlas และระบุภูมิภาคที่ไม่ได้ใช้
การใช้งาน: เชื่อมต่อโปรเจ็กต์ atlas โปรเจ็กต์เดียวกับ **atlas_project** (หรือ **atlas_in** / **atlas**) หรือตรวจสอบชุดของโปรเจ็กต์ atlas ผ่าน **atlas_projects** เลือกเชื่อมต่อโครงกระดูก JSON กับ **json** เพื่อการวิเคราะห์การใช้งาน
คีย์ซ็อกเก็ต: atlas_project, atlas_projects, atlas_in, atlas, json
Atlas Merger
รวมแหล่งที่มา atlas หลายแหล่งให้เป็น atlas ที่รวมเป็นหนึ่งเดียว
วัตถุประสงค์: รวมโปรเจ็กต์ atlas หลายโปรเจ็กต์เป็นโปรเจ็กต์เดียว
อินพุต:
- **atlas_inputs**: อาร์เรย์หลายอินพุตของโปรเจ็กต์ atlas
เอาท์พุต:
- **atlas_out**: รวมโปรเจ็กต์ atlas แล้ว
- **merged_out**: เอาต์พุตที่ผสานแบบเดิม
- **merged_atlas_out**: เอาต์พุตที่ผสานแบบเดิม
ปุ่มซ็อกเก็ต: atlas_inputs, atlas_out, merged_out, merged_atlas_out
ไปป์ไลน์ทั่วไป:
```
InputA → Unpacker → Repacker ─┐
├→ Atlas Merger → Unpacker → Repacker → Output
InputB → Unpacker → Repacker ─┘
```
ก่อน Repacker ข้อมูลจะเป็นสไปรท์แต่ละตัว หลังจาก Repacker มันจะกลายเป็นโปรเจ็กต์ atlas Atlas การควบรวมกิจการจะรวมโปรเจ็กต์ atlas จากนั้น Unpacker สุดท้าย → Repacker Pass จะบรรจุทุกอย่างใหม่ให้แน่นเป็น atlas ที่รวมเป็นหนึ่งเดียวAsset Viewer
แสดงสไปรท์แต่ละตัวจาก atlas ที่คลายแพ็กแล้ว
วัตถุประสงค์: เครื่องมือแก้ไขข้อบกพร่องด้วยภาพสำหรับการจัดการ atlas
การใช้งาน: ยอมรับสไปรท์ผ่าน **sprites_out** (มาตรฐาน) หรือแบบเดิม **sprites_in** / **sprites_data**
ปุ่มซ็อกเก็ต: sprites_out, sprites_in, sprites_data