φυβλαςのβλογ
phyblas的博客



~ mmdpaimaya ~ แปลงโมเดล MMD มาใส่ในมายา
เขียนเมื่อ 2017/02/21 08:47
แก้ไขล่าสุด 2021/09/28 16:42
เพิ่งได้ทำโปรแกรมสำหรับแปลงโมเดล MMD มาใส่ในมายาขึ้นมา ชื่อโปรแกรมคือ mmdpaimaya (MMD ไปมายา) เป็นชื่อที่ตรงไปตรงมาไม่ต้องคิดอะไรมากให้ปวดหัว



ลงเอาไว้ใน github พร้อมเขียนคำอธิบายไว้
>> https://github.com/phyblas/mmdpaimaya

นี่เป็นครั้งแรกที่ลองใช้ github เพื่อแจกจ่ายโปรแกรมของตัวเอง หลังจากที่ทุกทีมีแต่จะเข้าไปโหลด



ความคิดที่ว่าอยากเอาโมเดลจาก MMD มาใช้ในมายานั้นที่จริงเคยคิดอยากทำตั้งนานแล้ว ตั้งแต่ช่วงปี 2015 ซึ่งเริ่มหัดใช้มายา แต่ยังไม่มีโปรแกรมที่สามารถทำเช่นนั้นได้โดยสมบูรณ์

ก่อนหน้านี้เคยมีคนเขียนโค้ดโปรแกรมสำหรับแปลงโมเดลใน MMD มาใส่ในมายา โดยเท่าที่เคยเจอมีอยู่ ๒ โปรแกรม เขียนโดยคนญี่ปุ่น

ได้แก่โปรแกรม PmxIO http://mayatech.blog.jp/archives/3009881.html

และ mmd-transporter http://www.nicovideo.jp/watch/sm23644737

สำหรับ PmxIO นั้นความสามารถถือว่ายังค่อนข้างน้อย ไม่ได้ดึงความสามารถอะไรหลายๆอย่างจากโมเดลของ MMD มาใส่ อีกทั้งมีบั๊กเยอะ ใช้กับโมเดลได้ค่อนข้างจำกัด

ส่วน mmd-transporter นั้นเท่าที่ลองใช้ดูพบว่าไม่สามารถใช้งานได้เนื่องจากบั๊กที่แม้จะพยายามลองดูแล้วก็ยังไม่สามารถแก้ไขได้

อย่างไรก็ตามโค้ดทั้งหมดของทั้งสองโปรแกรมนี้เขียนด้วยภาษาไพธอน ซึ่งเราก็ค่อนข้างคุ้นเคยอยู่แล้ว จึงเกิดความคิดว่าลองเอาโค้ดมาศึกษาแล้วปรับปรุงสร้างของตัวเองขึั้นมาซะเลย

ช่วงปี 2015 ตอนนั้นยังเพิ่งหัดภาษาไพธอนได้ไม่นาน ยังไม่ค่อยคล่องนักจึงไม่สามารถทำอะไรได้มาก แต่ตอนนี้พอกลับมาลองจับดูอีกครั้งก็พบว่าไม่ได้ยากอย่างที่คิด



การแปลงข้อมูลของ pmd และ pmx มาใส่ในมายานั้นมีอะไรท้าทายมากมายอยู่พอสมควร ด้วยความที่ MMD และมายาถูกออกแบบมาค่อนข้างแตกต่างกัน

แนวทางในการแปลงนั้นยึดตาม ๒ โปรแกรมที่ใช้เป็นต้นแบบ โดยรวมแล้วมีแนวโน้มเหมือนกัน แต่ก็มีบางส่วนที่ทั้งสองโปรแกรมเขียนต่างกัน เราจึงลองเขียนทั้งสองแบบดูเปรียบเทียบว่าอันไหนดูจะดีกว่าแล้วก็ใช้แนวทางตามนั้น

อย่างไรก็ตามความสามารถของโมเดล MMD ไม่สามารถดึงมาลงในมายาได้ทั้งหมด มีอะไรหลายอย่างที่ต้องตัดใจ ดังที่อธิบายไว้ในคำอธิบายโปรแกรม

ส่วนหนึ่งที่สำคัญคือเรื่องการทำฟิสิกส์ ส่วนที่ทำให้เส้นผมและเสื้อผ้าพริ้วไหว



ที่จริงเรื่องการดึงฟิสิกส์จาก MMD มาใช้ในมายานั้น mmd-transporter ดูเหมือนจะสามารถทำได้ โดยใช้ bullet ซึ่งเป็นความสามารถเสริมอย่างหนึ่งในมายา

อย่างไรก็ตาม เราพยายามทำตามแล้วพบว่ามันออกมาแปลกๆ การเคลื่อนไหวยังห่างไกลจากที่ควรจะเป็น ดังนั้นจึงตัดตรงส่วนนี้ออก

ฉะนั้นหากต้องการทำเส้นผมและเสื้อผ้าพริ้วไหวก็ต้องมาขยับเอาเอง ถ้าทำดีๆอาจทำได้สมจริงกว่าใน MMD เองก็เป็นได้



อีกความสามารถหนึ่งที่ PmxIO มีแต่เราไม่ได้ลองทำก็คือการแปลงโมเดลจากมายาไปเป็น MMD

แต่ไหนแต่ไรเราต้องการเล่นในมายาเป็นหลัก เลยต้องการดึงโมเดลจาก MMD มาเล่นในมายาเท่านั้น

แต่ในอนาคตหากตัวเองสามารถสร้างโมเดลดีๆขึ้นมาได้มากเข้าก็คงอยากจะมาลองทำโปรแกรมสำหรับแปลงเป็น pmx เพื่อจะนำมาแจกให้คนอื่นใช้ใน MMD อีกที

มีเรื่องที่อยากทำมากมายอยู่ โปรแกรมนี้เองก็อยากปรับปรุงให้ดีกว่านี้ไปอีก แต่ว่าตอนนี้คงต้องรอไปก่อน เนื่องจากว่าน่าจะไม่มีเวลา

เดิมทีช่วงที่เริ่มเขียนโค้ดนี้ขึ้นมานั้คือในช่วงหัวเลี้ยวหัวต่อตอนก่อนจะเริ่มเรียนปริญญาเอก มีช่วงที่ให้พักว่างๆระหว่างเตรียมตัว แต่จากนี้ไปคงกำลังจะยุ่งมากขึ้นเรื่อยๆ คงจะหาเวลามาทำอะไรต่อยาก

อย่างไรก็ตาม ใครมีอะไรสงสัยเกี่ยวกับโปรแกรม หรือตรวจเจอบั๊กก็สามารถแจ้งมาได้ หากมีเวลาก็จะรีบดู


-----------------------------------------

囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧

ดูสถิติของหน้านี้

หมวดหมู่

-- คอมพิวเตอร์ >> 3D >> maya
-- คอมพิวเตอร์ >> เขียนโปรแกรม >> python >> mayapython
-- คอมพิวเตอร์ >> 3D >> MMD

ไม่อนุญาตให้นำเนื้อหาของบทความไปลงที่อื่นโดยไม่ได้ขออนุญาตโดยเด็ดขาด หากต้องการนำบางส่วนไปลงสามารถทำได้โดยต้องไม่ใช่การก๊อปแปะแต่ให้เปลี่ยนคำพูดเป็นของตัวเอง หรือไม่ก็เขียนในลักษณะการยกข้อความอ้างอิง และไม่ว่ากรณีไหนก็ตาม ต้องให้เครดิตพร้อมใส่ลิงก์ของทุกบทความที่มีการใช้เนื้อหาเสมอ

目录

从日本来的名言
模块
-- numpy
-- matplotlib

-- pandas
-- manim
-- opencv
-- pyqt
-- pytorch
机器学习
-- 神经网络
javascript
蒙古语
语言学
maya
概率论
与日本相关的日记
与中国相关的日记
-- 与北京相关的日记
-- 与香港相关的日记
-- 与澳门相关的日记
与台湾相关的日记
与北欧相关的日记
与其他国家相关的日记
qiita
其他日志

按类别分日志



ติดตามอัปเดตของบล็อกได้ที่แฟนเพจ

  查看日志

  推荐日志

ตัวอักษรกรีกและเปรียบเทียบการใช้งานในภาษากรีกโบราณและกรีกสมัยใหม่
ที่มาของอักษรไทยและความเกี่ยวพันกับอักษรอื่นๆในตระกูลอักษรพราหมี
การสร้างแบบจำลองสามมิติเป็นไฟล์ .obj วิธีการอย่างง่ายที่ไม่ว่าใครก็ลองทำได้ทันที
รวมรายชื่อนักร้องเพลงกวางตุ้ง
ภาษาจีนแบ่งเป็นสำเนียงอะไรบ้าง มีความแตกต่างกันมากแค่ไหน
ทำความเข้าใจระบอบประชาธิปไตยจากประวัติศาสตร์ความเป็นมา
เรียนรู้วิธีการใช้ regular expression (regex)
การใช้ unix shell เบื้องต้น ใน linux และ mac
g ในภาษาญี่ปุ่นออกเสียง "ก" หรือ "ง" กันแน่
ทำความรู้จักกับปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง
ค้นพบระบบดาวเคราะห์ ๘ ดวง เบื้องหลังความสำเร็จคือปัญญาประดิษฐ์ (AI)
หอดูดาวโบราณปักกิ่ง ตอนที่ ๑: แท่นสังเกตการณ์และสวนดอกไม้
พิพิธภัณฑ์สถาปัตยกรรมโบราณปักกิ่ง
เที่ยวเมืองตานตง ล่องเรือในน่านน้ำเกาหลีเหนือ
ตระเวนเที่ยวตามรอยฉากของอนิเมะในญี่ปุ่น
เที่ยวชมหอดูดาวที่ฐานสังเกตการณ์ซิงหลง
ทำไมจึงไม่ควรเขียนวรรณยุกต์เวลาทับศัพท์ภาษาต่างประเทศ