การติดตั้งเพลา
โครงกระดูก ZEPETO ถูกตั้งค่าใน Maya และใช้การจัดแนวข้อต่อเริ่มต้นของ Maya ใน Maya โซ่ข้อต่อสามารถจัดแนวกับแกนใดก็ได้ ในขณะที่ใน Blender กระดูกจะชี้ไปตามแกน Y เท่านั้น แม้ว่ามันอาจจะดูแปลก แต่เพื่อความเข้ากันได้กับอวาตาร์ ZEPETO สิ่งสำคัญคือต้องไม่เปลี่ยนการจัดแนวกระดูกของกระดูกเริ่มต้น
Blender ไม่รองรับการผูกตาข่ายกับโครงกระดูกที่อยู่ในท่าที่ไม่ใช่ท่าพักของโครงกระดูก เมื่อผูกน้ำหนักกับโครงกระดูก ให้ใช้โครงกระดูกที่ถูกนำไปใช้ในท่าพักที่ต้องการในโหมดท่าหรือโครงกระดูกสำเนาที่ตั้งค่าเป็นท่า A เป็นท่าพัก
การจัดการ Rigging คือกระบวนการในการนำข้อมูลมาใช้เพื่อทำให้ไอเท็มเคลื่อนไหวไปพร้อมกับอวาตาร์ ZEPETO โดยไม่มีการจัดการ Rigging ไอเท็มจะไม่เคลื่อนไหวไปพร้อมกับอวาตาร์ในแอป ผ่านกระบวนการจัดการ Rigging เราจะบอกไอเท็มของเราว่าจะติดตามโครงกระดูกของอวาตาร์อย่างไร ในเชิงเทคนิค: ในแอปพลิเคชัน 3D รูปทรงเรขาคณิต 3D ของตัวละครมักถูกควบคุมโดยข้อต่อหรือกระดูก ข้อต่อหรือกระดูกเหล่านี้เป็นวัตถุ 3D พิเศษที่ไม่ปรากฏในการเรนเดอร์ที่ตั้งกฎเกณฑ์ว่าตัวละครจะเคลื่อนไหวอย่างไร มักทำหน้าที่เป็นจุดหมุน การจัดการ Rigging คือกระบวนการบันทึกข้อมูลที่บอกให้จุดยอดของตาข่ายติดตามข้อต่อหรือกระดูกที่กำหนดอย่างใกล้ชิดเพียงใด ใน Blender ข้อมูลประเภทนี้เรียกว่า "กลุ่มจุดยอด" น้ำหนักสามารถกำหนดเป็นตัวเลขหรือ "ทาสี" ลงบนโมเดลได้ เนื่องจากการทาสีอิทธิพลเสมือนจริงเข้าถึงได้ง่ายกว่าการกำหนดตัวเลขทศนิยมให้กับจุดยอดแต่ละจุด เราจะมุ่งเน้นไปที่วิธีการทาสีน้ำหนักนี้เพื่อประหยัดเวลาและความสบายใจ ข้อต่อและกระดูกมีวัตถุประสงค์การใช้งานที่คล้ายกันในซอฟต์แวร์ 3D โดยมีความแตกต่างเล็กน้อยที่เกี่ยวข้องกับคำศัพท์ ข้อต่อแสดงถึงจุดเดียวในพื้นที่ 3D โดยไม่มีทิศทางที่ซอฟต์แวร์กำหนด Maya ใช้ข้อต่อและมักจะจัดแนวข้อต่อโดยมีแกน X ชี้ไปที่กระดูกถัดไปในสายโซ่ กระดูกยังแสดงถึงจุดเดียวในพื้นที่ แต่มีทิศทางที่ซอฟต์แวร์คาดหวังให้ตัวละครอื่นติดตาม Blender ใช้กระดูก โดยมีแกน Y ออกแบบให้ชี้ไปที่กระดูกถัดไปในสายโซ่ ความแตกต่างนี้ระหว่างกระดูกและข้อต่อสร้างปัญหาบางอย่างในการจัดการ Rig ใน Blender ที่เราต้องหาทางแก้ไข
- ต้องมีการรวมกระดูก "hips" และ "hips_scale"
- โดยทั่วไป พยายามป้องกันไม่ให้หน้ากากทะลุผ่านไอเท็มของคุณขณะทาสีน้ำหนัก
- ตรวจสอบให้แน่ใจว่าร่างกายและไอเท็มไม่ยุบตัวเองเมื่อเคลื่อนย้ายโครงกระดูก
- อิทธิพลน้ำหนักผิวสูงสุดถูกกำหนดไว้ที่ 4
- เหล่านี้เป็นค่าเริ่มต้นของ Blender แต่หากต้องการตั้งค่าอิทธิพลน้ำหนักด้วยตนเอง ให้เข้าสู่โหมดทาสีน้ำหนักสำหรับตาข่ายไอเท็ม ในเมนูน้ำหนักในมุมมอง 3D ให้เลือก “จำกัดทั้งหมด” ขยายเมนูที่ปรากฏที่มุมล่างซ้ายของมุมมองและตรวจสอบให้แน่ใจว่าค่าที่ “จำกัด” ถูกตั้งไว้ที่ 4
โดยทั่วไป ชุดเดรสจะใช้กระดูกของส่วนบนและส่วนล่างของโครงสร้าง ในขณะที่รายการอื่นๆ มีการเลือกที่จำกัดมากขึ้น วัตถุหน้ากากที่มาพร้อมกับ Creator Base Set มีน้ำหนักจากอวาตาร์ ZEPETO การใช้น้ำหนักจากวัตถุหน้ากากเป็นพื้นฐานสำหรับการถ่วงน้ำหนักรายการเป็นประโยชน์ ในการถ่ายโอนน้ำหนักหน้ากากไปยังน้ำหนักของรายการ ให้ใช้ฟังก์ชันการถ่ายโอนน้ำหนักของ Blender
ใช้วัตถุหน้ากากและโครงกระดูกที่รวมอยู่ในไฟล์ creatorBaseSet_zepeto.fbx วัตถุเหล่านี้มีชุดชื่อวัตถุ ชื่อกระดูก และการวางแนวกระดูกที่กำหนดไว้ซึ่ง ZEPETO studio จะมองหาเพื่อให้รายการทำงานในแอป สิ่งสำคัญคือต้องรักษาชื่อให้คล้ายกันเพื่อไม่ให้กระบวนการแปลงใน Unity สับสน
Blender ใช้ข้อมูลการถ่วงน้ำหนักเริ่มต้นกับ “ท่าพัก” ของโครงกระดูก ซึ่งหมายความว่าหากคุณสร้างแบบจำลองรายการในท่า A และพยายามใช้กับโครงกระดูกท่าพัก T รายการอาจเลื่อนออกจากตำแหน่งที่ถูกต้องในกระบวนการผูกเริ่มต้น เพื่อหลีกเลี่ยงปัญหานี้ การผูกไอเท็มกับโครงกระดูกที่มีท่าพักตั้งค่าเป็นท่าที่สร้างแบบจำลองของไอเท็มนั้นมีประโยชน์ วิธีที่มีประโยชน์ในการมีโครงกระดูกท่าพักที่ไม่ใช่ท่า T คือการสร้างสำเนาของโครงกระดูกและหน้ากากต้นฉบับ ใช้ท่าพักกับโครงกระดูกที่ทำซ้ำใหม่ และการจัดเสื้อผ้าตามท่าพัก เพื่อวัตถุประสงค์ในการจัดระเบียบ หน้ากากและโครงสร้างที่ซ้ำกันควรถูกเปลี่ยนชื่อตามท่าใหม่ การใส่โครงกระดูกและชุดหน้ากากแต่ละชุดในคอลเลกชันของตัวเองยังช่วยในการจัดระเบียบอีกด้วย การใช้ท่าพักกับโครงกระดูกค่อนข้างง่าย:
- จัดท่าโครงกระดูกในท่าที่คุณต้องการ
- เลือกองค์ประกอบหน้ากากที่แนบมา และค้นหาตัวปรับแต่งโครงกระดูกในแท็บคุณสมบัติตัวปรับแต่ง ก. ในเมนูแบบเลื่อนลงในตัวปรับแต่งโครงกระดูก เลือก “ใช้”
3. เลือกองค์ประกอบ armature และไปที่ Pose Mode
- เลือกกระดูกทั้งหมดและไปที่เมนู Pose ที่ด้านบนของ viewport
- ไปที่ “Apply,” แล้วเลือก “Apply Pose as Rest Pose”
4. กลับไปที่ object mode และเลือกองค์ประกอบ mask
- ในแท็บ Modifiers ให้เพิ่ม Armature modifier ใหม่
- ในจุดเป้าหมายของวัตถุ ค้นหาและเลือกโครงกระดูกที่คุณตั้งท่าไว้
ตอนนี้โครงกระดูกมีท่าพักใหม่ที่ถูกนำไปใช้และองค์ประกอบหน้ากากจะตามท่าพักใหม่นี้
📘 ZEPETO มีการหมุนเฉพาะสำหรับท่า A ที่ปรากฏบนไอเท็มแม่แบบ ZEPETO ที่มีองค์ประกอบด้านบน
ท่า A ของ ZEPETO มีการหมุนข้ามกระดูกทั้งหมด 4 ชิ้น:
- กระดูกไหล่ “shoulder_L” และ “shoulder_R” ถูกหมุนโดย -7.5 องศาบนแกน Z
- กระดูกแขน “upperArm_L” และ “upperArm_R”
มันอาจจะง่ายขึ้นในการใช้การหมุนบนกระดูกโดยใช้การหมุน Euler XYZ แทนการตั้งค่า quaternion เริ่มต้นของ Blender เปลี่ยนแกนการหมุนเหล่านี้ในแท็บการตั้งค่ากระดูกเพื่อความสะดวกในการใช้งาน
ใช้วัตถุหน้ากากและโครงกระดูกที่รวมอยู่ในไฟล์ creatorBaseSet_zepeto.fbx วัตถุเหล่านี้มีชุดชื่อวัตถุ ชื่อกระดูก และการวางแนวกระดูกที่กำหนดไว้ซึ่ง ZEPETO studio จะมองหาเพื่อทำให้ไอเท็มทำงานในแอป เป็นสิ่งสำคัญที่จะต้องรักษาชื่อให้คล้ายกันเพื่อไม่ให้กระบวนการแปลงใน Unity สับสนในภายหลัง
- ตรวจสอบให้แน่ใจว่าโครงกระดูกพอดีกับไอเท็มและตั้งอยู่ในท่าพักของมัน
- หากเสื้อผ้าถูกออกแบบให้พอดีกับท่า T โครงกระดูกฐานของผู้สร้างที่ไม่ได้แก้ไขจะทำงานโดยค่าเริ่มต้น ก. หากเสื้อผ้าอยู่ในท่า A ของ ZEPETO คุณอาจต้องตั้งโครงกระดูกให้พอดีกับท่า A
- เลือกไอเท็มเครื่องแต่งกาย จากนั้นเลือกโครงกระดูก
- ใช้พาเรนต์กับโครงกระดูกด้วยน้ำหนักที่ว่างเปล่า
5. โอนน้ำหนักของหน้ากากไปยังไอเท็ม
- เลือกหน้ากาก จากนั้นเลือกไอเท็ม
- ย้ายไปที่โหมดการทาสีน้ำหนัก
- ใช้การดำเนินการ "โอนน้ำหนัก" ใน Weights > Transfer Weights
- ตรวจสอบให้แน่ใจว่าการดำเนินการโอนน้ำหนักทำ "ตามชื่อ"
6. หมุนข้อต่อเพื่อตรวจสอบว่าน้ำหนักบนไอเท็มถูกตั้งค่าอย่างถูกต้องหรือไม่
- แก้ไขน้ำหนักข้อต่อโดยใช้เครื่องมือแปรงน้ำหนัก ตรวจสอบให้น้ำหนักของตัวเปลี่ยนรูปถูกทำให้เป็นปกติ
- เมื่อการแก้ไขน้ำหนักกระดูกเสร็จสิ้น ให้รีเซ็ตการแปลงของกระดูกทั้งหมด
🚧 อวาตาร์ ZEPETO ใช้กระดูกสเกลเพื่อปรับอวาตาร์พื้นฐานให้เข้ากับขนาดร่างกายหลายขนาด
เมื่อโครงกระดูกมีทั้งกระดูกสเกลและกระดูกที่ไม่ใช่สเกล ให้ใส่น้ำหนักไปที่กระดูกสเกลและปล่อยให้กระดูกที่ไม่ใช่สเกลไม่มีน้ำหนัก
ระบบสมมาตรและการตั้งชื่อกระดูกของ Blender ป้องกันไม่ให้ริกที่ให้มามีกลุ่มเวอร์เท็กซ์ที่สะท้อนอย่างง่ายโดยใช้เครื่องมือสะท้อนน้ำหนักในตัว ความสมมาตรของน้ำหนักต้องถูกนำไปใช้ด้วยตนเองหรือสะท้อนผ่านแอดออน
การริกองค์ประกอบกระโปรงต้องการความสนใจเพิ่มเติม กระโปรงมีความท้าทายมากขึ้นในการริกใน ZEPETO เนื่องจากพฤติกรรมมาตรฐานของสิ่งใดก็ตามที่มีองค์ประกอบขา กระโปรงจะตามขาของไอเท็มเหมือนชุดกางเกงที่ขยายออก ซึ่งอาจทำให้ส่วนกลางของกระโปรงยืดเมื่อขาถูกแยกออก นี่เป็นสิ่งที่หลีกเลี่ยงไม่ได้ แต่ด้วยการทาสีน้ำหนักอย่างระมัดระวัง การยืดสามารถทำให้เรียบได้
เมื่อการผูกและการแก้ไขการตั้งค่าเสร็จสิ้นแล้ว การตั้งค่าจะต้องถูกเปลี่ยนกลับไปเป็นท่า T เพื่อส่งออก ในการทำเช่นนี้ เราจะนำไอเท็มที่ตั้งค่าในท่า A และเปลี่ยนเป็นท่า T จากนั้นนำไอเท็มในท่า T และผูกใหม่กับโครงกระดูกท่า T ในรายละเอียดเพิ่มเติม:
- เลือกโครงกระดูกท่า A ในโหมดท่า
- ย้ายกระดูกโครงกระดูกกลับไปที่ท่า T a. สำหรับท่า A ของ ZEPETO สามารถทำได้ง่ายโดยการหมุนกระดูกไหล่ซ้ายและขวา 7.5 องศาบนแกน Z และหมุนกระดูกแขนบนซ้ายและขวา 40 องศาบนแกน Z
- เลือกไอเท็มในโหมดวัตถุ
- ในแท็บคุณสมบัติของตัวปรับแต่ง ค้นหาตัวปรับแต่งโครงกระดูก
- คลิกเมนูแบบเลื่อนลงและกดใช้
5. เพิ่มตัวปรับแต่งโครงกระดูกให้กับไอเท็ม
- ชี้วัตถุโครงกระดูกไปที่โครงกระดูกท่า T ของ creatorBaseSet ดั้งเดิม
6. แก้ไขตาข่ายของรายการหรือแก้ไขน้ำหนักของรายการสำหรับข้อผิดพลาดที่ปรากฏจากการถ่ายโอนน้ำหนัก
เนื่องจากวิธีการทำงานของการเปลี่ยนรูป ตาข่ายที่ย้ายกลับไปที่ท่า T-pose มีแนวโน้มที่จะสูญเสียปริมาตรบางส่วนในบริเวณไหล่/แขนบนเมื่อกลับไปที่ท่า T-pose การแก้ไขตาข่ายเพื่อเพิ่มปริมาตรกลับเป็นการแก้ไขที่ค่อนข้างง่าย ใช้หน้ากาก T-pose เป็นข้อมูลอ้างอิงสำหรับพื้นที่ขอบเขตตาข่าย
เมื่อถ่วงน้ำหนักทั้งหมดเสร็จสิ้นและพร้อมที่จะส่งออก ให้ลบชุดกระดูกที่ไม่มีอิทธิพลต่อรายการ ZEPETO studio จำกัดจำนวนกระดูกที่สามารถอัปโหลดรายการได้ถึง 100 ชิ้น การลบกระดูกที่ไม่ได้ใช้จะป้องกันปัญหาจำนวนกระดูกนี้ เนื่องจากตัวส่งออกของ Blender จะส่งออกกระดูกทุกชิ้นในโครงกระดูก แม้ว่าจะไม่มีกลุ่มเวอร์เท็กซ์หรือน้ำหนักก็ตาม หากรายการต้องการกระดูกเพิ่มเติมจำนวนมาก อาจจำเป็นต้องลบกระดูกที่ไม่ใช่สเกลเพื่อลดจำนวนกระดูก หากจำเป็น ให้ลบกระดูกที่ไม่ใช่สเกลที่มีกระดูกสเกลที่สอดคล้องกัน ยกเว้นหากเป็นกระดูกบิดหรือกระดูกสะโพก รายการจะเสียหายหากไม่มีกระดูกสะโพก