φυβλαςのβλογ
บล็อกของ phyblas



[maya MMD] การผจญภัยของอควาในเมืองร้าง
เขียนเมื่อ 2017/02/07 22:16
แก้ไขล่าสุด 2021/09/28 16:42
เพิ่งได้ลองใช้มายาสร้างอนิเมชันขึ้นมาดูเป็นครั้งแรก ผลงานได้ลงเอาไว้ในยูทูบ



ตั้งแต่ฝึกใช้โปรแกรมมายามาก็ยังไม่ได้ลองนำมาใช้สร้างอะไรแบบนี้มาก่อน นี่ถือเป็นงานใหญ่ที่สุดเท่าที่ได้เคยลองทำมาถึงตอนนี้

วีดีโอยาวแค่ ๓ นาทีกว่านี้ แต่ใช้เวลาทำหลายวันทีเดียว ต้องตรวจบั๊กแล้วเรนเดอร์ซ้ำใหม่อยู่หลายทีด้วย ทำให้ยิ่งรู้ซึ้งได้มากขึ้นมาเลยว่าคนทำอนิเมะเนี่ยกว่าจะออกมาได้ตอนนึงไม่ใช่ง่ายๆเลย

ทั้งฉากและตัวละครทั้งหมดเอามาจากโมเดลของ MMD (miku miku dance) นำมาใส่ในมายา

ตัวละครที่ใช้คือ อควา (アクア) จากอนิเมะเรื่อง kono subarashii sekai ni shukufuku o! (この素晴らしい世界に祝福を!)
ได้โมเดลมาจาก http://www.nicovideo.jp/watch/sm28895777



ส่วนฉากเมืองร้างเอามาจากในนี้ โดยมีการดัดแปลงไปเล็กน้อย
http://amiamy111.deviantart.com/art/MMD-City-in-stress-280830058



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

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

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

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

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



ตอนแรกกะว่าแค่อยากลองเอาอความาเดินเล่นในฉาก แต่ทำไปทำมาก็เกิดความคิดที่จะใส่อะไรมากขึ้นเรื่อยๆ เริ่มเป็นเรื่องเป็นราวขึ้นมา

เพลงท่อนสั้นๆที่ใส่ไปตอนต้นและท้ายนี้มาจากเพลง ouchi ni kaeritai (おうちに帰りたい) เพลงเปิดของอนิเมะเรื่องนี้ภาคสอง ร้องโดยอามามิยะ โซระ (雨宮 天) คนพากย์อควานั่นเอง

เนื้อหาก็คือคนร้องหนีออกจากบ้านมายังที่แบบนี้ แต่พอตอนหลังเริ่มรู้สึกเสียใจอยากกลับบ้าน ดูเข้ากับฉากในนี้ได้อย่างน่าประหลาด

ส่วนเนื้อร้องและคำแปลเพลงท่อนที่ใส่ไปตอนต้นและท้ายนี่เอาไปใส่เพิ่มเติมภายหลังในโปรแกรม after effects ก็ใช้โค้ดแบบเดียวกับตอนที่ทำ MAD ของเพลงจากเกม https://phyblas.hinaboshi.com/20151231

ส่วนดนตรีฉากหลังที่ดังช่วงกลางคือเพลง fuan na kokoro (不安な心) จากเกม FFVII คิดว่าถ้าใครเคยเล่นพอได้ยินก็คงจำได้ทันที ทำนองเข้ากับบรรยากาศเป็นอย่างดี

การเอาตัวละครมาเดินในฉากแบบนี้เป็นเรื่องยากมากอยู่ เพราะมีการเดินเลี้ยวไปมาและเส้นทางก็มีความลาดชันไม่ใช่เรียบๆ ต้องเขียนโค้ดไพธอนขึ้นมาควบคุมให้เดินตามเส้นและความสูงของพื้น ใช้ numpy และ scipy ช่วย ผลที่ออกมาดูเหมือนจะพอไปได้ แต่พอลองมาดูในรายละเอียดแล้วก็มีคลาดเคลื่อน เท้าจมพื้นบ้างลอยบ้าง ดังนั้นฉากไหนที่ให้มุมกล้องเห็นเท้าด้วยก็ต้องมาแก้ ส่วนฉากที่ไม่ได้เห็นเท้าก็ปล่อยไป

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

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

นอกจากเรื่องการเดินแล้ว ระหว่างทางยังมีผีปรากฏตัวขึ้นมาเรื่อยๆ รวมทั้งหมด ๖ ตัว เป็นมิกุ ๕ ตัว ๕ แบบ โดนอควาปราบไปหมด และตัวใหญ่ตอนท้ายสุดคือเทโตะ ขนาด x100

ทั้งหมดก็เป็นโมเดลจาก MMD ที่ดึงมาเฉพาะรูปร่างแล้วเปลี่ยนผิวให้เป็นตัวสีฟ้าใส ดูน่ากลัวไปอีกแบบ

มีหลายส่วนที่ไม่เหมาะที่จะใช้ไพธอนจัดการ เช่นการจัดท่าถือไม้เท้า ท่าโจมตีศัตรู ยังไงก็ต้องมาจัดท่าเอาเองด้วยมือ แต่โดยรวมแล้วส่วนที่เหลือส่วนใหญ่จัดการด้วยการพิมพ์โค้ดไพธอน

จากนี้ไปก็ยังต้องเรียนรู้การเขียนไพธอนต่อไป มีอะไรที่อยากทำอีกมากมาย


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

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

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

หมวดหมู่

-- คอมพิวเตอร์ >> 3D >> maya
-- คอมพิวเตอร์ >> 3D >> MMD

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

สารบัญ

รวมคำแปลวลีเด็ดจากญี่ปุ่น
มอดูลต่างๆ
-- numpy
-- matplotlib

-- pandas
-- manim
-- opencv
-- pyqt
-- pytorch
การเรียนรู้ของเครื่อง
-- โครงข่าย
     ประสาทเทียม
ภาษา javascript
ภาษา mongol
ภาษาศาสตร์
maya
ความน่าจะเป็น
บันทึกในญี่ปุ่น
บันทึกในจีน
-- บันทึกในปักกิ่ง
-- บันทึกในฮ่องกง
-- บันทึกในมาเก๊า
บันทึกในไต้หวัน
บันทึกในยุโรปเหนือ
บันทึกในประเทศอื่นๆ
qiita
บทความอื่นๆ

บทความแบ่งตามหมวด



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

  ค้นหาบทความ

  บทความแนะนำ

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

ไทย

日本語

中文