คู่มือการเพิ่มประสิทธิภาพเทกเจอร์ 3D แยกตามหมวดหมู่
17 นาที
ㅣ✔️ การปฏิบัติตามมาตรฐาน 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(แนะนำ)
