Section 1 Essentials - 2. Maya Basic

2.1 Maya Architecture

การทำงานของ TD จะต่างจาก Animator ตรงที่งานของ TD จะเป็น Software Dependence มากกว่าอาจจะมีทฤษฎีบางอย่างที่สามารถใช้ใน Software ที่ต่างกันได้ แต่ส่วนใหญ่ในการทำงาน หรือการแก้ปัญหา TD ต้องรู้จัก Software ที่เราทำงานด้วยพอสมควร ดังนั้นในหัวข้อนี้จะมีเนื้อหาเกี่ยวกับพื้นฐานการทำงานของ Maya ที่ TD ควรจะรู้ครับ

Maya จะทำงานในรูปแบบของ Data flow model ซึ่งประกอบด้วย Node ที่ประกอบด้วยคุณสมบัติ( Attributes ) หลายๆ อัน เชื่อมโยงกันผ่าน Input Attributes และ Output Attributes ของแต่ละอัน โดยรูปแบบการทำงานแบบนี้จะเรียกว่า Node Based Architecture และ User Interface( UI ) ที่จะบรรยายลักษณะของการเก็บ หรือการจัดการ Scene ของ Maya ได้ดีที่สุดก็คือ Hypergraph ครับ



Maya ต่างจาก Software อื่นอย่างไร?


ข้อมูลเท่าที่ผมหาได้คือ 3D Application บางตัว จะแบ่งการทำงานเป็น Module ในแต่ละ Module จะมีการติดต่อกันแบบเฉพาะทาง ซึ่งจะทำให้ขาดความยืดหยุ่น ตัวอย่างที่เห็นได้ชัดที่สุดคือ Lightwave ที่ถูกแบ่งเป็น 2 Modules อย่างชัดเจนคือ Lightwave Modeler และ Lightwave Scene
ใน Lightwave นั้น Character Model จะถูก Draw Skeleton, Morph Mapping และ Weight Mapping ใน Lightwave Modeler แต่จะไปทำ Control Rig ต่อใน Lightwave Scene ปัญหาสำคัญที่แก้ได้ยากคือ Lightwave ไม่สามารถเพิ่ม Deformation Tools อื่นได้ ต้องกลับไปเพิ่มด้วย Morph ที่ Modeler อย่างเดียว

เมื่อเรารู้จักกับพื้นฐานการจัดเก็บ และการจัดการกับ Scene ของ Maya Software แล้ว ลองมาดู Node ชนิดต่างๆ ใน Maya ครับว่ามีอะไรที่ TD ควรจะรู้จักบ้าง

2.2 Transform Node, Shape Node and DAG Object

ก่อนอื่นผมมี Node 3 ชนิดมาให้ทำความรู้จักกันคือ Transform Node, Shape Node และ DAG Object ผมขอข้ามไปที่อันสุดท้ายก่อนนะครับ

DAG ย่อมาจาก Directed Acyclic Graph หมายถึง Object ที่มีความสัมพันธ์ทางเดียว หรือทางตรงอย่างเช่น ถ้า A เป็น Child ของ B แล้ว ในขณะ B จะไม่สามารถเป็น Child ของ A ได้อีก กล่าวคือความสัมพันธ์ของ A และ B ไม่สามารถเป็นแบบวงกลมได้



และเมื่อ B เป็น Child ของ A ดังรูปด้านบนแล้ว ชื่อเต็ม( Long name )ของ B ที่ Maya Scene เก็บจะกลายเป็น lAlB ซึ่งชื่อเต็มนี้เราสามารถเรียกได้อีกอย่างว่า DAG Path

ทั้ง Transform Node และ Shape Node ที่ผมพูดถึงก่อนหน้านี้เป็น DAG Object ครับ ซึ่งมีคุณสมบัติดังนี้

Transform Node เป็น Node สำหรับเก็บตำแหน่งอ้างอิง( Transformation ) ใน Maya Scene ไม่ว่าจะเป็นค่าของ Translate, Rotate, Scale หรือ Pivot Point

Shape Node เป็น Node สำหรับเก็บลักษณะของรูปทรงที่เราเห็นใน Viewport รูปทรงใดก็ตามที่เราสามารถมองเห็นใน Maya Viewport ได้จะต้องประกอบด้วย Shape Node เสมอ เช่น Poly Mesh, NURBS Curve, NURBS Surface หรือ SubDivision Surface เป็นต้น

ส่วนคุณสมบัติพิเศษอื่นๆ รวมถึงเทคนิคการใช้ประโยชน์จาก Shape Node และ Transform Node ผมจะไปพูดใน Class ต่อนะครับ

2.3 DG Nodes, Utility Nodes and Automation

ตอนที่ผมพูดถึงความสัมพันธ์ทางตรงของ DAG บางคนอาจจะยังไม่เข้าใจนะครับ ลองมาดูว่าความสัมพันธ์แบบที่ไม่ใช่ DAG จะมีลักษณะอย่างไร



จากภาพตัวอย่าง ผมนำ A และ B ซึ่งเป็น DAG Node มาเชื่อมต่อ Attribute โดยเชื่อม A.tx เข้ากับ B.tx และ B.tx เข้ากับ A.ty เราเรียก Node ในลักษณะนี้จะเรียกว่า Dependency Graph Nodes( DG Nodes ) สังเกตุว่าเส้นของความสัมพันธ์นั้นจะสามารถวนเป็นวงกลมได้

เมื่อมาถึงตรงนี้จะสามารถสรุปได้ว่า ทุกๆ Node ใน Maya นั้นเป็น DG Node แต่มีแค่บาง Node เท่านั้นที่เป็น DAG Node ต่อมาเราลองมาทำความรู้จัก DG Node อีกพวกคือ Utility Nodes



จากรูปจะเป็นตัวอย่างของ Utility Nodes ต่างๆ Node ที่จางลงไปจะเป็น Node ที่ผมจะไม่ค่อยได้นำมาใช้เท่าไหร่ สถานะของ Node พวกนี้จริงๆ แล้ว Maya กำหนดมาให้เป็น Shading Node หรือ Node สำหรับใช้ทำ Shader ใช้กำหนดคุณสมบัติของ Material แต่สามารถนำมาประยุกต์ใช้ทำ Automation บางอย่างได้







VDO ข้างต้นเป็นตัวอย่างการใช้ประโยชน์ multiplyDivide Node แล้วผมจะทำวิธีใช้ และการประยุกต์ใช้ Utility Node อื่นๆ มาให้ดูเพิ่มเติมนะครับ




การใช้ plusMinusAverageNode ครับ



การใช้ condition Node ครับ




การใช้ clamp node ครับ

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.