但有一位叫Joe 的同事(建模師) 說他覺得用滑鼠切換模式(on off) 還是不太方便,於是我就幫他做成一個快速鍵.
以下是在Maya裡建立快速鍵的步驟:
->先打開 hotkey editor (Window->Settings/Preferences->Hotkey Editor)
->在 categories 底下點選 User (或其他的category都可以)
-> 按下 new,然後填上 Name, Description ,
i.e:
Name : myViewSelected,
Desciption : myViewSelected
-> 在 command 的欄位貼上這些指令:
{
string $selection[] = `ls -sl`;
int $componentMode = 0;
string $compList[] ={".e",".f",".vtx",".map",".cv",".u",".v",".sf",".uv"};
for($each in $selection)
{
int $found =0;
for($eachComp in $compList)
if(`gmatch $each ("*"+$eachComp+"*")`)
{
$componentMode = 1;
$found = 1;
break;
}
if($found)
break;
}
string $objs[]=`ls -sl -o`;
select -r $objs;
string $mpName = `paneLayout -q -pup $gMainPane`;
int $testIsolateSelect =`isolateSelect -q -state $mpName`;
if($testIsolateSelect)
{
enableIsolateSelect $mpName 0;
isolateSelect -state 0 $mpName;
}
else
{
enableIsolateSelect $mpName 1;
isolateSelect -state 1 $mpName;
}
select -r $selection;
if($componentMode)
hilite $objs;
}
->按下 accept->現在我們要指定使用哪個快速鍵.我個人偏向用 alt+z, 所以我會填上:
Assign New Hotkey:
key :z
modifier : alt
要注意的是你個快速鍵不要跟其他常用到的快速鍵衝突.
->按下 assign
->按下 save , close
建立快速鍵完成!
更新:
這位老兄 提供了比較 "完美" 的 單獨顯示 程式, 可以保留目前取用的 component mode 等等模式:
//SELET OBJET NOT A COMPONENT
{
string $ObjSel[] =`ls -selection -objectsOnly -dagObjects -shapes`;
// GET MODEL PANEL
$aPanel = `getPanel -withFocus ` ;
$isoStatus = ` modelEditor
-query
-viewSelected
$aPanel ` ;
// TOGGLE SELECTION
if ($isoStatus ==0 )
{
enableIsolateSelect $aPanel 1 ;
//LOOP THOUGH EACH OBJECT
for ($eachObject in $ObjSel)
{
isolateSelect -addDagObject $eachObject $aPanel;
}
isolateSelect -state 1 $aPanel;
}
else
{
// GET NORMAL VIEW
enableIsolateSelect $aPanel 0 ;
isolateSelect -state 0 $aPanel;
}
}
能把這個功能變快速件真是太棒了
回覆刪除我之前就想過可惜不會XD
可惜我用的時候會跳出
Error: "$objs" is an undeclared variable. //
沒辦法用
我用複製貼上
不知道是哪邊出錯了@@
可以用的話就太棒了XD
Hi,
回覆刪除感謝你的回應,我發現code裡面有一些很蠢的bug.
現在應該修正好了(可能需要把網頁 reload 一下)..
試試看吧!
感謝板大
回覆刪除真的可以用了好方便XD
雖然2009之後有把它做成按鈕了
但還是沒快速建可用
畢竟能儘量多轉移一些工作到左手去
對右手的負擔比較輕...
再次感謝板大!
這個幫助超大的
回覆刪除謝謝你~
請再接再厲 !