Lottie Player: พรีวิวและตรวจ JSON แอนิเมชันแบบออฟไลน์
พรีวิวแอนิเมชัน Lottie และตรวจ JSON — เวอร์ชัน ขนาด framerate layer tree และ asset count — Lottie inspector ฟรีที่ทำงานออฟไลน์
Table of Contents
Lottie คือฟอร์แมตแอนิเมชันยอดนิยมที่เริ่มต้นจากทีม Airbnb โดยนักดีไซน์ export งานจาก After Effects ผ่านปลั๊กอิน Bodymovin ไปเป็นไฟล์ JSON ขนาดเล็ก แล้วเรนเดอร์ด้วย lottie-web ใน browser หรือ mobile player ได้ทันที ปัญหาคือไฟล์ JSON ที่ส่งมอบมามักไม่มีใครรู้เลยว่าข้างในมีอะไร — เวอร์ชันอะไร ใช้ framerate เท่าไหร่ มี layer กี่ชั้น asset แนบมากี่ชิ้น และโครงสร้างถูกต้องหรือเปล่า
Lottie Player คือเครื่องมือที่ออกแบบมาแก้ปัญหานี้โดยตรง แค่วางหรืออัปโหลดไฟล์ Lottie JSON เข้าไป คุณจะเห็นพรีวิวแอนิเมชันสดบน canvas พร้อมแผง metadata ที่สรุปทุกอย่างสำคัญ และ layer tree inspector ที่ระบุชนิดของทุก layer ทั้ง shape, solid, precomp และ null อีกทั้งยังตรวจความถูกต้องของโครงสร้างให้โดยอัตโนมัติ
ที่สำคัญคือเครื่องมือนี้ทำงาน offline ทั้งหมดใน browser — ไฟล์แอนิเมชันของคุณไม่ถูกส่งไปเซิร์ฟเวอร์ใด ๆ เหมาะกับงานที่ยังไม่เปิดเผยหรือไฟล์ลูกค้าที่ต้องรักษาความลับ
ทำไมต้องใช้ Lottie Player?
- เช็กก่อนเอาไปใช้จริง — นักพัฒนามักได้ไฟล์ .json มาจากดีไซน์เนอร์แล้วเอาไปรันในแอปเลย เจอแอนิเมชันพังค่อยไล่หาสาเหตุ ถ้าพรีวิวและ validate ก่อนตั้งแต่ต้นจะประหยัดเวลาแก้บั๊กมหาศาล
- เห็น metadata ทั้งหมดในพริบตา — เวอร์ชัน Lottie, ขนาด (width/height), framerate, จำนวน layer และ asset แสดงรวมกันในแผงเดียว ไม่ต้องเปิดไฟล์ JSON ธรรมดาแล้วไล่อ่านด้วยตาเปล่า
- สำรวจโครงสร้างด้วย layer tree — inspector แสดงชนิดของทุก layer ว่าเป็น shape, solid, precomp หรือ null ช่วยให้เข้าใจว่าแอนิเมชันถูกประกอบขึ้นจากอะไรบ้าง
- จับโครงสร้างที่ผิดปกติ — ระบบตรวจความถูกต้องของโครงสร้าง JSON จะเตือนเมื่อไฟล์มีรูปแบบไม่ตรงตามที่ player คาดหวัง ก่อนที่ lottie-web จะ throw error ให้ผู้ใช้เห็น
- ปลอดภัยกับงานลับ — ทุกอย่างประมวลผลใน browser แบบ offline ไฟล์ของคุณไม่ออกจากเครื่อง ต่างจากเว็บ validator ทั่วไปที่ต้องอัปโหลดขึ้นเซิร์ฟเวอร์
- ใช้ฟรีและเข้าถึงได้ทันที — ไม่ต้องติดตั้งปลั๊กอิน Bodymovin หรือเปิด After Effects ก็สามารถตรวจไฟล์ได้ทุกที่ที่มี browser
ฟีเจอร์หลัก
| ฟีเจอร์ | ทำอะไร |
|---|---|
| วางหรืออัปโหลดไฟล์ JSON | รับไฟล์ Lottie จากการลากวางหรือเลือกไฟล์จากเครื่องโดยตรง |
| พรีวิวสดบน canvas | เรนเดอร์แอนิเมชันให้เล่นจริง เห็นผลลัพธ์เหมือนที่จะโชว์ในแอป |
| แผง metadata | แสดงเวอร์ชัน Lottie, ขนาด, framerate, จำนวน layer และจำนวน asset |
| Layer tree inspector | ไล่โครงสร้าง layer ทั้งหมดพร้อมระบุชนิด เช่น shape, solid, precomp, null |
| การตรวจความถูกต้อง | validate โครงสร้าง JSON เพื่อจับปัญหาก่อนนำไปใช้ใน production |
| ทำงาน offline 100% | ประมวลผลทุกอย่างในเครื่อง ไม่มีการอัปโหลดข้อมูลไปที่ใด |
รายละเอียดที่น่าสนใจเพิ่มเติม:
- การพรีวิวสดคือความจริงระดับ pixel — แอนิเมชันที่เล่นบน canvas ของเครื่องมือคือผลลัพธ์ที่ lottie-web จะเรนเดอร์จริง ถ้าเล่นได้ที่นี่ ก็มักเล่นได้ในแอปคุณด้วย
- asset count ช่วยประเมินขนาดงาน — ไฟล์ที่มี asset จำนวนมากมักหมายถึงขนาดไฟล์ใหญ่และการเรนเดอร์ที่หนักขึ้น การเห็นตัวเลขชัด ๆ ช่วยตัดสินใจว่าควร optimize หรือไม่
วิธีตรวจไฟล์ Lottie
- เปิด Lottie Player ใน browser แล้วลากไฟล์ .json มาวางลงช่องอัปโหลด หรือกดเลือกไฟล์จากเครื่อง
- ดูพรีวิวบน canvas ทันทีที่โหลดเสร็จ เล่นดูว่าแอนิเมชันเคลื่อนไหวถูกต้อง จบวงรอบสมบูรณ์ ไม่มีวัตถุใดกระพริบหรือหายไป
- อ่านแผง metadata เทียบกับสเปกที่ดีไซน์เนอร์บอกมา — เวอร์ชัน Lottie ตรงกันไหม ขนาดเป็นแบบที่ตกลงกันหรือเปล่า framerate กี่ fps
- สำรวจ layer tree inspector ดูว่ามี layer ชนิดใดบ้าง โดยเฉพาะ precomp ซ้อนลึกหรือ asset ที่อ้างอิงภายนอกซึ่งอาจเป็นจุดเสี่ยง
- เช็กผลการตรวจความถูกต้องของโครงสร้าง ถ้ามีปัญหาให้ส่งกลับไปแก้ที่ไฟล์ต้นฉบับก่อนส่งมอบต่อ
ทั้งกระบวนการนี้ใช้เวลาไม่กี่นาทีต่อไฟล์ และทำซ้ำได้เร็ว ๆ เมื่อดีไซน์เนอร์ส่งเวอร์ชันแก้ไขมาใหม่
ข้างในไฟล์ Lottie JSON มีอะไร
ไฟล์ Lottie คือ JSON ธรรมดาที่มีโครงสร้างตายตัว ระดับบนสุดจะบอกคุณสมบัติหลักของแอนิเมชันทั้งหมด:
{
"v": "5.9.0",
"fr": 30,
"w": 512,
"h": 512,
"layers": [],
"assets": []
}
- v คือเวอร์ชันฟอร์แมต Bodymovin ที่ใช้ export — เวอร์ชันใหม่กว่าที่ lottie-web ในแอปคุณรองรับอาจทำให้เรนเดอร์ผิดหรือเล่นไม่ได้เลย
- fr คือ framerate (เฟรมต่อวินาที) และ w/h คือขนาด stage — สองค่านี้กำหนดความลื่นและสัดส่วนของแอนิเมชันเมื่อย่อขยาย
ต่อลงมาในอาร์เรย์ layers คือหัวใจของไฟล์ แต่ละ layer มีชนิดต่างกัน เช่น shape (กราฟิกเวกเตอร์วาดใน AE), solid (สี่เหลี่ยมสีพื้น), precomp (composition ซ้อน ทำให้ไฟล์เป็นต้นไม้ซ้อนกัน), null (layer โปร่งใสใช้เป็นจุดควบคุมการขยับ) และ image ที่อ้างอิงมาจากอาร์เรย์ assets การเห็น layer tree ทั้งหมดช่วยให้คุณประเมินว่าแอนิเมชันซับซ้อนแค่ไหน
การ validate จะจับปัญหาหลายระดับ: JSON parse ไม่ผ่าน, ฟิลด์จำเป็นขาดหาย, ค่าที่มี type ผิด, การอ้างอิง asset ที่ไม่มีอยู่จริง หรือโครงสร้าง layer ที่ผิดรูปแบบ ปัญหาเหล่านี้เมื่อถึง lottie-web มักกลายเป็น exception ที่หน้าจอว่างเปล่า
ข้อควรระวังกับ export จาก Bodymovin คือผลลัพธ์อาจ "ผ่าน" ตั้งแต่ export แต่ยังมีความประหลาดซ่อนอยู่ เช่น expression ของ After Effects ที่ไม่ถูกแปลง, เอฟเฟกต์บางชนิดที่ player ไม่รองรับ หรือ gradient ที่เรนเดอร์ผิดเฉด การพรีวิวสดจึงสำคัญกว่าการอ่าน metadata อย่างเดียว ต้องเล่นดูจริงด้วยตาคุณเอง
และนี่คือเหตุผลที่การตรวจแบบ offline สำคัญกับดีไซน์ที่ยังไม่เปิดเผย แอนิเมชันเปิดตัวสินค้าใหม่หรืองานโฆษณาที่ยังไม่ประกาศเป็นข้อมูลลับทางธุรกิจ การอัปโหลดขึ้นเว็บ validator ออนไลน์ทั่วไปเท่ากับปล่อยของก่อนเวลา เครื่องมือที่ประมวลผลในเครื่องคุณเองตัดความเสี่ยงนี้ออกไปทั้งหมด
กรณีใช้งานจริง
QA งานส่งมอบจากดีไซน์เนอร์
ทีมแอปได้รับไฟล์ loading animation จากดีไซน์เนอร์ ก่อน merge เข้าโปรเจกต์ dev เอาไฟล์มาเปิดใน Lottie Player พบว่า framerate เป็น 60fps ทั้งที่มาตรฐานทีมใช้ 30fps และมี precomp ซ้อน 3 ชั้นที่อาจทำให้เรนเดอร์หนักเกินบนมือถือรุ่นเก่า ข้อเสนอแก้ถูกส่งกลับไปก่อนส่งมอบ — เร็วกว่าการรอเจอปัญหาตอนรันบนเครื่องจริงหลายเท่า
Debug แอนิเมชันที่พังใน lottie-web
เว็บไซต์โชว์พื้นที่ว่างเปล่าแทนแอนิเมชัน และ console โยน error จาก lottie-web ทีม dev คัดลอกเนื้อไฟล์ JSON มาวางในเครื่องมือ พบว่าเวอร์ชันฟอร์แมตเป็น 5.10 ขณะที่ lottie-web ในเว็บเป็นรุ่นเก่าที่รองรับแค่ 5.7 พร้อมกันนั้น layer tree ชี้ให้เห็น image asset ที่ถูกอ้างอิงแต่ไม่มีในอาร์เรย์ assets จุดพังสองจุดถูกหาเจอในไม่กี่นาที
Audit ไฟล์ที่ asset เยอะจนหนักเกิน
แอนิเมชัน hero section ของ landing page ใหญ่เกินงบโหลด การเปิดดู metadata เห็นว่ามี asset รูปภาพแนบมา 40 ชิ้น ซึ่งทำให้ JSON บวมเกินจำเป็น ทีมตัดสินใจให้ดีไซน์เนอร์ลดภาพบิตแมปและเปลี่ยนเป็น shape ที่เป็นเวกเตอร์แทน ขนาดไฟล์ลดลงมากโดยหน้าตาแอนิเมชันแทบไม่ต่าง
สอนฟอร์แมต Lottieให้ทีมเข้าใจ
ทีมที่เพิ่งเริ่มใช้ Lottie อยากรู้ว่า precomp กับ null layer ต่างกันอย่างไร แทนที่จะอธิบายลอย ๆ ทีมลีดเปิดไฟล์จริงในเครื่องมือ ให้ทุกคนดู layer tree พร้อมกัน แล้วชี้ว่า layer ชนิดไหนทำหน้าที่อะไร การเรียนรู้จากไฟล์จริงทำให้คุยกับดีไซน์เนอร์ได้ตรงประเด็นขึ้นมาก
แนวทางปฏิบัติที่ดี
- ตรวจไฟล์ทุกครั้งก่อน merge — ทำให้การเปิดดูใน Lottie Player เป็นขั้นตอนบังคับใน workflow รับไฟล์จากดีไซน์เนอร์ เหมือนกับที่คุณ review code
- เทียบเวอร์ชันฟอร์แมตกับ runtime ของคุณ — จดเวอร์ชัน lottie-web หรือ mobile player ที่แอปใช้ไว้ แล้วเช็กว่าเวอร์ชันในไฟล์ไม่สูงกว่านั้น
- เล่นพรีวิวจนจบวงรอบอย่างน้อย 2-3 รอบ — บางปัญหาปรากฏเฉพาะช่วง loop ย้อนกลับหรือเฟรมสุดท้าย ไม่เห็นถ้าเล่นผ่านครั้งเดียว
- ระวัง precomp ซ้อนลึกและ asset จำนวนมาก — โครงสร้างแบบนี้เป็นสัญญาณของการเรนเดอร์ที่หนัก ควรถามดีไซน์เนอร์ว่าจำเป็นจริงหรือยุบได้
- แชร์ผลตรวจเป็นภาษาเดียวกับดีไซน์เนอร์ — บอกด้วยคำที่เขาเข้าใจ เช่น "framerate เป็น 60 แต่ spec ต้อง 30" หรือ "image asset อ้างอิงหาย 1 ชิ้น" แทนคำว่า "JSON พัง"
- ใช้คู่กับเครื่องมือเวกเตอร์อื่น — งานแอนิเมชันมักเกี่ยวเนื่องกับ SVG และ CSS การมี toolkit ครบช่วยให้ครอบคลุมทั้ง pipeline
เริ่มตรวจไฟล์ Lottie ของคุณตอนนี้เลย
อย่ารอให้แอนิเมชันพังใน production Lottie Player ฟรี ทำงานออฟไลน์ทั้งหมดใน browser วางไฟล์ JSON ลงไปปุ๊บ พรีวิว metadata และ layer tree ปรากฏให้เห็นทันที ลองเลยวันนี้ — ไฟล์แรกที่คุณจับได้ อาจมีเวอร์ชันผิดหรือ asset หายอยู่แล้วโดยไม่รู้ตัว
เครื่องมือที่เกี่ยวข้องที่คุณอาจสนใจ:
- SVG Optimizer — ลดขนาดไฟล์ SVG ให้กระชับก่อนนำไปใช้ในเว็บ
- CSS Animation Generator — สร้างแอนิเมชัน CSS แบบไม่ต้องเขียน keyframes เอง
- SVG Path Editor — แก้ไข path ของกราฟิกเวกเตอร์แบบละเอียด
ขอให้เคลื่อนไหวอย่างสนุก!
คำถามที่พบบ่อย
ถ: เครื่องมือนี้รองรับไฟล์ .json ที่ export จาก Bodymovin ทุกเวอร์ชันไหม?
ตอบ: เครื่องมืออ่านไฟล์ JSON ที่มีโครงสร้างตามฟอร์แมต Bodymovin ได้ และแผง metadata จะแสดงเวอร์ชันที่ไฟล์ระบุไว้ให้คุณเทียบกับ runtime ที่แอปของคุณรองรับ ถ้าโครงสร้างผิดปกติระบบตรวจจะแจ้งเตือน
ถ: ไฟล์แอนิเมชันของฉันถูกอัปโหลดขึ้นเซิร์ฟเวอร์หรือไม่?
ตอบ: ไม่ เครื่องมือทำงาน offline ทั้งหมดใน browser ไฟล์ JSON ของคุณถูกประมวลผลในเครื่องเท่านั้น จึงปลอดภัยกับงานที่ยังไม่เปิดเผยหรือไฟล์ลูกค้า
ถ: พรีวิวเล่นได้ปกติ แสดงว่าแอนิเมชันจะทำงานได้ในแอปของฉันแน่นอนไหม?
ตอบ: พรีวิวคือสัญญาณที่ดีมากแต่ไม่ใช่การรับประกัน 100% เพราะผลลัพธ์สุดท้ายยังขึ้นกับเวอร์ชัน player และอุปกรณ์จริง อย่างไรก็ตาม ถ้าพรีวิวพังหรือระบบตรวจแจ้งปัญหา แสดงว่าไฟล์มีความเสี่ยงสูงแน่นอน
ถ: จำนวน asset ใน metadata บอกอะไรได้บ้าง?
ตอบ: มันช่วยประเมินน้ำหนักของไฟล์ ไฟล์ที่มี asset จำนวนมากมักมีขนาดใหญ่และต้องใช้แรงเรนเดอร์มากขึ้น โดยเฉพาะบนมือถือ ถ้าตัวเลขสูงผิดปกติควรพิจารณา optimize ก่อนใช้งาน
ถ: ใช้เครื่องมือนี้บนมือถือได้ไหม?
ตอบ: ได้ เพราะทุกอย่างรันใน browser โดยไม่ต้องติดตั้งอะไร เพียงเปิดหน้าเครื่องมือแล้วอัปโหลดไฟล์จากเครื่องได้เลย