Displacement Map
สร้างฉากใต้ทะเล โดยใช้ Displacement Map
Chamferbox
ขั้นตอนการสร้าง เตียง ผ้าคลุมเตียง หมอนใบนั้น
Compesite Map
ขั้นตอนการสร้างวัสดุ น้ำ Compesite Map

[ Making Marking Menu For Modeling ]
Marking Menu... คืออะไร
Maya มีUser Interface (UI) ชนิดหนึ่งซึ่งให้ความสะดวกและรวดเร็วอย่างมากในการทำงาน

ที่เห็นด้านบนนี้คือ Marking Menu ที่เรียกขึ้นมาด้วยการกด h ค้าง และกด Mouse ซ้ายค้าง เป็นเมนูลัดสำหรับเปลี่ยน Menu set นั่นเอง Marking Menu ที่Maya ให้มานั้นมีมากมาย แล้วแต่ปุ่มที่กด ตำแหน่งที่กด และขึ้นกับคำสั่งที่กำลังเรียกใช้งาน

Marking Menu ที่เราจะได้ใช้บ่อยๆคือการกดปุ่ม u เมื่อเรียกใช้คำสั่ง Sclupt Polygon Tool หรือ Sclupt Surface Tool เป็นการเรียก Menu ย่อยขึ้นมา เพื่อเลือก Option ต่างๆของเครื่องมือ เพิ่มความสะดวก เพื่อไม่ต้องไปเลือก Option ที่เปลี่ยนไปมาบ่อยๆในน่าจอ Tool Setting

เมื่อคลิก Mouse ขวาค้างลงไปบน Object ใดๆ จะเรียก Marking Menu ที่ชื่อว่า Context Sensitive Marking Menu ขึ้นมา คาดว่าหลายคนคงจะคุ้น เคยกับ Marking Menu ลักษณะนี้ดีMarking Menu ชนิดนี้จะเปลี่ยนไปขึ้นอยู่กับ คลิก Mouse ขวาค้างบน Object ใด เช่นในภาพ เป็นการคลิก Mouse ขวาลงบน Polygon Object คำสั่งก็จะเกี่ยวกับ Polygon เช่นการเปิด Vertex การเปิด Face ส่วนด้านล่าง ก็จะมีคำสั่งมราใช้เปิด Attribute Editor เปิด Inputs Outputs ในกรณีที่มีConstruction History และเลือก Materials เข้ามาใส ่หรือเข้าไป Material Attributes... ฯลฯ

เมื่อกด Space bar ค้าง จะมีHot box ขึ้นมา โดย Hot box จะแบ่งเป็น 5 Zones มีเหนือ ใต ้ตะวันออก ตะวันตก และ กลาง โดย เมื่อคลิก Mouse ซ้าย ค้างในแต่ละโซนก็จะมีMarking Menu ที่แตกต่างกันออกไปขึ้นมา เช่นด้านตะวันออก ดังรูปด้านบน จะเป็น Marking Menu ซึ่งทำหน้าที่เปิดปิดส่วนต่างๆ ของหน้าจอ Maya นั่นเอง
ใน Maya จะมีMarking Menu มากมายที่เดียวโดยใช้คีย์ลัดต่างๆกันในการเรียกขึ้นมา ยกตัวอย่างเช่น ปุ่ม w ค้าง เป็น Option ของการ Move กดปุ่ม o ค้าง เป็นการเลือกเครื่องมือในการขึ้น Model ต่างๆ กดปุ่ม q ค้าง เลือก selection mask และอื่นๆอีกซึ่งหาอ่านรายละเอียดได้จาก Help ของ Maya ครับ
สิ่งที่ผู้ใช Maya ชอบมากคือการที่สามารถสร้าง MArking Menu ขึ้นใช้เองได้อย่างง่ายดาย และไม่ยุ่งยากซับซ้อน ในที่นี้เราจะทำ Marking Menu ซึ่ง รวมคำสั่งที่ใช้ช่วยเหลือการขึ้น Model ต่างๆเอาไว ้เช่นการเปิดปิด X-Ray Mode การเปิดปิด Subdiv Surface Edges ซึ่งปกติต้องคลิกปุ่มที่เสียเวลา การทำ Marking Menu จะช่วยได้เยอะครับ
เอาล่ะ ก่อนอื่นเราจะทำปุ่มสำหรับ เปิดปิด X-Ray Mode กันก่อน โดยเปิด Script Editor ขึ้นมา และพิมพ Mel ลงไป
string $panelName = `getPanel -wf` ;
modelEditor -edit -displayAppearance "smoothShaded" $panelName;
int $xrayValue = `modelEditor -q -xray $panelName`;
if($xrayValue <= 0)
{
modelEditor -e -xray 1 $panelName;
}
else
{
modelEditor -e -xray 0 $panelName;
}
เป็น Mel ซึ่งผมได้มาจาก Highend3d.com และสามารถใช้เปิดปิด X-Ray Mode ด้วยการใช้คำสั่ง modelEditor

ตัวใหญ่ตัวเล็กสำคัญครับ ในการใช Mel Script ดังนั้นต้องระวังเรื่องการเขียนตัวพิมพ์ใหญ่พิมพ์เล็กให้เหมือน Script เครื่องหมาย ` จะอยู่ข้างๆกับเลข 1 บนคีย์บอร์ด ไม่ใช ' นะครับ
จากนั้น select ที่เราพิมพ์มาทั้งหมด แล้วใช Mouse กลางลากไปวางไว้ที่Shelf จะได้ปุ่มที่ชื่อว่า mel ขึ้นมา

ถ้าลองกดที่ปุ่มนี้ดูจะเป็นการเรียกใช Mel Script ที่เราเขียนขึ้นมานั่นเอง ซึ่งก็คือการเปิดปิก X-Ray Mode
เสร็จแล้วเราจะเริ่มทำปุ่มที่สอง คือปุ่มใช้เปิดปิด Subdiv Surface Edges วิธีการเหมือนกันครับ เปิด Script Editor ขึ้นมา เขียน Mel ด้านล่างนี้ลงไป
$sel = `ls - sl`;
$selch = `listRelatives -pa $sel`;
$ev = `getAttr $selch.dispEdges`;

if ($ev == 0) {
$cmd = "setAttr " + $selch[0] + ".dispEdges 1";
eval($cmd);
} else {
$cmd = "setAttr " + $selch[0] + ".dispEdges 0";
eval($cmd);
};
Mel Script เรียกคำสั่ง setAttr เพื่อเปิดปิด Attribute ที่ชื่อ dispEdgesของ Subdiv Surfaces ที่เรา select อยู่ในขณะนั้น เช่นเดียวกันครับ เมื่อเขียน เสร็จ select ทั้งหมดแล้วบากไปวางไว้บน shelf ถึงตรงนี้เราก็จะมีmel สองอันวางอยู่บน shelf คำสั่งอื่นๆที่เราต้องการก็คือการ Convert ต่างๆ ในกรณีนี้จะสร้างปุ่มสำหรับ Convert 3 ประเภทคือ Convert Polygon to Subdiv, Convert Subdiv to Polygon และ Convert NURBS to Polygon สร้าง ปุ่มเหล่านี้ด้วยการกด Ctrl+Shift และ คลิกเลือกคำสั้งสั่งบน Menu ปกติ(Modify>>Convert) จะได shelf ที่มีปุ่มทั้งหมด 5 ปุ่ม อ้อ อย่าลืมตั้ง Option การ Convert ให้ได้ตามต้องการก่อนนะครับ จะได้ไม่ต้องมานั่งเขียน Mel แก้กันทีหลัง

ขั้นตอนการเตรียมตัวเรียบร้อย ก็ถึงการสร้าง Marking Menu ขึ้นมาจริงๆ โดยไปที่Windows>>Setting Preference>>Marking Menus... จากนั้นกด ปุ่ม Create Marking Menu จะเห็นเป็นหน้าจอวางตำแหน่ง Menu ขึ้นมา ให้ใช Mouse กลางจับ ปุ่มที่เราสร้างเอาไว้บน Shelf มาวางบนตำแหน่งที่ต้อง การ

ลากปุ่มวางลงบนพื้นที่ว่างจนครบ...

ตั้งชื่อในช่อง Menu Name ว่า ModelingAssist จริงๆแล้วตรงนี้จะตั้งชื่ออะไรก็ได้ครับ ควรจะตั้งให้ตรงกับการใช้งาน และห้ามมีช่องว่างในชื่อเด็ดขาด เรา สามารถทดสอบ Marking Menu ที่จะได ้โดยคลิก Mouse ซ้ายลงไปบน บริเวรที่เขียนว่า [ Click Here to Test ]

จะเห็นได้ว่า Menu บนและล่าง ซึ่งเป็น mel script นั้น ไม่มีชื่อ จึงใช mel บรรทัดแรกมาเป็นชื่อ ซึ่งเข้าใจได้ยาก เปลี่ยนชื่อมให้เข้าใจง่ายและกระชับกว่านี้ดีกว่าครับ โดยการ คลิก Mouse ขวาค้างที่ปุ่ม ที่ต้องการเปลี่ยนชื่อ แล้วกด Edit Menu Item...

จะเห็นหน้าต่างตั้งค่าต่างๆเปิดขึ้นมา

เปลี่ยนช่อง Label ให้เป็น X-Ray On/Off และกด Save and Close ใช้วิธีเดียวกันนี้กับปุ่มด้านล่างและตั้งชื่อว่า Subdiv Edges On/Off ทดสอบอีกครั้ง จะเห็นชื่อที่กระชับและดูง่ายขึ้น
คำสั่งที่ใช้ในการ Convert NURBS to Polygon นั้นมีการเปิด Option ขึ้นมาบ่อยครั้งเพื่อ ตั้งค่าการ Teselleration ในรูปแบบต่างๆ ดังนั้น ถ้าเราทำ Option ขึ้มาใน Marking Menu ได้ก็จะช่วยในการใช้งานขึ้นได้อีกระดับ
วิธีการคล้ายกับการเปลี่ยนชื่อครับ คลิก Mouse ขวาค้างที่ปุ่ม แล้วเลือก Edit Menu Item...

ติ๊กถูกที่Option Box และใส Mel ลงไปในช่อง Option Box Command(s) : NURBSToPolygonsOptions และกด Save and Close

ทดสอบอีกครังจะได Marking Menu ที่ใช้งานได้ตามต้องการออกมา

กดปุ่ม Save และ Close ตามลำดับ เพื่อ Save Marking Menu ที่เราทำขึ้นมา จะกลับไปที่หน้าจอ Marking Menus หลัก อีกครั้ง เนื่องจาก เราต้องการ เรียก Marking Menu นี้ใช้งานผ่าน Hotkey จึงต้องเลือก Use Marking Menu in : ให้เป็น Hotkey Editor

เสร็จแล้วกด Apply Settings เป็นอันเสร็จในส่วนของ Marking Menu ครับ
ต่อไปเราจะกำหนดปุ่มในการเรียก Marking Menu ที่สร้างขึ้นมาใช้งานโดยไปที่คำสั่ง Windows>>Setting/Preference>>Hotkeys...

ด้านซ้ายมือให้เลื่อนลงมาด้านล่าง จะและคลิกคำว่า User Marking Menus ช่อง Command ด้านขวาจะบอกว่าเรามีMarking Menu ที่ทำขึ้นใช้เองกี่อัน ให้คลิกที่ModelingAssist_Press ซึ่งก็คือ Marking Menu ที่เราทำเอาไว้เมื่อกี๊ด้านขวามือ จะเป็นหน้าจอที่ใช้ในการเลือกปุ่ม ถ้ากด List All... ก็จะ เป็นการดูว่ามีปุ่มไหนบ้างที่ว่างยังไม่ได้ใช้งาน (ปุ่มเดี่ยวๆเหลือน้อยมาก) เราจะใช้ปุ่ม ; เพื่อเรียก Marking Menu เนื่องจากยังไม่มีคำสั่งใดๆใช้ปุ่มนี้ใส่ตัว ; หรือเซมิโคลอน ลงไปที่ช่อง Key แล้วกด Assign จากนั้น Maya จะถามเราว่าให้ใส่ปุ่มนี่ลงไปที่ModelingAssist_Relese ด้วยรึเปล่า ก็ตอบ Yes ไป เลยครับ
ถึงตรงนี้เช็คตรงช่อง Command ให้เหมือนกับภาพด้านบนครับ บางคนอาจจะได้ไม่เหมือนกันเนื่องจากการเซ็ตค่าแต่ละเครื่องไม่เหมือนกัน ถ้าไม่เหมือนให ้แก้ให้เหมือนโดยกดปุ่ม Edit ด้านขวา เสร็จแล้วก็กด Accept ทุกอย่างเรียบร้อยก็กด Save และ Close เป็นอันเสร็จพีธี
ลองนำมาใช้งานดูครับ อาจจะเพิ่มปุ่มเข้าไปเพื่อลบ History ก็ได ้อย่างเช่นภาพด้านล่าง


คิดว่าคงจะได้ไอเดียในการปรับแต่ง Maya ให้ใช้งานได้รวดเร็วและเหมาะสมยิ่งขึ้น ยังมีMarking Menu รูปแบบอื่นๆที่น่าทำอีกหลายอันครับ ลองค้นหา และลองทำดูไม่ยากอย่างที่คิดครับ ...

<<Back