คู่มือการเพิ่มประสิทธิภาพเทกเจอร์ 3D แยกตามหมวดหมู่
ㅣ✔️ การปฏิบัติตามมาตรฐาน POT (Power of Two)
- คำแนะนำสำหรับความละเอียดแบบยกกำลัง 2
เพื่อการปรับการเร่งด้วยฮาร์ดแวร์ให้เหมาะสม ขอแนะนำให้สินทรัพย์เทกซ์เจอร์ (Texture) ทั้งหมดภายในแพลตฟอร์มมีค่าความละเอียดแนวนอนและแนวตั้งที่ตรงตามมาตรฐานยกกำลัง 2 (256×256 หรือ 512×512)
- คำแนะนำให้หลีกเลี่ยงการใช้ NPOT
หากคุณใช้รูปภาพที่ขนาดไม่ใช่เลขยกกำลังของ 2 (NPOT) ภายใน GPU จะทำการแปลงรูปภาพเป็นขนาดเลขยกกำลังของ 2 ที่ใกล้เคียงที่สุดแล้วคัดลอกลงในหน่วยความจำ ซึ่งอาจทำให้สิ้นเปลืองความจุหน่วยความจำถึงสองเท่า

ㅣ✔️ ความสม่ำเสมอของความหนาแน่นของเทกซ์เจอร์และ UV เลย์เอาต์
- การกระจายความละเอียดอย่างสม่ำเสมอ
จำเป็นต้องป้องกันปรากฏการณ์ที่คุณภาพของภาพในบางส่วนแตกหรือดูเบลออย่างชัดเจนเมื่ออวาตาร์สวมเสื้อผ้า ในการทำเช่นนี้ โปรด รักษา 'ความหนาแน่นของเทกเซล (Texel Density)' ของแอสเซททั้งหมดให้สม่ำเสมอ พื้นที่จริงของโมเดล 3 มิติและอัตราส่วนขนาดในแผนที่ UV จะต้องคงที่เพื่อรักษาคุณภาพของภาพที่คมชัดเท่ากันโดยไม่มีส่วนใดบิดเบี้ยวภายในเกม
- การจัดลำดับความสำคัญในการมองเห็น
โปรดเพิ่มประสิทธิภาพโดยจัดสรรพื้นที่ UV ให้กว้างขวางสำหรับพื้นที่รายละเอียดที่ต้องใช้ความละเอียดสูง และลดพื้นที่ UV สำหรับพื้นที่ด้านล่างหรือด้านในเสื้อที่โผล่ให้เห็นไม่บ่อยนัก

ㅣ✔️ สามารถใช้เทกซ์เจอร์ได้ 1 แผ่นต่อ 1 หมวดหมู่
💡 มาตรฐาน 'เทกซ์เจอร์ 1 แผ่น' ที่ระบุไว้ในคำแนะนำไม่ได้หมายความว่าจะจำกัดการใช้ Base Color เพียง 1 แผ่น และคุณสามารถใช้ Diffuse, Normal, Channel Map ฯลฯ แยกกันได้ เกณฑ์การตรวจสอบเทกซ์เจอร์ของ ZEPETO ไม่ใช่จำนวนแผ่นแต่เป็น 'ความจุรวมไม่เกิน 1MB หรือน้อยกว่า(1MB = 1024KB)' ดังนั้นหากอยู่ภายในความจุ 1MB คุณสามารถปรับความละเอียดและใช้เทกซ์เจอร์หลายแผ่นร่วมกันได้ ในทำนองเดียวกัน แมปเสริมของ Toon Shader (Normal Map, Shadow Threshold, Mask, Emission ฯลฯ) ก็สามารถใช้ได้เช่นกันหากรวมอยู่ภายในขีดจำกัดความจุรวม 1MB

- ขนาดสูงสุดของเทกซ์เจอร์ 1 แผ่นคือ 512x512 ขอแนะนำให้หลีกเลี่ยงการใช้ 1024
- เทกซ์เจอร์คำนวณจากพื้นที่แนวนอนและแนวตั้ง (จำนวน Pixel)
- 512 × 512 = 262,144 pixels
- 1024 × 1024 = 1,048,576 pixels (exactly 4 times 512)
ตัวเลขดูเหมือนจะเพิ่มเป็น 2 เท่า แต่แท้จริงแล้วปริมาณการรับส่งข้อมูลและความจุที่เครื่องยนต์ 3 มิติและหน่วยความจำกราฟิกของสมาร์ทโฟน (VRAM) ต้องรับมือนั้น พุ่งสูงขึ้นถึง 4 เท่า แม้จะผ่านปลั๊กอินบีบอัดแล้ว แต่ความแตกต่างของการใช้หน่วยความจำที่มากกว่า 4 เท่าก็ยังคงอยู่
- ความละเอียดสูงสุด 512 ช่วยเพิ่มประสิทธิภาพในการรับส่งข้อมูลให้สูงสุด ทำให้แม้แต่ผู้ใช้ที่มีสภาพแวดล้อมการเชื่อมต่อเครือข่ายไม่ดีก็สามารถเพลิดเพลินกับเกมได้อย่างราบรื่น
- หน้าจอสมาร์ทโฟนมีขนาดเล็กมากเมื่อเทียบกับจอคอมพิวเตอร์หรือทีวี พื้นที่พิกเซลบนหน้าจอจริงที่ถูกครอบครองโดยเสื้อท่อนบนหรือท่อนล่างของอวาตาร์ของคุณในหน้าจอเล็กๆ นั้นไม่ได้ใหญ่ขนาดนั้น
- หากกังวลว่าคุณภาพของภาพจะลดลง แทนที่จะเพิ่มขนาดเทกซ์เจอร์ ควรใช้งาน 'ความหนาแน่นของเทกเซล (Texel Density)'การลดพื้นที่ UV ในที่ที่มองไม่เห็นอย่างเห็นได้ชัด เช่น ซับในหรือชายเสื้อ และการเน้น 'จัดลำดับความสำคัญในการมองเห็น' โดยทุ่มพื้นที่ UV ไปยังส่วนที่มีรายละเอียด เช่น โลโก้ หรือ กระดุม หากทำได้ดีก็จะสามารถสร้างชุดที่มีความคมชัดและคุณภาพสูงได้ในความละเอียดที่ 512


ㅣ✔️ ข้อยกเว้นสำหรับหมวดหมู่ DR (ชุดเดรส/ชุดชิ้นเดียว)
- อนุญาตให้ใช้เทกซ์เจอร์ 2 แผ่น
ฉพาะในหมวดหมู่ชุดเดรส/ชุดชิ้นเดียว (DR) เท่านั้น ที่สามารถใช้เทกซ์เจอร์ความละเอียด 512×512 ได้สูงสุด 2 แผ่น

ㅣ✔️ การเพิ่มประสิทธิภาพเชเดอร์และแมทีเรียล (Shader & Material)
- จำกัดจำนวนแมทีเรียล
ขอแนะนำให้ใช้ Material สูงสุด 1 รายการสำหรับแต่ละ Asset ในแต่ละหมวดหมู่ที่ส่งมา สำหรับหมวดหมู่ DR (ชุดเดรส/ชุดเซ็ต) ที่สามารถใช้เทกซ์เจอร์ได้สูงสุด 2 แผ่น จะสามารถใช้ Material ได้สูงสุด 2 รายการ โดยขอแนะนำให้ใช้ 1 Material เป็นค่าเริ่มต้น และ โปรดใช้เพิ่มเติมเฉพาะเมื่อมีการใช้ Shader ที่มีคุณสมบัติแตกต่างกันเท่านั้น เช่น Transparent หรือ Fur

- คำแนะนำให้หลีกเลี่ยงการใช้ Material แยกตามประเภทของวัสดุ
ขอแนะนำให้หลีกเลี่ยงการใช้ Material แยกตามแต่ละประเภทของวัสดุ สำหรับวัสดุต่างๆ ที่ไม่มีคุณสมบัติแตกต่างกัน (โปร่งใส ขนสัตว์ ฯลฯ) โปรดแสดงพื้นผิวโดยใช้ Channel Mask Map โปรดใช้ Texture RGBA Channel Map ของ Metallic, Smoothness และ Ambient Occlusion เพื่อแสดงพื้นผิว
Channel | Packed Data | Description |
|---|---|---|
Red | Metallic | ยิ่งค่าเข้าใกล้ 1 (White) จะยิ่งแสดงถึงความเป็นโลหะ ยิ่งเข้าใกล้ 0 (Black) จะเป็นอโลหะ |
Green | Ambient Occlusion (AO) | โครงสร้างแสงเงา และแสดงเงาคงที่ในส่วนที่เป็นมุม/ซอก |
Blue | X | x |
Alpha | Smoothness | ควบคุมระดับความเรียบเนียนของพื้นผิว |


ㅣ⚠️ เหตุผลที่แนะนำแนวทางปฏิบัติในการปรับให้เหมาะสม
เมื่อทดสอบ Asset เดี่ยวในสภาพแวดล้อมแบบโลคัล ผลกระทบของข้อมูล Blendshape เพียงเล็กน้อย หรือความละเอียดของ Texture ที่เกินกว่าแนวทางปฏิบัติต่อประสิทธิภาพของระบบอาจดูเหมือนมีเพียงเล็กน้อย อย่างไรก็ตาม ขอความกรุณาโปรดพิจารณาด้วยว่า ZEPETO เป็น 'สภาพแวดล้อมมัลติแพลตฟอร์มแบบเรียลไทม์' ที่มีผู้ใช้จำนวนมากเข้าร่วมพร้อมกันในพื้นที่เสมือนจริง
- การเพิ่มขึ้นสะสมของภาระการคำนวณทรัพยากร 3 มิติ
- การทำซ้ำข้อมูลและโหลดหลายตัว: สมมติว่ามีผู้เล่น 30 คนเข้าสู่เวิลด์เดียว และอวาตาร์แต่ละตัวสวมใส่ชิ้นส่วนโดยเฉลี่ย 5 ถึง 6 ชิ้น (เสื้อผ้า ทรงผม เครื่องประดับ ฯลฯ) ข้อมูลแอสเซทอิสระที่ต้องประมวลผลแบบเรียลไทม์บนหน้าจอเดียวจะพุ่งถึงหลายร้อยรายการ
- การสะสมของโอเวอร์เฮด (Overhead): สเปคที่เกินมาตรฐานเพียงเล็กน้อยของครีเอเตอร์หนึ่งคน เมื่อผ่านผู้เล่นหลายคนจะถูกขยายความรุนแรงขึ้นเป็นหลายร้อยเท่า และเพิ่มภาระให้กับระบบขณะรันแอปพลิเคชัน
- การเกินจุดวิกฤตของระบบและปัญหาคอขวดของฮาร์ดแวร์
- ประสิทธิภาพโดยรวมลดลง : การเพิ่มขึ้นของ Draw Call ที่อาจดูเล็กน้อยหากมองแยกกัน การสิ้นเปลือง VRAM อันเกิดจากความหนาแน่นของเทกเซลที่ไม่สมดุล หรือการคำนวณพิกเซลเชเดอร์ที่ซับซ้อน เมื่อสิ่งเหล่านี้สะสมรวมกันในพื้นที่เดียว จะทำให้อุปกรณ์มือถือทะลุจุดวิกฤตไปในพริบตา
- การประมวลผลที่มากเกินไปจะทำให้เกิด ความร้อนรุนแรงและสูบแบตเตอรี่ ของอุปกรณ์มือถือ และทำให้เกิดเฟรมกระตุกร้ายแรงไปทั่วทั้ง ZEPETO
- บังคับปิดแอปผ่าน OOM (Out Of Memory)
- ระบบล่ม (System Crash) อย่างรุนแรง: การโอเวอร์โฟลว์ของหน่วยความจำ (RAM/VRAM) ซึ่งเป็นส่วนหนึ่งของทรัพยากรระบบ จะไม่ส่งผลแค่ให้เฟรมเรตตกและหน้าจอช้าลงเท่านั้น
- ทันทีที่หน่วยความจำเกินพิกัดที่ใช้งานได้ ระบบปฏิบัติการมือถือ (iOS/Android) จะบังคับปิดโปรเซสของแอป ZEPETO โดยสมบูรณ์ (Crash) เพื่อปกป้องอุปกรณ์ นี่เป็นสาเหตุของข้อผิดพลาดที่ร้ายแรงที่สุดที่ทำลายความน่าเชื่อถือของบริการและประสบการณ์ของผู้ใช้
การเพิ่มประสิทธิภาพคือมารยาททางเทคนิคสำหรับการอยู่ร่วมกันในระบบนิเวศเสมือน ข้อกำหนดการจำกัดข้อมูลตามหมวดหมู่ที่ ZEPETO Studio นำเสนอไม่ใช่กฎระเบียบเพื่อจำกัดการแสดงออกทางศิลปะของครีเอเตอร์ เป็น อุปกรณ์ความปลอดภัยทางเทคนิคขั้นต่ำ เพื่อสร้างสภาพแวดล้อมรันไทม์ที่ราบรื่นซึ่งครอบคลุมแม้กระทั่งผู้ใช้ที่ใช้อุปกรณ์มือถือสเปคต่ำ และเพื่อปกป้องแอสเซทคุณภาพสูงของครีเอเตอร์ให้ทำงานได้อย่างเสถียรด้วยคุณภาพที่แท้จริงโดยไม่มีความผิดเพี้ยนหรือบั๊กใดๆ ภายในเกม
หมายเหตุ) ข้อมูลตามหมวดหมู่เพื่อการเพิ่มประสิทธิภาพไอเทม
ข้อมูลทั้งหมดอิงตาม ค่าสูงสุด (Maximum Limit)
*ยกเว้นหมวดหมู่ DR (ชุดเต็มตัว) ทุกหมวดหมู่จะจำกัดที่เทกซ์เจอร์ 1 แผ่น
| | Max Triangle Count (Tris) แนะนำ / MAX | Max Texture Resolution (Map size) แนะนำ / MAX | Max Material (อนุญาตให้ใช้เชเดอร์เพิ่มเติมตามคุณสมบัติ) |
|---|---|---|---|---|
DR | One-piece outfit | 10,000 | 512x512 (2 images) | 4(แนะนำ) |
TOP | Top | 6,000 | 512x512 | 3(แนะนำ) |
OTR | Outerwear | 6,000 | 512x512 | 3(แนะนำ) |
BTM | Pants, Skirts | 5,000 | 512x512 | 3(แนะนำ) |
SOX | Socks | 3,500 / 4500 | 256x256 / 512x512 | 3(แนะนำ) |
SH | Shoes | 4,000 | 256x256 / 512x512 | 3(แนะนำ) |
F_HAIR | Women's Hair | 10,000 | 256x256 / 512x512 | 3(แนะนำ) |
M_HAIR | Men's Hair | 10,000 | 256x256 / 512x512 | 3(แนะนำ) |
HEADWEAR | Headwear | 4,000 | 256x256 / 512x512 | 3(แนะนำ) |
SHOULDER | Shoulder | 5,000 | 512x512 | 3(แนะนำ) |
GLASSES | Glasses | 2,000 | 256x256 / 512x512 | 3(แนะนำ) |
BRACELET | Bracelet | 2,000 | 256x256 / 512x512 | 3(แนะนำ) |
NECKLACE | Necklace | 2,000 | 256x256 / 512x512 | 3(แนะนำ) |
EARRING | Earrings | 2,000 | 256x256 / 512x512 | 3(แนะนำ) |
BAG | Bag | 4,500 | 256x256 / 512x512 | 3(แนะนำ) |
GLOVE | Glove | 4,500 | 256x256 / 512x512 | 3(แนะนำ) |
RING | Ring | 2,000 | 256x256 / 512x512 | 3(แนะนำ) |
NAIL | Nail Art | 1,500 / 2000 | 256x256 / 512x512 | 3(แนะนำ) |
EYEMASK | Mask | 3,000 | 512x512 | 3(แนะนำ) |
WING | Wing | 4,000 | 512x512 | 3(แนะนำ) |
MASK | Special Face Shapes | 5,000 | 512x512 | 3(แนะนำ) |
BODY | Special Body Types | 10,000 | 512x512 | 3(แนะนำ) |
TAIL | Tail | 2,000 / 3000 | 256x256 / 512x512 | 3(แนะนำ) |