MMD Basic บทที่ 2 ว่าด้วยเฟรมและระบบ Motion

ใครไม่เคยอ่านบทที่ 1 ไปอ่านก่อนนะ เดี๋ยวจะงง http://2th.me/thread-54404-1-1.html
คราวที่แล้วผมได้สอนการจัดท่าทางเบื้องต้นกันไปแล้วคราวนี้เราจะมาเริ่มทำภาพเคลื่อนไหวกัน(Animation)โดยมาทำความเข้าใจระบบMotion ของโปรแกรมกันก่อนนะครับ


ในกรอบด้านข้างของโปรแกรมเราจะพบหน้าต่างเฟรมนะครับซึ่งแบ่งการใช้งานหลักๆตามด้านบนนะครับ
สีเขียว –คือเฟรมที่กำลังทำงานอยู่จะแสดงว่าขณะนี้เราทำงานอยู่ที่เฟรมที่เท่าไหร่ปุ่มข้างๆจะเป็นการขยับไปข้างๆ 1 เฟรม ( < > ) อันมีจุด (.< >.)จะเป็นการไปยังเฟรมที่มีการ register ที่ใกล้ที่สุดในกรอบสีเขียวเราสามารใส่เฟรมที่เราต้องการทำงานเข้าไป เพื่อไปยังเฟรมนั้นๆได้โดยเฟรมที่เราทำงานอยู่จะมีเส้นสีเขียวอยู่ที่ เส้นเฟรมนั้นๆ

สีแดง – คือลิสต์ของชื่อกระดูก(ญี่ปุ่นล้วนนะไม่ต้องกลัวเพราะบางโมเดลจะเป็นภาษาอังกฤษนะครับ)
สีน้ำเงิน –คือช่องแสดงว่ากระดุกนั้นๆมีการบันทึกการกระทำ (Register)ในเฟรมนั้นๆหรือไม่นะครับ
สีเหลือง – คือช่องคำสั่งในการจัดการเฟรม(ได้ใช้เวลาทำท่าเต้นของเพลงยาวๆนะครับ)แบ่งเป็น
Copy– ใช้คัดลอกค่าregister ของกระดูกที่เลือก ณ เฟรมนั้นๆ
Paste – หลัง Copyก้อต้องวางใช่ไหมละครับโดยเมื่อวางจะวางแบบดื้อๆโดยจะยึดเฟรมที่ทำงานอยู่เป็นหลักเช่น ถ้าก็อบปี้กระดูกที่ reg แล้วที่ห่างกัน 10 เฟรม ถ้าเรานำไปวางในเฟรมที่20 เฟรมแรกที่ก็อบปี้มาจะโพล่ที่เฟรมที่ 20 และเฟรมสุดท้ายจะอยู่ที่เฟรม 30(ไปลองดูนะครับ)
V-sel –ใช้ในการเลือกกระดูกทุกกระดูกที่มีการ register ไว้ ณเฟรมนั้นๆยึดเฟรมที่มีการเลือก (ไม่ใช่เล้นสีเขียว)แต่ยึดจุดที่มีสีแดงอยู่นั้นเอง(ไปลองเองอีกแหละ)
Delete – ใช้ในการลบเฟรมที่ไม่ใช้นั้นเอง
ในส่วนนี้แค่อธิบายคราวๆเพราะเราจะใช้จริงในบทที่ 3 (ผมบอกเพื่อว่าใครเอาไปลองฝึกก่อนนะ)

การเลือกเฟรม
ทำได้ 3 วิธีหลักๆ
- คลิกที่เส้นเฟรมที่ต้องการเลยเส้นสีเขียวจะเด้งไปที่เฟรมนั้นๆ
- ใส่เฟรมที่ต้องการลงไปในช่องบอกเฟรม(วงกลมสีเขียว) แล้วกด Enter
- ใช้ปุ่มข้างๆปุ่มบอกเฟรมดุรายละเอียดด้านบน
เอาละทำความเข้าใจ Motion ของโปรแกรมนี้กันหน่อยนะครับในโปรแกรมนี้ 30 เฟรม = 1 วินาที(ค่าเบื้องต้น)
ง่ายๆ ถ้าเราให้หนุมิกคุเอาแขชิดลำตัวแบบยืนตรงเคารพธงชาติในเฟรมที่ 0 (เฟรมเริ่ม)แล้วกำหนดเฟรมที่ 30 โดยในเฟรมที่ Y หนูมิกคุจะกางแขนออก ถ้าเราเริ่มกดปุ่มเล่นจะพบว่าหนุมิกคุของเราค่อยๆกางแขนออกจากท่าที่หนูมิกคุหุบแขนอยู่นะครับโดยการกระทำดังกล่าวจะกินเวลา 30 เฟรม หรือ 1 วินาทีโดยจะเคลื่อนที่ไปในทิศทางที่สั้นที่สุดเสมอ
เอาเป็นว่าถ้าใคร งงเราจะลองทำความเข้าใจด้วยการจับหนูมิกคุเดินแบบง่ายๆกัน (ผมเตรียมมาให้ละนะ)


แน่นอนเริ่มด้วยอิมพอร์ทโมเดลเข้ามาก่อน ใช้ตัว Miku เบอร์ 7ไปก่อนนะครับใครโหลดของเก่าไปน้า
เลือกที่เฟรมที่ 15 ดูในหัวข้อข้างบนในวิธีการเลือกเฟรมนะถ้าเลือกถูกต้องเส้นสีเขียวจะอยู่ที่เฟรมที่ 15

ให้เราเลือก IK ที่เป็นแกนอยู่บริเวณระหว่างขาวงกลมน้ำเงิน(แกนนี้คือแกนที่กำหนดตำแหน่งของละตัวครับ)
ลากไปข้างหน้าตามรูปข้างบนโดย (ลากไปข้างหน้ายังไงไปดูในบทแรกนะครับ)กดปุ่ม register (ต่อไปผมจะเรียกสั้นๆว่า Reg นะครับ)จะขึ้นจุดขึ้นมาบอกว่าเราได้บันทึกการกระทำนี้ไว้แล้วในเฟรมที่ 15(วงกลมแดง)
กลับไปที่เฟรมที่ 0 แล้วลองกดปุ่มPlay ดู (อยู่ในหน้าต่างขวาล่างสุด
สีเทาๆนะครับ)
อ๊ะมะนขยับแล้วแต่ดูแปลกๆเราจะต้องให้หนูมิกคุก้าวขาหน่อยน้า

ไปที่เฟรมที่ 15 จากนั้นเลือกกระดูกที่เท้า 2 ชิ้น โดยการกด Shiftระหว่างเลือก
อ้าวทำไมต้องเลือกสองอันละ
เพราะกระดูกสองอันที่เราเลือกคือเท้าทั้งเท้าครับ ตรงข้อเท้าจะคุมเฉพาะข้อเท้า-ส้นเท้าตรงปลายเท้าก็จะคุมเฉพาะปลายเท้า
ทำการ reg ให้เรียบร้อย ไปที่เฟรม 0 แล้วลองกดเล่นดู

เลือกที่กระดูกเท้าทั้งสองชิ้นของอีกข้างครับ reg ไว้เช่นเดียวกัน
ทำไมละ เราไม่ได้ขยับเท้าอีกข้างซะหน่อย 

คำตอบคือ เพราะในการก้าวขาอีกครั้งจะเกิดปัญหาตอนก้าวขาออกมาจะเกิดยังไงรอซักแปบก่อนนะอธิบายตอนนี้จะไม่เห็นภาพ(แนะนำจะลองทำแบบไม่ reg ดูเพื่อการศึกษานะครับถ้าใครอยากทำได้ก้อทำตามวิธีหลักไปก่อนผมจะอธิบายในขั้นถัดไปว่าทำไมต้อง reg)
ในวงกลมสีเขียวของเพื่อนจะมี +IK อยู่ให้คลิก 1ที่ เพื่อดุราชื่อกระดูกในหมวด IK เพราะกระดูกในโปรแกรมมีจำนวนมากตัวโปรแกรมจึงจัดกระดูกไว้เป็นหมวดๆในที่นี้เราจะทำในหมวด IK ทั้งหมดเราเลยเปิดดูเฉพาะ IK 

เอาละทำต่อกันเลย


ไปที่เฟรมที่ 8 นะครับแล้วยกเท้าขึ้นตามรูปนะ reg แล้วไปที่เฟรม0 กด play ดูผล(เวลาเช็คให้เช็คตามนี้นะครับขยับในตามรูปในส่วนวงกลมสีน้ำเงินแล้วตรวจว่าในวงกลมสีแดงถูกต้องตามหรือไม่)
จะเห็นว่าหนุมิกคุเราก้าวได้ 1 ก้าวแล้ว(อาจเป็นก้าวเล็กๆของหนูมิกคุแต่เป็นก้าวครั้งสำคัญของเรา)

เอาละทำให้เป็นธรรมชาติหน่อย

เลือกเฉพาะกระดูกปลายเท้าลากลงมานิดหนึ่ง reg ซะให้เรียบร้อบจากนั้นไปเฟรม 0 กด play ดูอีกที
อ้าเดินได้ดีขึ้นนะครับ เอาละก้าวขาต่ออีกก้าวนะ

ไปที่เฟรม 30 นะครับ เลือกกระดูกแกนลำตัว แล้วลากไปข้างหน้าตามรูป regแล้วลองplay ดู(เวลาจะ play ไป เฟรม 0 ก่อนนะ)

Reg ขาข้างที่ก้าวไปแล้ว (ทำไปก่อนนะถ้ายังสงสัยอยู่ผมอธิบายในตอนท้ายสุดไปเลยจะดีกว่า)

ลากเท้าอีกข้างมาด้านหน้า ใช้วิธีแบบเท้าข้างที่แล้ว reg แล้วลอง play

ไปเฟรมที่ 23แล้วจัดการจัดรูปเท้ากลางอากาศให้เรียบร้อย (ทำเหมือนข้างที่แล้วเลย) reg แล้วลอง play

เอาละเดินมา 2 ก้าวละ (มือใหม่หัดเดินเริ่มเหนื่อยต้องหยุดกันหน่อย)


ไปเฟรมที่ 45ลากแกนกระดูลำตัวกับเท้ามาให้อยุ่ในลักษณะยืนตรง (คงทำได้น้า) reg แล้วลอง play
อ้าเสร็จกันซะที
เอาละลองทำกันแล้วจะเห็นได้ว่าการทำงานจะเป็นไปตามขั้นตอนคือ ยกเท้าขึ้น เหยียบลง แล้วก้าว ต่อไป ก่อนจะหยุด เขียนแผนภาพง่ายๆตามด้านล่างเลย

ก้าวแรกของเรานั้น motion จะทำงานตั้งแต่เฟรม0- 15 ก้าวที่ 2 เฟรม 15 – 30ชิดเท้าที่ เฟรม 45
ผมเคยบอกในขั้นตอนไว้ว่าทุกๆก้าวจะต้องมีการ reg กระดูกเท้าทั้งสองข้างทำไม? กันละ
เพราะไม่งั้นจะเกิดเหตุการณ์ตามกราฟด้านล่างครับ


ทำไมละเพราะว่าเราไม่ได้มีการบันทึกการกระทำในเท้าที่ใช้ก้าวก้าวที่ 2(ที่เราบันทึกไปดูได้ในรูปที่ 5 ครับ)
การกระทำจึงเกิดตั้งแต่เฟรมที่ 0- 30 ตามรูปบนและหากไม่ reg ขาตอนชิดเท้าอีกการชิดเท้าจะเกิดหลังก้าวเสร็จการก้าวเดินก็จะผิดปรกติจากการเดินปรกติ


พอเรา reg ก็เหมือนเบรกหยุดการกระทำเส้นเขียวในรูป หลังก้าวก้าวแรกจบ ผมให้ reg ขาอีกข้างไว้ในเมื่อขาข้างที่ 2 ในเฟรมที่ 0และ 15 เหมือนกัน จะไม่มีการเคลื่อนไหวหรือการยุดรอนั้นเองจากนั้นก็จะเริ่มก้าวจริงๆในเฟรมที่ 15หลักการนี้เป็นแบบเดียวกันกับการชิดเท้านะครับคือระหว่างก้าวขาที่2เราให้เท้าแรกหยุดรอก่อนนั้นเอง (ตรงนี้ใครไม่เข้าใจ โพสไว้นะครับเพราะมาถึงตอนนี้ผมได้อธิบายไว้ละเอียดมากแล้ว ไม่เข้าใจให้โพสทิ้งไว้นะคับจะมาตอบให้)
เอาละมาต่อเรื่องกล้องกันหน่อย โปรแกรมนี้จะกำหนดจุดแบบใช้กล้องจริงนะทำไงละ เอาคราวๆกันก่อน (ไว้บท 3 เรียน เต็ม)

ในส่วนการจัดการโมเดล (หน้าต่างแดง) ให้ทำตามรูปนะ
จะเด้งมาแบบนี้

ตามรูปคือมุมกล้อง ณ เฟรม 45
ไปที่เฟรมที่ 0 ก่อน

ต่อไปก็หมุนมุมกล้อง (แบบเดียวกับการหมุนมุมมองตอนจัดโมเดลคลิกขวาหมุน ลูกกลิ้งใช้ซูมเข้าออก ให้หมุนแล้ว ซูมออกตามรูปด้านล่าง )


กด register ในหน้าต่าง camera หน้าต่างสีน้ำเงิน
เอาละกำหนดมุมกล้องเสร็จละ
เอาละพอทำได้เรามาเรนเดอร์(เซฟ)ออกมาเป็นวีดีโอไว้ดูให้ชื่นใจและมีกำลังใจกันหน่อย


ไปที่ file>render to AVI file ครับจะมีหน้าต่างมาให้เลือกว่าจะเซฟที่ไหนนะครับ
พอกดเซฟจะมีหน้าต่างแบบนี้ขึ้นมา

ให้เรากำหนดเฟรมที่จะบันทึกลงไปในที่นี้เราทำไว้ 45 เฟรม ให้เลือก0(เฟรมที่เริ่ม) ลงในช่องแรก และ 50 ในช่องที่ 2 (ช่องสิ้นสุดการบันทึก)จริงๆเราทำไว้ 45 เฟรม แต่เวลาเราบันทึกจริงควรเพื่อไว้ซักนิดหนึ่งครับ อาจจะ 5 –30 เฟรม (กันพลาดนะครับ)กด OK แล้วเราจะได้ไฟล์วีดีโอกันแล้วเย้

Tick นิดหน่อย
ในการเคลื่อนย้ายกระดูกหากเราไม่ใช้เครื่องมือแล้วเราสามารถใช้เครื่องมือทางขวาล่างของจอแสดงผลได้หน้าตาแบบนี้

อันบนจะเป็นส่วนของการหมุนกระดูก ( X Y Z )
อันล่างจะเป็นการเลื่อน หรือเคลื่อน กระดูก IK (X Y Z)
โดยการใช้เครื่องมือพวกนี้จะเป็นการหมุนหรือเลื่อนตามแกนเท่านั้น แกน XY Z (แกนซ้าย-ขวา แกนตั้ง-นอน แกน หน้า – หลัง)ลองไปใช้ให้คล่องครับจะช่วยในหารจัดท่าทางได้มาก
อีก 1 tick
กระดูกที่เรา reg เรียบร้อยแล้วเราสามารถเซฟเป็นข้อมูลโมชั่นได้โดยให้เลือกโดยคลิกเลือกเฟรมที่ต้องการโดยคลิกเลือกกระดูกในเฟรมที่ต้องการบันทึกอย่างน้อย1 จุด แล้วกด V –sel จะเป็นการเลือกกระดูทั้งหมดในทุกเฟรมที่เลือกไว้

พอเลือกเสร็จให้เราเซฟโดย

กด save motion data
โดยเมื่อเราจะเรียกใช้โมชั่นก็เพียงแค่โหลดโมเดลตัวใหม่(ต้องเป็นโมเดลที่มีพื้นฐานเดียวกัน เช่น โมเดล lat ก็ ควรใช้กับ latอาใช้กับโมเดลอื่นได้แต่อาจจะมีความผิดปรกติเกิดขึ้นซึ่งไม่ค่อยเกิดถ้าใช้ model lat เพราะเป็นโมเดลที่ใช้ทั่วไปในการทำงานในปัจจุบันเช่น lat miku,lat rin,lat tero)
นี่เป็นไฟลล์งานที่ทำเสร็จแล้วนะครับtraineer.rar (AID: 266011) (ไม่ค่อยดีหรอก แต่ใช้ดูเป็นแนวทางได้) เป็น avi ที่ผมทำ (แบบลวกๆ ) พอเป็นแนวทางให้ใช้ในการศึกษาได้ (เป็นการเดินโดยมีการแกว่งแขน)
traineer.rar (AID: 266011)traineer.rar (AID: 266011)traineer.rar (AID: 266011)
ในที่สุดก้อจบบทที่ 2 แล้ว
ดีใจมาก (พยายามนานมาก) ยังๆก็อย่ายอมแพ้นะครับบทนี้ค่อนข้างยากถ้าไม่ได้ให้โพสไว้นะครับ ขอกำลังใจหน่อยก้อดีเพราะในบทหน้าจะมีตัวอย่างวีดีโอมาให้ดูด้วยละครับ ยังไงก็ติดตามต่อด้วยนะครับ


คลับเปิดแล้วนะครับ http://2th.me/group-652-1.html เข้าไปจอยได้เลย
บทที่ 3 มาแล้ว http://2th.me/thread-55344-1-1.html
แก้ไขครั้งสุดท้ายโดย ghostteam เมื่อ 2012-7-4 19:56
แก้ไขครั้งสุดท้ายโดย ghostteam เมื่อ 2012-7-4 19:56
แก้ไขครั้งสุดท้ายโดย ghostteam เมื่อ 2012-7-4 20:00
แก้ไขครั้งสุดท้ายโดย ghostteam เมื่อ 2012-7-5 19:39
แก้ไขครั้งสุดท้ายโดย ghostteam เมื่อ 2012-7-5 20:07
แก้ไขครั้งสุดท้ายโดย ghostteam เมื่อ 2012-7-7 13:13
MMD [Miku Miku Dance] Basic 2