Tutorial Rigging Face
พอดีผมมีวีดีโอสอนการ Rigging Face น่ะครับ
และผมทำไปแล้วชอบลืม และต้องมาดูใหม่
เลยจับภาพวีดีโอ มาทีละภาพ และมาเสนอเป็นขั้นตอน
เผื่อใครสนใจจะทำบ้างน่ะครับ
พอดีผมมีวีดีโอสอนการ Rigging Face น่ะครับ
และผมทำไปแล้วชอบลืม และต้องมาดูใหม่
เลยจับภาพวีดีโอ มาทีละภาพ และมาเสนอเป็นขั้นตอน
เผื่อใครสนใจจะทำบ้างน่ะครับ
ให้ เรามองจากด้านข้างของโมเดล ถ้าจะให้ง่ายต่อการมอง ก็ปรับเป็นแบบ xray
เพื่อ ที่จะมองเห็น joint ภายใน และอีกทั้งมองเห็นสีผิวภายนอกแบบเบาบางด้วยครับ
*** อย่าลืมตั้งชื่อให้กับ joint แต่ละส่วนนะครับ เพื่อนที่ต่อไปจะง่ายต่อการเลือก***
ในที่นี้ผมตั้ง neck, Head, HeadTip, jaw, jawTip
============================================
และนำโมเดลนั้น ไปไว้ใน Layer และกดซ่อนก่อนครับ
เพื่อที่จะง่ายต่อการ set joint
เลือกที่ IK Handle Tool ตามในรูปครับ
============================================
ผล ที่ออกมาก็จะได้ดังรูปครับ
============================================
และนำไปไว้ในจุดกึ่งกลางของ joint : Head
ซึ่งทำโดยการ เลือกเส้นวงกลมโดยใช้เครื่องมือ Move Tool
โดย ให้จุดกึ่งกลางของ ลูกศร Move Tool นั้น เป็นสีเหลือง
จากนั้น ให้เรา Zoom ไปที่ joint : Head
แล้วก็คลิกเม้าส์ ปุ่มกลาง(ไม่ต้องกด Alt)
และ กดที่ตัว v บนคีย์บอร์ด
กดเม้าส์ปุ่มกลางค้างไว้และเลื่อนไปยังที่ Join : Head
จากนั้น เส้นวงกลมนั้น ก็จะมาอยู่ที่จุดกึ่งกลางของ joint : Head
***กด v ค้างไว้นั้นคือการย้ายจุดกึ่งกลางวัตถุนั้น
มาอยู่ในจุด vertex แต่ในที่นี้ joint ก็ด้วยเช่นกัน***
***ถ้ากด c ค้างไว้นั้นคือการย้ายจุดกึ่งกลางวัตถุนั้น
มาอยู่บนเส้น curve(Nurbe) ไม่ก็เส้น Edge(Polygon)***
***ถ้ากด x ค้างไว้นั้นคือการย้ายจุดกึ่งกลางวัตถุนั้น
มาอยู่บนเส้น Grid (ใน view port นั้นต้องเปิดโชว์เส้น Grid ด้วย)***
============================================
เราก็ติ๊ก Layer ของโมเดล ให้ปรากฏขึ้น เพื่อจะมองในส่วนของผิวโมเดล
แล้วเราก็ปรับรูปทรงเส้น circle นั้นให้ได้ขนาด
เอียงไปในทิศทางเดียวกับกรามของโมเดล
============================================
เพื่อ ที่จะให้มันตั้งค่า Move , Rotate , Scale ให้เป็น 0 (ศูนย์) ให้หมด
============================================
ให้เราเลือกที่เส้น Circle ก่อน และกด Shift ค้างไว้
จากนั้นก็กดเลือกที่ Head(Joint)..........
ให้เชื่อมกันโดยการเลือก Orient
แต่!!! เราควรไปปรับค่า Option ก่อน โดยการคลิกที่กล่องสี่เหลี่ยม
หลังคำว่า Orient ดังรูป
============================================
ติ๊กเครื่องหมายถูก ที่ Maintian Offset
เพื่อที่มันจะไม่ สนใจว่าแกน x,y,z ของวัตถุ 2 ชิ้น
ที่จะมาเชื่อมกันนั้น อยู่คนละทิศทางกัน
============================================
และตามด้วย ikHandle ตรงส่วนของ Head(Joint)
และไปเลือกที่ Point Option ดังรูป
============================================
แต่ผมก็ติ๊กไป ไม่เห็นเกิดปัญหาไรเลยนี่นา....
จากนั้นก็กด Add ดังรูป
============================================
โดยทำการย้ายเหมือนในข้างต้น
ที่เรา ย้ายเส้น circle มาไว้ที่ Head(Joint)
เหมือนกัน
***สร้าง Locator นี้ขึ้นมาเพื่อจะทำหน้าที่ควบคุมส่วนคอขึ้นไป
หมายถึงว่าเวลาย้ายไปไหน หรือหมุน
ก็ให้เลือก Locator ตรงคอนี้เป็นหลัก***
============================================และไป ที่คำสั่ง Parent Option ดังรูป
============================================
และดูผล
============================================
============================================
กด p ที่แป้นคีย์บอร์ดเพื่อนทำการ Parent
***Parent ในที่นี้ คือการ Parent ตรงที่ Edit > Parent
หลักการทำงานจะเหมือนๆกับ Constrain > Parent ในข้างต้น
แต่การเลือก Object นั้น ก่อนหลังไม่เหมือนกัน***
============================================และคราวนี้ลองหมุนดู ก็จะเห็นได้ว่ามันได้ควบคุม
ส่วน neck(Joint) ขึ้นไปทั้งหมด
============================================
โดยการกดคีย์ลัด (Hot key) กดที่ Ctrl+g
และทำการเปลี่ยนชื่อมัน เพื่อให้ง่ายต่อการเลือกในครั้งต่อไป
ตั้งชื่อว่า ikGRP (GRP ย่อมาจาก Group)
============================================
หรือก็ไปกดเลือกได้ที่ Window > Outliner
และในส่วนของ view port นั้น ให้เราเลือก Locator ที่คุมส่วน neck(Joint)
และกด Ctrl ค้างไว้ และเลือกที่ ikGRP ที่ใน Outliner
============================================
ให้เป็น headControl เมื่อเลือกแล้ว
ให้ไปที่ Add Attribute
============================================
พิมพ์ไปอีกว่า jawY และกด Add
jawZ และกด OK ไป
*** jaw X,Y,Z นี้ เราจะมาใช้ทำการควบคุมส่วน คาง ***
============================================จะเห็นได้ว่า มีคำสั่งที่เราเพิ่มไป ขึ้นมาใหม่
============================================
กับ jaw(Joint)
โดย การไปเลือกที่ Connection Editor ดังรูป
============================================
และกด Reload Left ที่หน้าต่าง Connection Editor
============================================
และในส่วน viewport นั้น ให้เราเลือกที่ jaw(Joint)
และในหน้าต่าง Connection Editor ให้กดที่ Reload Right
============================================
ให้กดรูป + หน้าคำว่า Rotate ในหน้าฝั่ง Reload Right
พอกดแล้ว จะเห็นย่อยๆลงมาคือของแกน X, Y, Z
============================================
โดยการเลือกที่
JawX > RotateX
JawY > RotateY
JawZ > RotateZ
ตามลำดับ และจะได้เป็นเหมือนดังรูป
============================================
และกดเลือกที่ JawZ ที่ Channels Box
เมื่อ เลือกแล้วจะขึ้นเป็นแถบสีดำตรงส่วนที่เลือก ดังรูป
และให้เราลองคลิกที่ เม้าส์ปุ่มกลาง(ไม่ต้องกด Alt)
บนส่วนของ viewport และเลื่อนไปมา
จะ เห็นได้ว่าส่วนของ joint : jaw จะเหมุนในส่วนของแกน Z ตามไปด้วย
============================================
หลังจากนั้นก็เปิด ที่ Layer ของ faceLayer ให้เป็น V ให้เราเลือก
Hair(Model) > headTop(Joint) > Parent
browsGRP(Model) > headTop(Joint) > Parent
eyesGRP(Model) > headTop(Joint) > Parent
upperTeeth(Model) > headTop(Joint) > Parent
lowerTeeth(Model) > jaw(Joint) > Parent
gums(Model) > head(Joint) > Parent
============================================
ต่อมาก็เลือก Head(Model) > neck(Joint) > Smooth Bind
============================================
เลือกที่ Head(Model) จากนั้นเลือกที่จุด Vertex ดังรูป
============================================
จากนั้นไปที่ Window > General Editors > Component Editor
จะมีหน้าต่าง Component Editor ขึ้นมา จากนั้นเลือกที่ Option
แล้วติ๊กตรง Hide Zero Columns
============================================
จากนั้นเลือกทางแถบของ Head(Joint) ทั้งหมด
แล้วแก้ค่าเป็นเลข 1
**แถบด้านซ้ายคือรายชื่อแต่ละจุด Vertex ที่เราเลือก
แถบด้านบนคือรายชื่อของ Joint ที่แต่ละจุด Vertex
ที่เราเลือกอยู่นั้น มันเชื่อมต่อกันทั้งมากและน้อย
ถ้าเป็นเลข 1 คือเชื่อมต่อเต็มๆ ถ้าเป็น 0 คือไม่มีเลย**============================================
พอรู้วิธีการทำงานของ Component Editor แล้ว
ทีนี้เราก็ปรับแก้ ค่าที่มันผิดเพี้ยนต่างๆบนใบหน้า
ให้มันถูกต้อง อย่างเช่น จุด Vertex ของปากบนนั้น
จะต้องไม่ติดกับ jaw(Joint) เราเลยต้องตั้งค่าให้
ริมฝีปากด้านบนนั้น เชื่อมกับส่วนของ Head(Joint)
มีค่าเท่ากับ 1 จะทำให้ริมปากบนไม่ติดไปกับปากล่าง
============================================
เลือก Vertex ของ gums ดังภาพ
============================================
ไปที่ Deform > Create Cluster > Optionแล้วติ๊กเลือก Relative แล้วกด Create
ล้วเปลี่ยนชื่อ Cluster นั้น เป็น ClusterGums
============================================
จากนั้นเลือก ClusterGums กด Shift ค้างไว้
แล้วเลือก Head(Joint) แล้วกดคำสั่ง Parent
============================================
เสร็จแล้วก็เลือกที่ ClusterGums แล้วย้ายจุด Pivot
ของ ClusterGums นั้นไปที่กึ่งกลางของ jawEnd(Joint)
จากนั้นกดเลือก jawEnd(Joint) แล้วกด Shift ค้างไว้
แล้วเลือก ClusterGums แล้วไปที่คำสั่ง Constrain > Point
============================================
จากนั้นสร้าง Circle ขึ้นมา 3 วง เพื่อทำเป็นจุดโฟกัส
ของสายตาตัวละครที่จะมอง แบบในรูป
แล้วตั้งชื่อด้วย อย่างในที่นี้ผมตั้งว่า
Right_EyeControl , Left_EyeControl , EyeControl
(ชื่ออันหลังสุดนั้น เป็นเส้นวงรอบนอกสุด)
ต่อไปก็ เลือก Right_EyeControl > EyeControl > Parent
แล้วก็ Left_EyeControl > EyeControl > Parent
============================================จากนั้นทำการปรับสีของเส้น Circle (แล้วแต่ว่าจะทำหรือไม่)
เพื่อง่ายต่อการแบ่งแยกในการใช้งาน...
โดยไปที่ Attribute ของเส้น Circle นั้น > Drawing Overrides
ติ๊กใช้งาน Enable Overrides ดังรูป...
============================================
EyeControl(Line) นั้น ควรห่างจากตาของตัวละครพอประมาณ ดังรูป..
============================================
จากนั้น เลือกลูกตาใน กับกระจกตา แล้ว Group เข้าด้วยกัน
แล้วตั้งชื่อแต่ละข้างว่า... RightEye(GRP) , LeftEye(GRP)
============================================
เลือก RightEye(GRP) , LeftEye(GRP)
แล้ว ไปที่คำสั่ง Modify > Center Pivot
เพื่อให้ RightEye(GRP) , LeftEye(GRP) นั้น
มีจุด Pivot มาอยู่ตรงจุดกลางของลูกตา แต่ละข้าง
============================================
จากนั้นเลือก RightEyeControl(Line) > RightEye(GRP)
> Constrain > Aim > Option...
คลิกเปิดที่ Maintain Offset > Add
แล้วทำแบบเดิมอีกครั้งสำหรับ LeftEye(GRP)
============================================
เลือก EyeControl(Line) แล้ว Group ตั้งชื่อว่า EyeControlGRP
============================================
เลือก Head(Joint) > EyeControlGRP > Constrain > Parent
============================================
จากนั้นเลือก EyeControlGRP > Modify > Add Attribute...
แล้วตั้งค่า ว่า...
Attribute Name = lockEye
Minimum = 0
Maximum = 10
Default = 0 กด OK
============================================

เลือก EyeControlGRP > Animate > Set Driven Key > Set > Option
กด Load Driver แล้วเลือก lockEye(Driver)
เลือก EyeControlGRP_ParentConstrain (ต้องเปิด EyeControlGRP
ที่อยู่ใน Outliner แล้ว EyeControlGRP_Parent จะอยู่ในนั้นอีกที)
แล้วกด Load Driven
============================================
คลิกเลือกที่ headW0(Driven) ตามรูป...
============================================คลิกเลือก EyeControl(Driver)
แล้วดูทางด้านของ Channels Box ตรง Lock Eyes
ว่ามีค่าเป็น 0 อยู่หรือไม่ ถ้าไม่ก็ปรับเป็น 0 ซะ... (ดังรูป)
============================================
คลิกเลือก EyeControlGRP_ParentConstrain(Driven)
ใน Channels Box ปรับค่า Head W0 = 0
แล้วกด Key (ที่หมายเลข 3 ดังรูป...)
============================================
เลือก EyeControl(Driver)
ใน Channels Box ปรับค่า Lock Eyes = 10
============================================
คลิกเลือก EyeControlGRP_ParentConstrain(Driven)
ใน Channels Box ปรับค่า Head W0 = 1
กด Key (ที่หมายเลข 8 ดังรูป...)
แล้วกดปิดหน้าต่าง Set Driven Key ลงไป
============================================
เลือก EyeControlGRP แล้วกด Group
ตั้งชื่อเป็นว่า EyesControl_GRPHI
============================================
เลือก neckControl(Locator) (1)
กด Shift ค้างไว้
เลือก EyesControl_GRPHI(GRP) (2)
เลือกคำสั่ง Constrain > Parent (3)
============================================
จากนั้นเลือก Model ทั้งหมด เหลือไว้แต่ "ลิ้น"
(เลือก Model ไม่ได้เลือก Joint)
แล้วกด Ctrl+h เพื่อซ่อนโมเดลที่เลือกไว้
============================================
มองในมุมมอง Side View แล้วโฟกัสไปที่โมเดล "ลิ้น"
เลือกคำสั่ง Skeleton > Joint Tool
แล้วกดสร้าง Joint
ลูกศิษย์ keko ใช่ไม๊ครับ ผมก็เคยเรียนตอนคลาส 2
ตอบลบจะขอก็อบปี้บทความไปใส่ไว้ในเว็ปหน่อยได้มะครับ พอดีเปิดเว็ปแนวนี้
ลองเข้าไปดูได้ที่ www.thaicgjob.com ครับ
หรือช่วยไปโพสให้ด้วยก็ดีครับ ขอบคุณมาก 555
ผมไม่ค่อยได้มาเช็คเลย ไม่คิดว่าจะมีคนมาเม้นด้วย 555+
ลบเกือบจะ 2 ปีแหน่ะที่กว่าจะมาตอบ ตอนนั้นผมไม่ได้ไปเรียนคลาสพี่ตุลอ่ะครับ
แต่ผมเพิ่งไปเรียนคลาสอนิเมทมาเมื่อ ต.ค. 2011 น่ะครับ
แต่ที่เอามาให้ดูนี้ผมก็แคปมาจาก วีดีโอสนของ Digital tutor อีกทีน่ะครับ ^^
เหมือนก๊อปเขามารึป่าวไม่รู้อ่ะครับ 55555+
ขอบคุณสำหรับบทความดีๆครับผม
ตอบลบ