คู่มือการเพิ่มประสิทธิภาพเทกเจอร์ 3D แยกตามหมวดหมู่
16 นาที
ㅣ✔️ การปฏิบัติตามมาตรฐาน pot (power of two) บังคับใช้ความละเอียดที่เป็นเลขยกกำลังของ 2 แอสเซทเทกซ์เจอร์ทั้งหมดในแพลตฟอร์มจะต้องมีความละเอียดแนวนอนและแนวตั้งที่ตรงตามมาตรฐานเลขยกกำลังของ 2 (256×256 หรือ 512×512) พอดี เพื่อเพิ่มประสิทธิภาพการเร่งความเร็วของฮาร์ดแวร์ ห้ามใช้ npot หากคุณใช้รูปภาพที่ขนาดไม่ใช่เลขยกกำลังของ 2 (npot) ภายใน gpu จะทำการแปลงรูปภาพเป็นขนาดเลขยกกำลังของ 2 ที่ใกล้เคียงที่สุดแล้วคัดลอกลงในหน่วยความจำ ซึ่งอาจทำให้สิ้นเปลืองความจุหน่วยความจำถึงสองเท่า ㅣ✔️ ความสม่ำเสมอของความหนาแน่นของเทกซ์เจอร์และ uv เลย์เอาต์ การกระจายความละเอียดอย่างสม่ำเสมอ จำเป็นต้องป้องกันปรากฏการณ์ที่คุณภาพของภาพในบางส่วนแตกหรือดูเบลออย่างชัดเจนเมื่ออวาตาร์สวมเสื้อผ้า ในการทำเช่นนี้ โปรด รักษา 'ความหนาแน่นของเทกเซล (texel density)' ของแอสเซททั้งหมดให้สม่ำเสมอ พื้นที่จริงของโมเดล 3 มิติและอัตราส่วนขนาดในแผนที่ uv จะต้องคงที่เพื่อรักษาคุณภาพของภาพที่คมชัดเท่ากันโดยไม่มีส่วนใดบิดเบี้ยวภายในเกม การจัดลำดับความสำคัญในการมองเห็น โปรดเพิ่มประสิทธิภาพโดยจัดสรรพื้นที่ uv ให้กว้างขวางสำหรับพื้นที่รายละเอียดที่ต้องใช้ความละเอียดสูง และลดพื้นที่ uv สำหรับพื้นที่ด้านล่างหรือด้านในเสื้อที่โผล่ให้เห็นไม่บ่อยนัก ㅣ✔️ สามารถใช้เทกซ์เจอร์ได้ 1 แผ่นต่อ 1 หมวดหมู่ ขนาดสูงสุดสำหรับ 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) จำกัดจำนวนแมทีเรียล แอสเซทแต่ละหมวดหมู่ที่ส่งมาจะต้องใช้แมทีเรียลไม่เกิน 1 รายการ หมวดหมู่ dr (ชุดเดรส/ชุดชิ้นเดียว) ซึ่งอนุญาตให้ใช้เทกซ์เจอร์ได้สูงสุด 2 แผ่น สามารถใช้แมทีเรียลได้สูงสุด 2 รายการ โดยทั่วไปให้ใช้แมทีเรียล 1 รายการ และ โปรดเพิ่มเฉพาะเมื่อใช้เชเดอร์ที่มีคุณสมบัติต่างกัน เช่น โปร่งใส (transparent) หรือ ขนสัตว์ (fur) ห้ามใช้แมทีเรียลแยกตามประเภทของพื้นผิว ห้ามใช้แมทีเรียลแยกตามประเภทของพื้นผิว วัสดุต่างๆ ที่ไม่มีคุณสมบัติแตกต่างกัน (โปร่งใส, ขนสัตว์ ฯลฯ) ควรแสดงพื้นผิวโดยใช้ channel mask map โปรดใช้ 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 ควบคุมระดับความเรียบเนียนของพื้นผิว ㅣ ⚠️ เหตุผลที่แท้จริงว่าทำไมคุณจึงต้องปฏิบัติตามแนวทางการเพิ่มประสิทธิภาพ เมื่อทดสอบแอสเซทเดียวในสภาพแวดล้อมระบบของคุณเอง ผลกระทบของข้อมูล blendshape เล็กน้อยหรือความละเอียดเทกซ์เจอร์ที่เกินกว่าแนวทางปฏิบัติอาจดูเหมือนจะส่งผลต่อประสิทธิภาพของระบบเพียงเล็กน้อย อย่างไรก็ตาม ต้องคำนึงถึงข้อเท็จจริงที่ว่า 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(แนะนำ)
