คู่มือ / การก่อสร้างและทรัพยากร
การเปลี่ยนสี GUI ที่ยังคงขอบนูนไว้ได้ทุกจุด: ใช้ความสว่าง ไม่ใช่การเทสีแบน
การเทสีแบนทับหน้าต่างอินเวนทอรีของ Minecraft จะทำลายเงาและไฮไลต์ทั้งหมด GUI Colorizer ช่วยรักษาไว้ได้ด้วยการไล่เฉดสีจากความสว่างแทน
ทุกแพ็ก GUI ที่แก้ไขด้วยมือล้วนล้มเหลวแบบเดียวกัน: มีคนเปิดเท็กซ์เจอร์อินเวนทอรี เทสีแบนลงบนพื้นหลังสีเทา แล้วผลลัพธ์ก็ดูเหมือนสติกเกอร์ ช่องเก็บของสูญเสียเงาด้านใน ขอบไฮไลต์ของแถบเลือกไอเทมก็หายไป และแถบ XP ก็กลายเป็นแถบสีทึบ GUI Colorizer หลีกเลี่ยงปัญหานี้ด้วยการเปลี่ยนสีผ่านความสว่างแทนการแทนที่พิกเซล
ทำไมการเทสีแบนจึงทำลาย GUI
เท็กซ์เจอร์อินเทอร์เฟซของ Minecraft ไม่ใช่สีแบนบวกเส้นขอบ แต่ละช่อง ปุ่ม และแผงคือภาพโทนเทาเล็ก ๆ ที่ ค่าความสว่าง ของแต่ละพิกเซลบอกความลึก: เข้มกว่าที่ขอบบนซ้าย อ่อนกว่าตามแนวล่างขวา โดยตัวกลางเป็นโทนกลาง เท็กซ์เจอร์ช่องขนาด 16x16 มี 256 พิกเซล และส่วนใหญ่ต่างจากพิกเซลข้างเคียงเพียงไม่กี่ระดับ
แทนที่ทั้ง 256 พิกเซลด้วยค่า RGB เดียว ก็เท่ากับทิ้งช่องสัญญาณเดียวที่เก็บขอบนูนไว้ สิ่งที่ต้องการคือรักษาความสัมพันธ์ของความสว่างไว้ แล้วสลับเฉดสีข้างใต้แทน
ความสว่างในฐานะตัวขับเคลื่อนการไล่เฉด
เครื่องมือนี้จะอ่านความสว่างของแต่ละพิกเซล จับคู่ความสว่างนั้นเข้ากับการไล่เฉดสีที่คุณเลือก แล้วเขียนผลลัพธ์กลับ พิกเซลเข้มที่ด้านบนของช่องก็ยังเข้มอยู่ — แค่กลายเป็น สีน้ำเงิน เข้มแทนที่จะเป็นสีเทาเข้ม ส่วนไฮไลต์ก็ยังเป็นไฮไลต์
นั่นคือเหตุผลว่าทำไมการไล่เฉดสีสองจุดจึงมักเพียงพอ:
| ช่วงความสว่าง | คืออะไรในเท็กซ์เจอร์ต้นฉบับ | กลายเป็นอะไร |
|---|---|---|
| ต่ำ | เงาขอบนูน, เงาด้านในช่อง | จุดที่เข้มที่สุด |
| กลาง | ตัวแผง, หน้าปุ่ม | จุดกึ่งกลางของการไล่เฉด |
| สูง | ไฮไลต์, ขอบตอนชี้ | จุดที่อ่อนที่สุด |
เลือกจุดที่ความสว่างใกล้กัน GUI ก็จะดูเหมือนแค่เปลี่ยนสี แต่ถ้าเลือกจุดที่ห่างกันมาก ก็จะกลับไปเจอปัญหาสติกเกอร์แบนอีกครั้งจากทิศทางตรงข้าม
อะไรที่เปลี่ยนสีด้วยวิธีนี้ได้และไม่ได้
สิ่งที่เครื่องมือรองรับ: หน้าจออินเวนทอรี, หีบและเตาเผา, แถบเลือกไอเทม และแถบ XP เหล่านี้คือพื้นผิวที่ผู้เล่นจ้องมองตลอดเวลา ซึ่งเป็นเหตุผลว่าทำไมการเปลี่ยนสีที่แย่จึงเห็นได้ชัดเจนมาก
สิ่งที่ไม่รองรับ และควรรู้ก่อนสัญญาอะไรกับใคร: เท็กซ์เจอร์โลก รีซอร์สแพ็กเรดสโตน รีซอร์สแพ็กเกราะ หรือรีซอร์สแพ็กปีก เป็นงานคนละแบบ — นั่นคือแผนที่รวมเท็กซ์เจอร์ของบล็อกและเอนทิตีที่มีกฎการจัดวางของตัวเอง และไม่มีการไล่เฉดความสว่างใดที่จะแก้ขอบเกราะที่วางผิดตำแหน่งได้
Java กับ Bedrock ต่างกันตรงนี้
ทั้งสองเอดิชันบรรจุเท็กซ์เจอร์ GUI ไว้ในรีซอร์สแพ็กเหมือนกัน แต่โครงสร้างแพ็กใช้แทนกันไม่ได้ แพ็กของ Java ใช้ assets/minecraft/textures/gui/ พร้อม pack.mcmeta ที่ประกาศหมายเลขรูปแบบแพ็ก ส่วน Bedrock ใช้โฟลเดอร์รากที่ต่างออกไปและไฟล์ manifest JSON ของตัวเอง แพ็กที่สร้างสำหรับเอดิชันหนึ่งจะโหลดในอีกเอดิชันไม่ได้ ดังนั้นควรตัดสินใจเลือกเอดิชันเป้าหมายก่อนเริ่มปรับการไล่เฉดสี
ลำดับการทำงานที่ใช้ได้จริง
- เลือกการไล่เฉดสี ไม่ใช่สีสุดท้าย สองจุดที่มีความสว่างใกล้กัน
- นำไปใช้ ดาวน์โหลดแพ็ก แล้ววางในโฟลเดอร์รีซอร์สแพ็ก
- ตรวจสอบอินเวนทอรี หีบ เตาเผา และแถบเลือกไอเทมในเซสชันเดียว — การไล่เฉดที่ดูดีบนอินเวนทอรีอาจทำให้ลูกศรเชื้อเพลิงของเตาเผาจางหายไป
- ค่อยเพิ่มช่วงความสว่างถ้าผลลัพธ์ดูเทาเกินไป
สร้างการไล่เฉดสีครั้งเดียว แล้วปล่อยให้ความสว่างทำหน้าที่แรเงาใน GUI Colorizer