Fandom

Thai Blender Wiki

Main Article/3D computer graphics/Animation/Skeletal animation

< Main Article | 3D computer graphics | Animation

105pages on
this wiki
Add New Page
Talk0 Share
TODO
  • ใช้ Blender 2.5 อ้างอิงแทน การ upload screenshot ควรระบุเวอร์ชันให้ชัดเจน
  • ไว้เนื้อหานิ่งแล้วค่อยทำส่วน footer สำหรับหน้าก่อน/หน้าต่อไป
  • เพิ่มส่วนเกม
  • ยุบรวมส่วน Blender เข้ากับส่วน 3D computer graphics โดยเพิ่มส่วน User Interface แยกไว้เป็นบท Blender 101
จัดการเมนู


การใช้กระดูกควบคุมการเคลื่อนไหว Edit

ในงานแอนิเมชันและเกมคอมพิวเตอร์แบบ 3 มิติ นิยมใช้กระดูกเพื่อบังคับการเคลื่อนไหวของโมเดลสามมิติ โดยแทนที่จะเก็บ key frame ของแต่ละการเคลื่อนไหวของแต่ละ vert (เช่น shape key) ก็อาจเก็บการเคลื่อนไหวของกระดูกแทน เมื่อมีการขยับกระดูก กระดูกก็จะไปบังคับให้กลุ่มของ vert เคลื่อนที่ไปตามกระดูกนั้นๆ

ลักษณะการเกาะกระดูกของ vertex Edit

Weight Edit

โดยทั่วไปในโมเดลสามมิติหนึ่งๆถ้ามีกระดูกก็มักจะมีกระดูกหลายชิ้น โดย vertex หนึ่งๆอาจเกาะอยู่กับกระดูกมากกว่าหนึ่งชิ้น ด้วยน้ำหนัก (Weight) ที่แตกต่างกันไป เช่นเกาะกระดูก A ด้วยน้ำหนัก 0.7 และเกาะกระดูก B ด้วยน้ำหนัก 0.3 โดยทั่วไปซอฟต์แวร์มักแสดงค่าน้ำหนักรวมเป็น 1.0 หรืออาจคำนวณจากอัตราส่วนต่อค่ารวม weight ทั้งหมดก็ได้ ทั้งนี้ ขึ้นกับซอฟต์แวร์ การใส่ค่า weight เริ่มต้นให้ Vertex นี้สามารถทำได้ทั้งแบบอัตโนมัติด้วยขั้นตอนวิธีที่แตกต่างกันไป หรือใช้การระบายสีน้ำหนักโดยมนุษย์ (paint weight) หรือผสมทั้งสองวิธีการด้วยกันเช่นให้ซอฟต์แวร์ช่วยคำนวณก่อน แล้วค่อยตบแต่งด้วยการ paint weight ในบางจุดเพื่อเก็บรายละเอียด

การเกาะกระดูกแบบนี้เหมาะกับการจำลองการเคลื่อนไหวโมเดลที่มีผิวยืดหยุ่น เช่นคน สัตว์ เสื้อผ้า นอกจากนี้การคำนวณการเกาะกระดูกจากน้ำหนักก็ยังมีหลายขั้นตอนวิธีให้เลือก เช่น Linear Blend Skin (LBS) หรือ Dual quaternion[1] ฯลฯ ซึ่งจะให้ผลลัพธ์ที่แตกต่างกันและใช้เวลาในการประมวลผลไม่เท่ากัน หรือบางครั้งอาจซับซ้อนกว่าการคำนวณโดยใช้กระดูกควบคุม vertex โดยตรง เช่นอาจใช้กระดูกควบคุมโมเดลความละเอียดต่ำ (low poly) แล้วใช้โมเดลความละเอียดต่ำไปทำหน้าที่เป็นกระดูกเพื่อควบคุมโมเดลความละเอียดสูง[2] เป็นต้น

แบบอื่นๆ Edit

การเกาะกระดูกแบบอื่นๆ ใช้การเก็บค่า weight ค่าเดียวแทนที่จะเก็บหลายค่าสำหรับแต่ละ vertex ในลักษณะนี้ ซอฟต์แวร์อาจใช้เทคนิกต่างๆเพื่อช่วยให้รอยพับดูเรียบขึ้น เช่นการคำนวณจากระยะทางระหว่าง vertex กับกระดูก หรือการคำนวณ weight ของแต่ละ vertex โดยใช้หลักการนำความร้อน[3] (แต่วิธีนี้สุดท้ายก็จะกลับไปใช้วิธีแบบเก็บค่า weight ที่คำนวณได้ลงในแต่ละ vertex) หรือบังคับค่า weight ตายตัวกับกลุ่มของ vertex ต่อกระดูกชิ้นหนึ่งๆ ซึ่งวิธีหลังนี้นิยมใช้กับโมเดลประเภทเครื่องกลไก ข้อต่อหุ่นยนต์ เป็นต้น

Forward และ Inverse Kinematic Edit


อ้างอิง Edit

Blender Edit

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.

Also on Fandom

Random Wiki