φυβλαςのβλογ
บล็อกของ 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)
หอดูดาวโบราณปักกิ่ง ตอนที่ ๑: แท่นสังเกตการณ์และสวนดอกไม้
พิพิธภัณฑ์สถาปัตยกรรมโบราณปักกิ่ง
เที่ยวเมืองตานตง ล่องเรือในน่านน้ำเกาหลีเหนือ
ตระเวนเที่ยวตามรอยฉากของอนิเมะในญี่ปุ่น
เที่ยวชมหอดูดาวที่ฐานสังเกตการณ์ซิงหลง
ทำไมจึงไม่ควรเขียนวรรณยุกต์เวลาทับศัพท์ภาษาต่างประเทศ

บทความแต่ละเดือน

2023年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2022年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2021年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2020年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2019年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

ค้นบทความเก่ากว่านั้น

ไทย

日本語

中文