แอนิเมชัน & ตัวนำเข้ารูป (Asset Importer)
ฟีเจอร์พรีเมียม
ทุกอย่างในหน้านี้ — คำสั่ง /gacha import, element ชนิด animation และ open-animation แบบ GLYPH — มีเฉพาะใน Premium เท่านั้น. เวอร์ชันฟรีเล่นได้แค่ open-animation แบบโมเดล 3D (BetterModel / ModelEngine).
เล่น แอนิเมชันแบบ GIF ที่ไหนก็ได้ในเมนู — ไอคอนหมุน, ปุ่มเรืองแสง, หรือฉาก "เปิดตู้" แทนโมเดล 3D — และเอารูปขึ้นเซิร์ฟเวอร์ได้ โดยไม่ต้องแตะ FTP เลย. ฟีเจอร์นี้มี 2 ส่วนที่ทำงานคู่กัน:
- Asset Importer — ดึงรูป PNG หรือ GIF เข้าแพ็กในเกมด้วยคำสั่งเดียว. GIF จะถูกตัดเป็นเฟรมอัตโนมัติ.
- Glyph Animation — element ในเมนูที่วนเฟรมเหล่านั้นทุกไม่กี่ tick. เรนเดอร์แยกต่อผู้เล่น, เล่นครั้งเดียวได้, และใช้ได้กับ ทุก provider รวมถึงโหมด vanilla.
รวมกันแล้วได้ตามสัญญา: สร้างแอนิเมชันครบจบในเกม ไม่ต้องแก้ไฟล์.
ทำไมใช้เฟรม glyph แทนโมเดล 3D?
ไม่ต้องมี ModelEngine, ไม่ต้อง BetterModel, ไม่ต้อง Java 25. มันคือการเรนเดอร์ฟอนต์ล้วน ๆ จึงทนต่อการอัปเวอร์ชัน และทุกเซิร์ฟใช้ได้. การสลับเฟรม = แพ็กเก็ตข้อความเล็ก ๆ 1 อัน และเมนูเห็นแค่เจ้าของ จึงเบามาก.
1. นำเข้ารูปหรือ GIF
/gacha import <url> [name]url— ลิงก์ตรงไปยังไฟล์ PNG หรือ GIF (สูงสุด 2 MB).name— id ที่จะบันทึก (a-z, 0-9,_). ไม่ใส่ก็ได้ (จะดึงจาก URL ให้).
ปลั๊กอินจะดาวน์โหลดนอกเธรดหลัก, ตรวจว่าเป็น PNG/GIF จริง, แล้วเขียนลง provider ที่คุณใช้อยู่ (ItemsAdder / Nexo / Oraxen / vanilla) พร้อมสั่ง rebuild แพ็กให้อัตโนมัติ.
- PNG → รูปเดียวชื่อ
name. - GIF → เฟรม
name_0,name_1,name_2, … (สูงสุด 64) เพื่อให้แอนิเมชันเก็บอัตโนมัติตาม prefix ได้.
รูปที่นำเข้าจะโผล่ใน Library ของ Layout ทันที (แท็บ Custom + All Images).
เซิร์ฟไม่มีอินเทอร์เน็ตขาออก?
วางไฟล์ไว้ที่ plugins/CradGacha/import/ แล้วรัน:
/gacha import file <filename> [name]หลังนำเข้า ให้ เข้าเกมใหม่ (rejoin) หรือรอแพ็กส่งใหม่ เพื่อให้ไคลเอนต์โหลดรูปใหม่.
2. สร้างแอนิเมชันใน /gacha layout
- รัน
/gacha layoutแล้วเปิด Library (ปุ่ม Library บนแถบเครื่องมือ). - คลิก
[ 🎬 Animation ]เพื่อเข้าโหมดเลือกเฟรม. - คลิกรูปทีละอันตามลำดับที่ต้องการให้เล่น. ส่วนหัวจะบอกจำนวนเฟรมและ id ล่าสุดที่เพิ่ง เพิ่ม.
[ ⤺ Undo ]เอาเฟรมสุดท้ายออก. - ตั้งความเร็วด้วย
[ ⏱ Nt ](จำนวน tick ต่อเฟรม) และการเล่นด้วย[ ⟳ mode ]:- loop — เล่นวนไม่รู้จบ.
- once — เล่นจบรอบเดียวแล้วหยุด.
- hold — เล่นรอบเดียวแล้วค้างที่เฟรมสุดท้าย.
- คลิก
[ ✔ Create ]. แอนิเมชันจะติดเคอร์เซอร์ — คลิกเพื่อวาง, ปรับขนาดด้วยแถบเครื่องมือของ element, แล้ว Save.
ระบบจะเขียน element ชนิด animation ลง theme ให้. อัตราเฟรมจำกัดที่ 20/วินาที (interval 2 ≈ 10 fps ให้ความรู้สึกเหมือน GIF ทั่วไป).
สิ่งที่ถูกเขียนลง theme.yml
elements:
my_spin:
type: animation
frames: [ spin_0, spin_1, spin_2, spin_3 ]
interval-ticks: 2 # ticks ต่อเฟรม (2 = 10 fps)
mode: loop # loop | once | hold
scale: 0.4
x: 0.0
y: 0.5หรือชี้ไปที่ชุดเฟรมแบบมีเลขต่อท้ายโดยไม่ต้องพิมพ์ทุกเฟรม:
frames-prefix: spin_ # เก็บ spin_0..spin_(N-1) อัตโนมัติ
frame-count: 8
frame-start: 0 # ไม่ใส่ก็ได้ (ค่าเริ่ม 0)3. GIF แทนโมเดล 3D ตอนเปิดตู้
เฟรมชุดเดียวกันเล่นเป็น แอนิเมชันเปิดตู้ ได้ — ฉากที่โชว์บนเวทีก่อนการ์ดจะปรากฏ — เซิร์ฟที่ไม่มี ModelEngine ก็ได้จังหวะ "เครื่องกำลังเปิด" เหมือนกัน.
ใน config.yml:
model:
enabled: true
provider: GLYPH # แอนิเมชันเฟรมฟอนต์ — ไม่ต้องมีปลั๊กอินโมเดล
glyph:
scale: 2.5 # ขนาดบนจอ
interval-ticks: 2 # 2 = 10 fps
mode: hold # ค้างเฟรมสุดท้ายจนการ์ดโผล่ | loop | once
frames: [ open_0, open_1, open_2, open_3 ]
frames-by-rarity: # ไม่ใส่ก็ได้: ชุดเฟรมต่างกันตามความหายากสูงสุดที่สุ่มได้
LEGENDARY: [ leg_0, leg_1, leg_2, leg_3 ]
duration-ticks: 40 # เล่นนานแค่ไหนก่อนการ์ดจะปรากฏนำเข้า GIF เปิดตู้ก่อน (/gacha import <url> open) จะได้ open_0..open_N แล้วค่อยเอามาใส่ตรงนี้.
เคล็ดลับ & ข้อจำกัด
- จำนวนเฟรม จำกัดที่ 64 และขนาดไฟล์ 2 MB — ทำ GIF ให้สั้นและเล็ก.
- ทุกเฟรมใช้ขนาดเดียวกัน (ยึดตามเฟรมแรก) เพื่อให้เรียงตรงกัน. export GIF ที่ขนาดที่จะเรนเดอร์จริง.
- โหมด vanilla เก็บ glyph ที่นำเข้าไว้ใน
plugins/CradGacha/imported-glyphs.ymlและต่อเข้ากับแพ็กที่ โฮสต์เอง; การ re-zip + ส่งใหม่ทำอัตโนมัติตอนนำเข้า. - ถ้าเฟรมขึ้นเป็น กล่อง แปลว่าไคลเอนต์ยังไม่โหลดแพ็ก — เข้าเกมใหม่ หรือรัน
/gacha doctorเพื่อเช็กสถานะแพ็ก.
ดูเพิ่ม
- Cursor UI — เมนูและ element ทำงานอย่างไร.
- คำสั่ง — รายการคำสั่งทั้งหมด.
- การตั้งค่า — คีย์ตั้งค่าทั้งหมด.