คู่มือ / การก่อสร้างและทรัพยากร
เนื้อเกราะที่คุณแก้ไขไม่ใช่ไฟล์ที่คุณคิด
เกราะถูกแบ่งเป็นชั้นและแยกตามวัสดุ ดังนั้นการวาดผิดไฟล์จะทำให้แพ็กของคุณดูเหมือนไม่ได้แก้อะไรในเกม
เกราะเป็นโปรเจกต์แรกที่คนทำแพ็กเท็กซ์เจอร์เลือกทำมากที่สุด และก็เป็นความล้มเหลวแรกที่เจอบ่อยที่สุดเช่นกัน คุณวาดเกราะอก บันทึกแพ็ก โหลดเข้าเกม แล้วไม่มีอะไรเปลี่ยน — เพราะไฟล์ที่คุณแก้ไม่ใช่ไฟล์ที่เกมอ่านสำหรับชิ้นนั้น
เกราะแต่ละวัสดุเป็นไฟล์แยกกัน
ไม่มีไฟล์ armor.png เพียงไฟล์เดียว เพชร เหล็ก ทอง เสื้อโซ่ หนังสัตว์ และเนเธอไรต์ ต่างก็มีไฟล์เลเยอร์ของตัวเอง และแต่ละเลเยอร์ก็เป็นภาพคนละไฟล์ ชุดเต็มชุดหนึ่งไม่ใช่เท็กซ์เจอร์เดียว แต่เป็นกลุ่มเล็ก ๆ ที่แยกตามช่องใส่และตามเลเยอร์
ผลที่ตามมาในทางปฏิบัติ: แพ็กที่เปลี่ยนสีเกราะเพชรจะไม่มีผลกับเกราะเหล็กเลย ถ้าเป้าหมายของคุณคือ "ทำให้เกราะทุกชนิดดูเป็นแบบ X" คุณต้องแก้หนึ่งไฟล์ต่อหนึ่งวัสดุ ไม่ใช่แก้ไฟล์เดียวจบ
การแบ่งเลเยอร์ และทำไมมันสำคัญ
เกราะเรนเดอร์ในสองรอบ:
| เลเยอร์ | ครอบคลุมอะไร |
|---|---|
| เลเยอร์ 1 | หมวก เกราะอก รองเท้า — ชิ้นที่คลุมลำตัว |
| เลเยอร์ 2 | กางเกงเกราะ และรอบโอเวอร์เลย์ของชิ้นอื่น ๆ |
กางเกราะอยู่ในเลเยอร์ 2 เพราะต้องวาดทับลำตัวโดยไม่เกิด z-fighting กับเลเยอร์ 1 ถ้าคุณวาดเลเยอร์ 1 แล้วสงสัยว่าทำไมกางเกราะไม่เปลี่ยน แสดงว่าคุณเจอการแบ่งนี้ด้วยวิธีที่เจ็บตัว
ปีกกับกับดักลวดลาย
ปีกไม่ใช่เกราะในความหมายของไฟล์ — มันมีเท็กซ์เจอร์ของตัวเอง และไม่สืบทอดวัสดุเกราะ แพ็กที่เปลี่ยนskinเกราะอกจะไม่แตะปีกเลย
ลวดลายยิ่งแย่กว่า รูปแบบลวดลายและวัสดุลวดลายเป็นรีจิสทรีแยกกัน และลวดลายจะเรนเดอร์เป็นโอเวอร์เลย์ที่เลื่อนพาเลตต์ทับบนเท็กซ์เจอร์เกราะพื้นฐาน คุณไม่สามารถวาดลวดลายลงในไฟล์เกราะได้ เกมจะประกอบมันตอนรันไทม์ การเปลี่ยนสีเกราะใต้ลวดลายจะเปลี่ยนแค่พื้นฐาน ไม่ใช่ตัวลวดลาย
Java กับ Bedrock ต่างกันตรงนี้
Java อ่านเลเยอร์เกราะจากพาธตายตัวใต้ assets/minecraft/textures/models/armor/ ตั้งชื่อตามวัสดุและเลเยอร์ ส่วน Bedrock ใช้เลย์เอาต์และชื่อของตัวเอง และแพ็กที่สร้างสำหรับอันหนึ่งจะโหลดในอีกอันไม่ได้ ถ้าคุณทำทั้งสองแบบ คุณกำลังสร้างสองแพ็ก
ทำงานที่ขนาดจริง
เท็กซ์เจอร์เกราะไม่ใช่ 16×16 มันใหญ่กว่านั้น เรียงเป็นโมเดลที่คลี่ออก — หัว ลำตัว แขน และขาในภาพเดียว ในพื้นที่ตายตัว การวาดสี่เหลี่ยม 16×16 แล้วขยายจะได้ผลลัพธ์ที่ยืดเบลอ เพราะคุณกำลังยืดพื้นที่หนึ่งไปทั่วทั้งการคลี่
วิธีที่เชื่อถือได้คือเริ่มจากไฟล์วานิลลาเองที่ขนาด native แล้ววาดทับ วิธีนี้พื้นที่ต่าง ๆ จะตรงกัน ช่องอัลฟาจะอยู่รอด และพาธเอาต์พุตจะตรงกับสิ่งที่เกมแทนที่
วาดทับเท็กซ์เจอร์วานิลลาจริงที่ขนาด native แล้วดาวน์โหลดแพ็กได้ที่ Texture Maker