Fandom

Thai Blender Wiki

บทความ/การใส่กระดูกให้โมเดล

< บทความ

105pages on
this wiki
Add New Page
Talk2 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Blank15x16.gifArmature หรือกระดูก ใช้ในการควบคุม Blank15x16.gifMesh ให้ขยับได้ตามท่าทางต้องการ บทความนี้จะถือว่าผู้ใช้เข้าใจการควบคุมเบื้องต้นใน Blank15x16.gif3D View บ้างแล้ว และสามารถขึ้นแบบจำลองหรือเตรียมแบบจำลองที่ต้องการจะใส่ Blank15x16.gifArmature เพื่อที่จะทำการศึกษาต่อไป

สร้าง Armature Edit

Bone เป็นส่วนประกอบของ Armature มีไว้ใช้ควบคุมรูปร่างหรือท่าทางของโมเดล Mesh ที่มาเกาะติด ใน Armature ชุดหนึ่งสามารถมี Bone ได้หลายชิ้นเพื่อใช้จัดท่าทางของ Armature ให้เป็นไปตามความต้องการ
Blank15x16.gif
ข้อต่อส่วนปลาย
Blank15x16.gif
Blank15x16.gif
ตัว Bone
Blank15x16.gif
Blank15x16.gif
ข้อต่อส่วนต้น
Blank15x16.gif
Tutorial-Armature 3D View.png

ใน Blank15x16.gifArmature หนึ่งๆ อาจประกอบด้วย Bone หลายชิ้น เช่นเดียวกับใน Blank15x16.gifMesh ที่ประกอบด้วยหลาย Vertex การสร้าง Armature ทำได้โดยการ  (Blank15x16.gif3D View)  Space  → Add → Armature  เมื่อผู้ใช้สร้าง Armature แล้ว ก็ให้เข้า Blank15x16.gifEdit Mode เพื่อทำการแก้ไข Bone ชิ้นแรก ใน Bone ชิ้นหนึ่งๆจะประกอบดวยจุดข้อต่อสองจุดและตัว Bone เอง (ควบคุมเหมือน Edge) ซึ่งหากไม่เลือกไว้แต่แรก Bone จะถูกแสดงผลเป็นรูปร่างแบบ Octahedron ส่วนปลายแหลมจะเป็นปลายทาง ส่วนที่อ้วนทู่จะเป็นต้นทาง โดยผู้ใช้สามารถเลือกแต่ละชิ้นส่วน Blank15x16.gifR หรือหลายชิ้นส่วนพร้อมกัน  Shift Blank15x16.gifR แล้วปรับเปลี่ยนตำแหน่ง ขนาด และมุมการหมุนได้ตามความต้องการ

การสร้าง Bone Edit

แบ่ง Armature 3D View ด้วย Subdivided.png

เมื่อ Bone ถูก subdivide จะกลายเป็น Bone สองชิ้น คือชิ้นเดิมที่ปรับขนาดสั้นลงครึ่งหนึ่งกับชิ้นใหม่ที่มีขนาดเท่ากัน

ผู้ใช้สามารถ Subdivide  (Blank15x16.gif3D View) Armature → Subdivide  (หรือ   W  → Subdivide ) เพื่อสร้าง Bone ใหม่โดยการแบ่ง Bone ที่ถูกเลือกออกเป็นสองส่วนเท่ากัน ซึ่ง Bone ที่เกิดใหม่จะถูกเปลี่ยนชื่ออ้างอิงจาก Bone เดิม และ Bone ทั้งสองชิ้นจะเชื่อมต่อกันโดยมี Bone ที่เกิดใหม่เป็น Bone ลูก (Child) และเกิดต่อจากส่วนปลายของ Bone เดิมซึ่งเป็นโบนแม่ (Parent) นอกจากนี้ผู้ใช้ยังอาจสร้าง Bone เพิ่มด้วยการสั่ง   Space  → Add → Bone  ใน Blank15x16.gifEdit Mode หรืออาจใช้วิธี extrude ( E ) จากปลายของข้อต่อทั้งสองด้านของ Bone ก็ได้


ลักษณะเฉพาะของ Bone แต่ละชิ้น Edit

หน้าต่างใน Blank15x16.gifButtons Window ส่วน panel Blank15x16.gifEditing  F9  จะแสดงความสัมพันธ์ของ Bone แต่ละชิ้น โดยใน panel Armature Bones จะแสดงรายชื่อ Bone ที่ถูกเลือกอยู่ และจะบอกถึงลักษณะเฉพาะของ Bone นั้นๆ เช่นบอกว่า Bone นั้นชื่ออะไร และให้ผู้ใช้สามารถเปลี่ยนชื่อ Bone นั้นได้ นอกจากนี้ยังบอกว่า Bone นั้นเป็น Child ของ Bone อื่นหรือไม่ ถ้าเป็น เป็น Child ของ Bone ไหน (child of) รวมถึงค่าอื่นๆที่จะได้กล่าวถึงต่อไป


Balloon pointer1.gif
Balloon pointer2.gif
Blank15x16.gif
รายชื่อ Bone ที่ถูกเลือกอยู่
Blank15x16.gif
Armature Buttons Edit Panel View.png
  1. DataBlock แบบ Armature ที่ Blank15x16.gifObject ปัจจุบันครอบครองอยู่ จะเห็นได้ว่า Object สอง Object สามารถอ้างอิงหรือแชร์ Armature ชุดเดียวกันได้
  2. Active Blank15x16.gifObject หรือ Object ที่ผู้ใช้กำลังแก้ไข

การเชื่อมต่อของ Bone Edit

Tutorial-Armature 3D View, Moving connected bone.png

Bone ที่ข้อต่อเชื่อมกัน

เมื่อ Bone สองชิ้นซึ่งเป็น Parent/Child เชื่อมต่อ (Connected) กันอยู่ การย้ายตำแหน่ง Bone ชิ้นหนึ่งจะส่งผลถึง Bone อีกชิ้นด้วย โดย Bone ทั้งสองชิ้นจะรักษาตำแหน่งของจุดข้อต่อไว้เสมอ สังเกตได้ว่า Bone ชิ้นหนึ่งอาจมี Bone ลูกหรือ Child Bone ได้หลายตัวแต่จะมี Parent ได้แค่ตัวเดียวเท่านั้น

ถ้าต้องการปลดการเชื่อมข้อต่อนี้ ผู้ใช้ก็ทำได้ด้วยการกดคลายปุ่ม Co ของตัว Child เมื่อคลายการเชื่อมต่อแล้ว Bone ที่เป็น Child ก็จะเป็นอิสระจากตัวแม่เมื่อมีการย้ายตำแหน่งตำแหน่งข้อต่อของตัวแม่ และในทางกลับกัน


Balloon pointer.gif
Blank15x16.gif
Armature Buttons Edit Panel View, Bone disconnected from parent.png
กด Blank15x16.gifL ที่ปุ่ม Co เพื่อคลายการเชื่อมต่อที่ตัว Child ยึดกับ Parent


Armature 3D View, Moving disconnected bone.png

เมื่อคลายการเชื่อมต่อแล้ว การแก้ไขตำแหน่ง Bone ทั้งสองจะเป็นอิสระจากกัน

การปรับเปลี่ยน Bone และการ Pose Edit

การปรับเปลี่ยน Blank15x16.gifArmature ใน Blank15x16.gifEdit Mode นี้เป็นเพียงการปรับเปลี่ยนท่าทางเริ่มต้นของ Bone ต่างๆใน Armature นั้นเท่านั้น และจะไม่มีผลกับพื้นผิวที่เกาะ Bone อยู่โดยตรง เมื่อต้องการขยับ Bone ในการเคลื่อนไหวจริงจะใช้ Blank15x16.gifPose Mode ( Ctrl + Tab ) ในการจัดการกับ Bone ซึ่งใน Pose Mode นี้โดยทั่วไปก็สามารถปรับเปลี่ยน Bone ได้คล้ายกับ Edit Mode แต่จะจัดการได้เฉพาะตัว Bone เท่านั้น ไม่สามารถจัดตำแหน่งข้อต่อได้โดยตรงเหมือนใน Blank15x16.gifEdit Mode อีก และนอกจากนี้ Bone ยังอาจถูกบังคับโดยค่า Constraint ต่างๆเพื่อคุมรูปแบบของการ Pose ทำให้ไม่สามารถปรับเปลี่ยนได้เต็มที่


Tutorial-Armature 3D View, Posing a bone.png

การ Pose Bone ใน Blank15x16.gifPose Mode


การจัดตำแหน่ง Armature กับ Mesh Edit

Balloon pointer.gif
Blank15x16.gif
Armature Buttons Edit Panel View.png
ปรับโหมด X-Ray เพื่อแสดง Blank15x16.gifArmature ที่อาจถูก Blank15x16.gifObject อื่นบัง


Armature 3D View, X-Ray bone and Mesh placements.png

แม้ว่า Bone จะถูกจัดวางซ้อนกับตำแหน่งโมเดล ผู้ใช้ก็สามารถมองเห็นได้ถ้าเปิด option X-Ray เอาไว้


จากนั้นเริ่มจัดตำแหน่ง Bone กับ Blank15x16.gifMesh ให้เข้าที่ โดยทั่วไปแล้ว Bone ควรอยู่ด้านในของ Mesh เช่นเดียวกับกระดูกของสัตว์ที่อยู่ใต้ผิวหน้งและกล้ามเนื้อ ซึ่งผู้ใช้สามารถเปิดตัวเลือก X-Ray ของ Blank15x16.gifArmature เพื่อแสดง Bone ที่ซ่อนอยู่ใต้พื้นผิวของวัตถุ


นอกจากการปรับการแสดงผลเป็นแบบ X-Ray แล้ว ผู้ใช้ยังอาจเลือกแสดงผล Blank15x16.gifArmature ได้อีกหลายวิธี เช่นการเปลี่ยนการแสดงกระดูกด้วย Octahedron เป็นแบบ Stick B-Bone หรือ Envelope ซึ่งเหมาะกับการแสดงผลกระดูกแบบอื่น ๆ หรือการแทนที่กระดูกด้วย Blank15x16.gifObject ที่เป็นรูปทรงต่าง ๆ ซึ่งเหมาะกับการสร้างเครื่องมือควบคุมกระดูกชิ้นอื่น ๆ เช่นสร้างเป็นรูปมือ เพื่อใช้ควบคุมกระดูกส่วนมือ เป็นต้น หรือในกรณีที่กระดูกบังแบบจำลอง ผู้ใช้ก็อาจปรับการแสดงผลกระดูกเป็นแบบ wireframe โดยเลือกกระดูกแล้วใช้  Blank15x16.gifObject  F7 Blank15x16.gifObject buttons → พาเนล Draw → Drawtype → Wire 

Armature Modifier Edit

Blank15x16.gif
ชื่อ Object ที่เป็น Armature
Blank15x16.gif
Armature Modifier, Buttons Edit Panel View.png

ใส่ชื่อของ Object (OB:) แบบ Armature ที่ต้องการจะใช้ ลงในช่อง Ob: เช่นถ้า Object ชื่อ Armature ก็กรอกชื่อ Armature ลงไปในช่องนี้ ถ้ากรอกผิดเช่นกรอกชื่อที่ไม่มีอยู่ชื่อจะหายไป การ copy & paste ชื่อ ทำได้โดย

  1. ใน 3D View เลือก Armature ที่ต้องการจะใช้
  2. ใน Buttons Window เลือก Editing  F9  ดูที่ panel Link & Materials ชี้ Mouse ไปยังช่อง OB: (Blender จะแสดง Tooptip ว่า Active Object name.)
  3. กด  Ctrl  C  เพื่อบันทึกชื่อ
  4. ใน 3D View กลับไปเลือก Mesh ที่จะใส่กระดูก
  5. ใน Buttons Window ชี้ mouse ที่ช่อง Ob: ในฟอร์มของ Armature Modifier
  6. กด  Ctrl  V  เพื่อปะชื่อที่บันทึกไว้ลงไปโดยอัตโนมัติ
(ทำความเข้าใจเรื่อง DataBlock และการอ้างอิง DataBlock เพิ่มเติม) FIXME
ควรย้ายส่วน cut&paste นี้ไปอธิบายในส่วนอภิปราย Blender UI


การเซ็ต Bone เข้ากับ Blank15x16.gifMesh ทำได้หลายวิธี วิธีแรกที่จะกล่าวถึงคือการใช้ Armature Modifier ซึ่งเป็นวิธีอาจช้ากว่าแต่เพื่อให้เกิดความเข้าใจ โดยวิธีนี้มีขึ้นตอนดังนี้คือ

  1. ให้เลือก(Blank15x16.gifR)ที่ตัว Mesh ที่จะใส่ Blank15x16.gifArmature ใน Blank15x16.gif3D View
  2. เพิ่ม Modifier แบบ Armature เข้ากับตัวโมเดล Mesh ที่เลือกอยู่
  3. ใส่ชื่อ Blank15x16.gifObject (OB:) ของ Blank15x16.gifArmature ที่ต้องการจะใช้ ลงในช่อง Ob:
  4. ให้ผู้ใช้ปิดตัวเลือก Envelopes เอาไว้ก่อน ซึ่งจะไว้กล่าวถึงต่อไป ตอนนี้ให้เหลือไว้แต่ Vert.Groups กับ Quaternion


การตั้งค่า Weight แบบอัตโนมัติด้วย Bone Heat Edit

Tutorial-Armature 3D View, Posing bone not effect the mesh.png

ถ้ายังไม่มีการ Weight การ Pose ของ Blank15x16.gifArmature จะไม่มีผลกับ Blank15x16.gifMesh

ถึงขั้นตอนนี้แม้ว่าผู้ใช้จะกรอกชื่อแล้ว แต่การ pose กระดูกก็ยังไม่มีผลกับ Blank15x16.gifMesh ทั้งนี้เพราะ Mesh ยังไม่มีค่า Weight ที่จะใช้เกาะกับกระดูก ใน Vertex แต่ละ Vertex อาจเกาะกระดูกได้มากกว่าหนึ่งชิ้น และค่าที่เกาะกระดูกแต่ละชิ้นของแต่ละ Vertex ก็อาจแตกต่างกัน ผู้ใช้สามารถปรับค่า Weight ได้ด้วยการเลือก Mesh ใน Blank15x16.gif3D View แล้วเลือก Blank15x16.gifWeight Paint ในขณะที่ Blank15x16.gifArmature อยู่ใน Blank15x16.gifPose Mode


Armature 3D View, Weighted Vertices Following Bone Posing in Weight Paint Mode.png

เมื่อ Weight แล้ว การ Pose จะเริ่มมีผล

วิธีแรกที่จะแนะนำให้ผู้ใช้ใส่ค่า Weight อย่างรวดเร็วคือการใช้ Bone Heat โดยผู้ใช้เลือก Bone ทั้งหมด (หรือเฉพาะที่ต้องการ) โดยการเข้าไปเลือก Bone ทั้งหมดด้วย  A  ใน Blank15x16.gifPose Mode แล้วค้าง Pose Mode เอาไว้ จากนั้นไปเลือกที่ตัวโมเดล แล้วเข้าสู่ Blank15x16.gifWeight Paint ( Ctrl + Tab ) แล้วเรียกใช้เมนู  (Blank15x16.gif3D View) Paint → Apply Bone Heat Weights To Vertex Groups  ซึ่งคำสั่งนี้จะสร้าง Vertex Group สำหรับ Bone ทั้งหมดที่เลือกไว้ พร้อมกำหนดค่า Weight ให้กับ Vertex อย่างรวดเร็วและให้ผลที่ค่อนข้างดีโดยไม่ต้องปรับแต่ง Weight อีกมากนัก จากจุดนี้ผู้ใช้จะพบว่าการ Pose จะมีผลกับรูปทรงของ Mesh แล้ว

หากผู้ใช้ต้องการปรับรายละเอียดค่า Weight ก็สามารถศึกษาเพื่อทำความเข้าใจ Weight การระบายสี หรือ Paint ค่า Weight ได้ต่อไป

อ่านต่อ Edit

บทความ/การใช้ weight ปรับรูปทรงแบบจำลอง

Also on Fandom

Random Wiki