เนื้อหา: บทที่ 2
NURBS 01
การขึ้นรูปด้วยคุณลักษณะ เนิร์บ ตอนที่ 1

จากที่ได้กล่าวมาแล้วในบทที่ผ่านมาว่าโปรแกรม Maya มีคุณลักษณะของพื้นผิวที่เอื้อต่อการขึ้นรูปได้เป็นอย่างดี รูปทรงที่เราต้องการมีความหลากหลายในเชิงโครงสร้าง วิธีการไปให้ถึงจุดหมายคือการขึ้นรูปให้สวยงามตาม ความต้องการนั้นย่อมมีหลายวิธี ในโปรแกรมได้แบ่งประเภทคุณลักษณะของพื้นผิวไว้สามประเภทคือ NURBS, Polygons และ Sub-Division โดยทั้งสามคุณลักษณะมีจุดเด่นที่ต่างกัน การตีโจทย์ให้แตกและเลือกใช้ คุณลักษณะที่เหมาะสมกับรูปทรงที่ต้องการคือหัวใจในการทำงาน และจะส่งผลให้การขึ้นรูปนั้นเกิดประโยชน์ สูงสุด อีกทั้งในบางรูปทรงที่มีความซับซ้อนสูง อาจมีความจำเป็นต้องใช้คุณลักษณะพื้นผิวมากกว่าหนึ่งอย่าง ผสมกันให้ได้รูปตามต้องการ ดังนั้นในบทเรียนนี้จะมุ่งเน้นให้นักศึกษาเกิดความเข้าใจในคุณลักษณะแต่ละ ประเภท และสามารถตัดสินใจเลือกใช้ให้เกิดความเหมาะสมต่อไป

จากภาพตัวอย่างจะสังเกตได้ว่าในการขึ้นรูปทรงกลม (Sphere) นั้น ถ้าขึ้นด้วยคุณลักษณะของพื้นผิวที่ต่างกัน รูปทรงที่ได้ก็จะมีความแตกต่างเช่นกัน ทั้งนี้ขึ้นอยู่กับผู้สร้างว่าต้องการนำลูก Sphere นี้ไปทำอะไร แล้วความ ต่างกันนี้อยู่บนพื้นฐานของอะไรล่ะ จะตอบคำถามนี้ได้เราต้องเข้าใจลักษณะโครงสร้างพื้นฐานของแต่ละ คุณลักษณะก่อน 

NURBS Primitives 

เรามาทำความรู้จักเริ่มจากคุณลักษณะเนิร์บกันก่อน วัตถุแบบเนิร์บเกิดขึ้นมาได้อย่างไร ถ้านักศึกษาสังเกตดูจะ พบว่าเนิร์บเกิดขึ้นมาจากเส้น Curves หลายๆเส้นเชื่อมต่อกันขึ้นเป็นพื้นผิว เส้น Curves คืออะไร ถ้าจะเรียกให้ เข้าใจอย่างง่ายๆก็คือเส้นโค้งนั่นเอง ดังนั้นวัตถุที่ขึ้นรูปด้วยคุณลักษณะ NURBS จึงมีลักษณะเด่นในเรื่องของเนิร์บในมายาประกอบด้วยรูปทรงหลักๆแปดประเภท คือ Sphere, Cube, Cylinder, Cone, Plane, Torus, Circle และ Square (ดูภาพที่ 4.3 ประกอบ) โดยทุกอันจัดเป็นรูปทรง ยกเว้น Circle และ Square ที่จัดเป็นเส้น Curves เนื่องจากเป็นเพียงเส้นๆเดียวและไม่มีระนาบเชื่อมต่อกัน แล้วจะสามารถสร้างเป็นรูปทรงหรือพื้นผิวจาก สองอันนี้ได้อย่างไร ทั้งนี้ในมายาเราสามารถสร้างพื้นผิวได้หลายวิธี เส้น Curves ทั้งสองแบบนี้ย่อมสามารถ พัฒนาเป็นรูปทรงได้ ซึ่งรายละเอียดจะกล่าวถึงในส่วนต่อไปของบทเรียน

คุณลักษณะ NURBS หรือที่เรียกว่า Non-Uniform Rational B-Spline นั้น จากที่ทราบกันว่ามีข้อเด่นในเรื่องของ การขึ้นรูปวัตถุที่มีความโค้งมน แต่ก็มีข้อเสียอยู่เช่นกันในเรื่องของการ Edit รูปทรง ซึ่งทำได้ยากกว่า Polygons และ Sub-Division อยู่มาก จากภาพตัวอย่างที่ 4.5 จะพบว่าเมื่อทำการ Edit รูปทรงในโหมด Vertex (แก้ไขที่จุด) จุดบน NURBS จะไม่อยู่บนเส้น Segments แต่จะลอยอยู่ (ดังรูปซ้าย) ในขณะที่ Polygons จุดจะอยู่บนเส้น (รูป ขวา) ทำให้ง่ายต่อการจัดวางได้ดั่งใจ ทั้งนี้เนื่องจากเส้นของ NURBS เกิดขึ้นมาจากเส้น Curves ซึ่งเกิดจากการ คำนวณค่าความโค้ง ไม่ใช่การนำจุดมาต่อกันให้เกิดเป็นเส้นดั่งเช่น Polygons

ทำความเข้าใจกับค่าคุณลักษณะของ NURBS 
NURBS Primitives Attributes 

รูปทรง NURBS แต่ละรูปทรงจะมีชุดการตั้งค่าคุณลักษณะ (Attributes) เฉพาะของตัวเอง ค่าเหล่านี้จะมีผลต่อ ลักษณะ รูปทรง ของ NURBS ที่สร้างว่าจะมีลักษณะเช่นใด โดยมี Attributes หลักๆที่มีความสำคัญดังนี้ 

Radius 
คือค่ารัศมีของวัตถุ ค่ารัศมีของวัตถุแต่ละรูปทรงมีการวัดค่าที่แตกต่างกัน อย่างเช่นรูปเนิร์บทรงกลม (NURBS Sphere) ค่ารัศมีคือค่าจากจุดศูนย์กลางของวัตถุถึงส่วนที่เป็นบริเวณพื้นผิวโดยรอบ ส่วนรูปทรงโดนัท (NURBS Torus) จะวัดจากจุดศูนย์กลางของวัตถุบริเวณที่เป็นที่ว่างไปถึงบริเวณขอบวงกลมด้านนอก การเพิ่มหรือลดค่า Radius จะส่งผลกับขนาดของวัตถุโดยตรง คล้ายกับการใช้ Scale Tool โดยวัตถุจะมีขนาดที่ใหญ่ขึ้นใน Scale ที่ เท่ากันทั้งวัตถุ 

Start Sweep 
เป็นการกำหนดจุดเริ่มต้นอ้างอิงขององศาในการหมุนรอบแกนของวัตถุในการคำนวณสร้างพื้นผิว โดยมีค่าตั้งแต่ 0 – 360 องศา วัตถุที่สร้างขึ้นมาแบบปกติจะมีค่า Start Sweep = 0 ซึ่งวัตถุจะมีลักษณะทึบเพราะมีพื้นผิวหมุน

End Sweep 
มีหน้าที่เช่นเดียวกับ Start Sweep แต่ End Sweep เป็นการกำหนดจุดสิ้นสุดของรอบการหมุนสร้างพื้นผิว ซึ่งมี ค่าแยกเป็นอิสระออกจาก Start Sweep ยกตัวอย่างเช่น วัตถุหนึ่งถ้าเราตั้งค่า Start Sweep ไว้ที่ 90 องศา และ ค่า End Sweep ไว้ที่ 90 องศา นั่นหมายความว่าวัตถุชิ้นนั้นจะมีการหมุนสร้างพื้นผิวเพียง 180 องศา (เนื่องจาก 360 – 90 – 90 = 180) นั่นเอง 

Minor Sweep 
ค่านี้จะมีเฉพาะในวัตถุ NURBS รูปทรง Torus เท่านั้น เนื่องจาก Torus มีคุณลักษณะพิเศษต่างจากอันอื่น เพราะว่ามีส่วนที่เป็นช่องว่างตรงกลาง (บริเวณช่องว่างตรงกลางโดนัท) ค่า Minor Sweep นี้มีส่วนคล้ายกับ Start และ End Sweep เพียงแต่จะควบคุมเฉพาะส่วนของวงกลมเล็กในบริเวณลำตัวโดนัท สังเกตภาพตัวอย่าง ที่ 4.7 แสดง Torus ที่มีค่า Minor Sweep ที่ 360, 180 และ 90 ตามลำดับจากซ้ายไปขวา
Degree 
ในส่วนนี้ค่าที่ใส่จะไม่ใช่ตัวเลขเหมือนในส่วนอื่นๆ แต่จะมีค่าให้เลือกได้เพียงสองชนิดคือ Cubic และ Linear โดยค่าปกติเมื่อเราสร้างวัตถุขึ้นมาจะเป็นค่า Cubic มีผลให้วัตถุมีความโค้งมน ถ้าเราเปลี่ยนค่าเป็น Linear วัตถุ จะเปลี่ยนเป็นลักษณะเหลี่ยม คล้ายๆกับ Polygons แทน (ดูภาพประกอบที่ 4.8)

Sections กับ Spans 
ค่าทั้งสองนี้เปรียบได้กับค่า Segments ของ Polygons เป็นการกำหนดว่าในแนวแกน X และ Y จะมีเส้นที่ใช้แบ่ง วัตถุออกเป็น faces จำนวนกี่เส้นต่อด้าน ค่าเหล่านี้จะมีผลต่อการ Edit วัตถุต่อไป วัตถุที่มี Sections และ Spans มากย่อมส่งผลให้การประมวลผลของเครื่องหนักมากขึ้นด้วย แต่ในขณะเดียวกัน เราก็จะมีเส้นและจุดไว้ ใช้ในการ Edit เพิ่มมากขึ้น ดังนั้นในการทำงานให้ได้ประสิทธิภาพสูงสุด ผู้ใช้จึงมีความจำเป็นต้องหาความพอดี ระหว่างสองส่วนนี้ (ดูภาพประกอบที่ 4.9)

Patches U, Patches V และ Subdivision Width, Subdivision Height 
ทั้งสองหัวข้อนี้มีการทำหน้าที่เช่นเดียวกับ Sections และ Spans แตกต่างกันที่ Patches U, V จะอยู่ในหัวข้อ ของรูปทรง NURBS Cube และ Subdivision Width, Height จะอยู่ภายใต้รูปทรง Plane (ดูภาพประกอบที่ 4.10)

แบบฝึกหัด
จงสร้างโมเดลแบบ Nurbs 
•	Sphere โดยตั้งค่า Span UV ที่ 8/12
•	Sphere โดยตั้งค่า Start Sweep = 180 องศา
•	Torus โดยตั้งค่า Minor Sweep = 90 องศา