คู่มือ / การก่อสร้างและทรัพยากร
เท็กซ์เจอร์เกราะที่คุณแทนที่ ไม่ใช่ไฟล์ที่คุณคิด
เกราะถูกแบ่งเป็นชั้นและแยกตามวัสดุ การวาดผิดไฟล์จึงทำให้แพ็กของคุณดูเหมือนไม่ถูกแตะต้องในเกม
เกราะเป็นโปรเจกต์แรกที่คนทำแพ็กเท็กซ์เจอร์นิยมทำมากที่สุด และก็เป็นความล้มเหลวแรกที่พบบ่อยที่สุดเช่นกัน คุณวาดเสื้อเกราะ โหลดแพ็ก แล้วไม่มีอะไรเปลี่ยน — เพราะไฟล์ที่คุณแก้ไม่ใช่ไฟล์ที่เกมอ่านสำหรับชิ้นนั้น
วัสดุเกราะแต่ละชนิดเป็นไฟล์แยกกัน
ไม่มีไฟล์ armor.png เพียงไฟล์เดียว เสื้อโซ่ ทองแดง เหล็ก ทอง เพชร เนเทอไรต์ หนังสัตว์ และเกล็ดเต่า ต่างก็มีไฟล์ของตัวเอง (หนังสัตว์เพิ่ม leather_overlay สำหรับสีย้อม) และแต่ละชั้นก็เป็นภาพของตัวเอง ชุดเกราะเต็มชุดไม่ใช่เท็กซ์เจอร์เดียว แต่เป็นกลุ่มเล็ก ๆ ของเท็กซ์เจอร์ แยกตามช่องและตามชั้น
ผลในทางปฏิบัติ: แพ็กที่เปลี่ยนสีเกราะเพชรไม่มีผลอะไรกับเกราะเหล็ก ถ้าเป้าหมายของคุณคือ "ทำให้เกราะทั้งหมดดูเป็น X" คุณต้องแก้หนึ่งไฟล์ต่อหนึ่งวัสดุ ไม่ใช่ไฟล์เดียวจบ
การแยกชั้น และทำไมมันจึงสำคัญ
เกราะของผู้เล่นอ่านสองไฟล์ต่อหนึ่งวัสดุ:
| ไฟล์ | ครอบคลุมอะไร |
|---|---|
humanoid/<material>.png | หมวก เสื้อเกราะ รองเท้า |
humanoid_leggings/<material>.png | กางเกงเกราะเท่านั้น |
กางเกงเกราะมีไฟล์ของตัวเองเพราะมันใช้พื้นที่ลำตัวและขาของโมเดลที่คลี่ออกมาเช่นเดียวกับเสื้อเกราะและรองเท้า โดยวาดบนโมเดลที่เล็กกว่าเล็กน้อยซึ่งอยู่ข้างใต้ ถ้าคุณวาด humanoid/ แล้วสงสัยว่าทำไมกางเกงเกราะไม่เปลี่ยน แสดงว่าคุณเจอการแยกชั้นนี้ด้วยวิธีที่เจ็บตัว ม็อบทารกอ่านไฟล์ที่สามคือ humanoid_baby/<material>.png
ปีกกับกับดักของลวดลาย
ปีกไม่ใช่เกราะในความหมายของไฟล์ — มันมีเท็กซ์เจอร์ของตัวเอง และไม่สืบทอดวัสดุเกราะ แพ็กที่เปลี่ยนskinเสื้อเกราะจะไม่แตะปีกเลย
ลวดลายยิ่งแย่กว่า ลายลวดลายและวัสดุของลายเป็นรีจิสทรีแยกกัน และลายจะเรนเดอร์เป็นโอเวอร์เลย์ที่เลื่อนพาเลตต์ทับลงบนเท็กซ์เจอร์เกราะพื้นฐาน คุณไม่สามารถวาดลายลงในไฟล์เกราะได้ เกมจะประกอบมันตอนรันไทม์ การเปลี่ยนสีเกราะใต้ลายจะเปลี่ยนแค่พื้นฐาน ไม่ใช่ตัวลาย
Java และ Bedrock ต่างกันตรงนี้
Java อ่านเกราะจาก assets/minecraft/textures/entity/equipment/humanoid/<material>.png และ .../humanoid_leggings/<material>.png โดย assets/minecraft/equipment/<material>.json บอกว่าวัสดุหนึ่งใช้ไฟล์ใด โฟลเดอร์ textures/models/armor/ แบบเก่าที่หลายบทเรียนยังใช้อยู่ ไม่ได้ถูกอ่านอีกตั้งแต่ 1.21.2 เป็นต้นมา Bedrock ใช้โครงสร้างและชื่อไฟล์ของตัวเอง และแพ็กที่สร้างสำหรับอันหนึ่งจะโหลดในอีกอันไม่ได้ ถ้าคุณจะทำทั้งสองแบบ คุณกำลังสร้างสองแพ็ก
ทำงานที่ขนาดจริง
เท็กซ์เจอร์เกราะไม่ใช่ 16×16 แต่เป็น 64×32 จัดวางเป็นโมเดลที่คลี่ออกมา — หัว ลำตัว แขน และขาในภาพเดียว ในพื้นที่ตายตัว การวาดสี่เหลี่ยม 16×16 แล้วขยายจะได้ผลลัพธ์ที่ยืดเบลอ เพราะคุณกำลังยืดพื้นที่หนึ่งไปทั่วทั้งโมเดลที่คลี่ออกมา
วิธีที่เชื่อถือได้คือเริ่มจากไฟล์วานิลลาเอง ที่ขนาดดั้งเดิมของมัน แล้ววาดทับ วิธีนี้พื้นที่จะตรงกัน ช่องอัลฟาจะอยู่รอด และพาธเอาต์พุตจะตรงกับสิ่งที่เกมแทนที่
Texture Maker ครอบคลุมเท็กซ์เจอร์บล็อกและไอเท็มแบบสี่เหลี่ยม สำหรับเกราะ ให้เปิดไฟล์วานิลลา 64×32 ในโปรแกรมแก้ไขภาพแล้ววาดทับที่ขนาดนั้น