ไฟล์ BLP คืออะไร ทำความรู้จักกับรูปแบบไฟล์ภาพจาก Blizzard
ไฟล์ BLP หรือ Blizzard Texture File เป็นรูปแบบไฟล์ภาพที่ถูกพัฒนาโดยบริษัท Blizzard Entertainment เพื่อใช้ในเกมของพวกเขา เช่น World of Warcraft, Warcraft III และ Diablo ไฟล์ชนิดนี้ทำหน้าที่เก็บข้อมูลพื้นผิว (texture) ของตัวละคร อาวุธ สิ่งก่อสร้าง และสภาพแวดล้อมในเกม โดยมีจุดเด่นที่การบีบอัดข้อมูลอย่างมีประสิทธิภาพ ทำให้เกมโหลดพื้นผิวได้รวดเร็วขึ้นและใช้หน่วยความจำน้อยลง ในขณะเดียวกันก็รองรับช่องโปร่งใส (alpha channel) และการสร้างภาพขนาดย่อหลายระดับ (mipmaps) เพื่อปรับปรุงประสิทธิภาพการเรนเดอร์
ไฟล์ BLP ไม่ใช่รูปแบบที่พบเห็นได้ทั่วไปในชีวิตประจำวัน เพราะมันถูกออกแบบมาเฉพาะสำหรับระบบเกมของ Blizzard ดังนั้นโปรแกรมดูภาพทั่วไประบบปฏิบัติการ Windows หรือ macOS จะไม่สามารถเปิดไฟล์นี้ได้โดยตรง จำเป็นต้องใช้เครื่องมือพิเศษหรือตัวแปลงจึงจะสามารถดูหรือดัดแปลงเนื้อหาได้ บทความนี้จะอธิบายโครงสร้างภายในของไฟล์ BLP วิธีการเปิด การแปลง และข้อควรรู้เกี่ยวกับไฟล์ประเภทนี้
โครงสร้างภายในของไฟล์ BLP
ไฟล์ BLP มีโครงสร้างที่ประกอบด้วยส่วนหัว (header) ข้อมูลพาเล็ตสี (palette) และข้อมูลภาพที่ถูกบีบอัด ส่วนหัวจะเก็บข้อมูลพื้นฐาน เช่น ขนาดภาพ จำนวน mipmap และชนิดของการบีบอัด ไฟล์ BLP มีหลายรุ่นย่อย โดยรุ่นที่พบบ่อยที่สุดคือ BLP1 และ BLP2 ซึ่งแตกต่างกันที่การรองรับขนาดภาพสูงสุดและวิธีการจัดการข้อมูลอัลฟ่า

ตารางด้านล่างแสดงองค์ประกอบหลักในส่วนหัวของไฟล์ BLP รุ่น BLP2 ซึ่งเป็นรุ่นที่ใช้ในเกมสมัยใหม่
| ชื่อฟิลด์ | ข้อมูล |
|---|---|
| Magic Number | 4 ไบต์แรกของไฟล์ ซึ่งเป็นรหัสประจำตัวรูปแบบ เช่น "BLP2" สำหรับรุ่น BLP2 |
| Type | ชนิดของภาพ (1 = paletted, 2 = DXT compression) |
| Flags | ค่าสถานะ เช่น การใช้ข้อมูลอัลฟ่า (alpha channel) หรือการมี mipmaps |
| Width, Height | ขนาดความกว้างและสูงของภาพหลัก (ไม่รวม mipmap) เป็นพิกเซล |
| Mipmap Offset & Size | ออฟเซ็ตและขนาดของแต่ละระดับ mipmap (16 รายการ) |
| Palette | พาเล็ตสีขนาด 256 สี (สำหรับภาพชนิด paletted) แต่ละสีเป็นค่า BGRA 32 บิต |
วิธีการบีบอัดในไฟล์ BLP มีสองแบบหลัก แบบแรกคือการใช้พาเล็ต 8 บิต ซึ่งจะอ้างอิงสีจากรายการสี 256 สี ทำให้ไฟล์มีขนาดเล็กแต่คุณภาพสีอาจถูกจำกัด แบบที่สองคือการบีบอัดแบบ DXT (DXT1, DXT3, DXT5) ซึ่งเป็นเทคนิคการบีบอัดแบบบล็อกที่ใช้กันในอุตสาหกรรมเกม DXT5 ให้ความคมชัดสูงและรองรับการไล่ระดับอัลฟ่าได้ดี
นอกจากนี้ไฟล์ BLP ยังจัดเก็บ mipmaps หรือภาพย่อขนาดลดหลั่นกันหลายระดับ เช่น 64x64, 32x32, 16x16 เป็นต้น เพื่อให้เกมสามารถเลือกใช้ภาพขนาดที่เหมาะสมกับระยะห่างของผู้เล่น ช่วยลดภาระการประมวลผลและทำให้ภาพดูเนียนขึ้น

วิธีการเปิดไฟล์ BLP
เนื่องจากไฟล์ BLP เป็นรูปแบบเฉพาะของ Blizzard โปรแกรมมองภาพทั่วไปไม่สามารถเปิดได้ อย่างไรก็ตามมีเครื่องมือฟรีหลายตัวที่สามารถอ่านไฟล์ BLP ได้อย่างมีประสิทธิภาพ ด้านล่างเป็นรายการซอฟต์แวร์ที่แนะนำ
- XnView โปรแกรมดูภาพฟรีที่รองรับหลายภาษาและหลายรูปแบบ รวมถึง BLP สามารถดาวน์โหลดปลั๊กอินเพิ่มเติมเพื่อรองรับ BLP2
- Addon Studio for World of Warcraft ซอฟต์แวร์โอเพนซอร์สที่ออกแบบมาเฉพาะสำหรับการจัดการไฟล์ BLP ในเกม World of Warcraft ใช้ดู แก้ไข และแปลงไฟล์ได้
- BLP Converter เครื่องมือบรรทัดคำสั่งหรือ GUI ที่แปลง BLP เป็น PNG, TGA หรือ JPEG ยกตัวอย่างเช่น BLPtoPNG หรือเครื่องมือจากชุมชน Hive Workshop
- GIMP พร้อมปลั๊กอิน BLP โปรแกรมแก้ไขภาพฟรีที่สามารถเปิดไฟล์ BLP ได้หากติดตั้งปลั๊กอินเพิ่มเติม (เช่น blp-plugin)
- Warcraft III Viewer โปรแกรมที่ใช้เปิดดูทรัพยากรของเกม Warcraft III รวมถึงไฟล์ BLP
การเปิดไฟล์ BLP ด้วย XnView นั้นทำได้ง่าย เพียงดาวน์โหลดโปรแกรมจากเว็บไซต์ทางการ ติดตั้งปลั๊กอิน (หากจำเป็น) แล้วใช้คำสั่ง Open เพื่อเลือกไฟล์ BLP หากไฟล์นั้นเป็นรุ่น BLP1 หรือ BLP2 ทั่วไปก็จะเห็นภาพพื้นผิวนั้นทันที
วิธีการแปลงไฟล์ BLP เป็นรูปแบบอื่น
การแปลงไฟล์ BLP เป็นรูปแบบภาพมาตรฐาน เช่น PNG หรือ JPEG เป็นเรื่องที่จำเป็นสำหรับนัก modder หรือผู้ที่ต้องการนำพื้นผิวเกมไปใช้งานภายนอก มีหลายวิธี ดังนี้

วิธีแรก ใช้โปรแกรมแปลงเฉพาะ เช่น BLP Converter ซึ่งช่วยให้แปลงแบบทีละหลายไฟล์ได้ โดยทั่วไปผู้ใช้สามารถลากไฟล์ BLP มาลงในโปรแกรม เลือกรูปแบบปลายทาง (มักเป็น PNG หรือ TGA) แล้วกดแปลง วิธีที่สอง ใช้โปรแกรมจำลองเกมหรือตัวแก้ไขทรัพยากร เช่น Addon Studio ที่มีความสามารถในการส่งออกไฟล์เป็น PNG วิธีที่สาม ใช้ปลั๊กอินใน GIMP เพื่อเปิดแล้วบันทึกเป็น PNG หรือ JPEG โดยตรง
ควรระวังเรื่องช่องโปร่งแสง (alpha) เมื่อแปลงไปเป็น JPEG เนื่องจาก JPEG ไม่รองรับโปร่งใส ข้อมูลอัลฟ่าจะหายไป หากต้องการคงความโปร่งใส ควรใช้ PNG หรือ TGA แทน นอกจากนี้ไฟล์ BLP บางรุ่นอาจมี mipmaps หลายระดับ เมื่อแปลงมักจะเหลือเฉพาะภาพหลักเท่านั้น
ข้อจำกัดและรุ่นของไฟล์ BLP
ไฟล์ BLP มีวิวัฒนาการหลายรุ่น โดยรุ่นแรกสุดคือ BLP0 ที่ใช้ในเกมรุ่นเก่าอย่าง Warcraft III เวอร์ชันแรกๆ แต่ต่อมาถูกแทนที่ด้วย BLP1 และ BLP2 รุ่น BLP1 มีข้อจำกัดว่าขนาดภาพต้องไม่เกิน 512 พิกเซลในแต่ละด้าน ในขณะที่ BLP2 รองรับขนาดสูงสุดถึง 65,535 พิกเซล ทำให้เหมาะกับเกมสมัยใหม่ที่มีพื้นผิวความละเอียดสูง

นอกจากนี้ใน BLP2 ยังมีการปรับปรุงการบีบอัด เช่น รองรับ DXT5 ซึ่งมีคุณภาพอัลฟ่าสูงกว่า DXT3 และปรับปรุงการจัดเก็บ mipmaps ให้มีประสิทธิภาพมากขึ้น โดยทั่วไปไฟล์ BLP ที่พบใน World of Warcraft จะเป็นรุ่น BLP2 ส่วนไฟล์จาก Warcraft III มักเป็น BLP1 หรือ BLP0
ข้อจำกัดอีกอย่างคือ ไฟล์ BLP มักมีข้อมูลสิทธิ์ที่ป้องกันการนำไปใช้โดยไม่ได้รับอนุญาต แม้ตัวไฟล์จะถูกแปลงเป็นรูปแบบอื่นได้ แต่การใช้พื้นผิวจากเกมเพื่อวัตถุประสงค์เชิงพาณิชย์อาจขัดกับข้อตกลงการใช้งานของ Blizzard ผู้ใช้ควรศึกษาเงื่อนไขก่อนนำไปเผยแพร่
การใช้งานไฟล์ BLP ในเกมต่างๆ
เกมของ Blizzard ที่ใช้ไฟล์ BLP เป็นหลักได้แก่ World of Warcraft, Warcraft III, Diablo II และ Diablo III (ในบางส่วน) ใน World of Warcraft ไฟล์ BLP เก็บพื้นผิวทุกอย่างตั้งแต่ใบหน้าตัวละคร อาวุธ ชุดเกราะ จนถึงพื้นดินและท้องฟ้า เกมจะโหลดไฟล์ BLP ตามระยะที่ผู้เล่นอยู่ โดยเลือกใช้ mipmap ที่เหมาะสม

ใน Warcraft III ไฟล์ BLP ใช้สำหรับภาพหน่วย (unit portraits), ไอคอน (icons) และภาพพื้นหลังในเกม แม้เกมจะรองรับรูปแบบอื่นด้วย แต่ BLP ยังคงเป็นมาตรฐานหลัก ส่วนใน Diablo II มีการปรับเปลี่ยนรูปแบบเล็กน้อย ไฟล์บางส่วนใช้ส่วนหัวคล้าย BLP แต่เป็นเวอร์ชันดัดแปลง
นอกจากนี้ยังมีการใช้ไฟล์ BLP ในเกมอื่นที่ไม่ใช่ของ Blizzard เช่น เกม Speedy Eggbert ซึ่งใช้ไฟล์ .blp แต่เป็นคนละชนิดกัน (เก็บข้อมูลมิดิและบิตแมป) แต่ส่วนใหญ่ที่พบในวงการเกมมักหมายถึงรูปแบบของ Blizzard เท่านั้น
แหล่งอ้างอิง
ข้อมูลทางเทคนิคเกี่ยวกับไฟล์ BLP สามารถศึกษาเพิ่มเติมได้จากแหล่งข้อมูลที่น่าเชื่อถือดังต่อไปนี้
wowdev Wiki หน้า BLP เป็นแหล่งรวมรายละเอียดโครงสร้างภายในของไฟล์ BLP ทั้งรุ่น BLP1 และ BLP2 รวมถึงวิธีการบีบอัดและตาราง offset
Just Solve the File Format Problem หน้า BLP ให้ข้อมูลพื้นฐานเกี่ยวกับรูปแบบไฟล์ การตรวจสอบลายเซ็น และประวัติการใช้งาน
นอกจากนี้ยังมีเว็บไซต์ Solvusoft ที่อธิบายความสัมพันธ์ระหว่างไฟล์ BLP กับเกม Warcraft III และ Hive Workshop ที่ให้ข้อกำหนดเฉพาะของไฟล์ BLP สำหรับ Warcraft III โดยละเอียด





