การใช้กระดูกควบคุมแบบจำลองสามมิติ

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

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

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

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

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

 อ้างอิง 

 ดูเพิ่ม 
 Inverse kinematic animation
 Forward kinematic animation
 Spherical Blend Skinning: A Real-time Deformation of Articulated Models

หมวดหมู่:คอมพิวเตอร์กราฟิกส์สามมิติ