2010年11月1日 星期一

$gMainPane : 紀錄主視窗的變數




很多時候我們會想對 Maya 的 active panel (主視窗) 作一些修改, 例如 顯示貼圖, 隱藏曲線等等的動作。 那在 script editor 裡顯示出來的對應程式會長得類似以下這一行 :

modelEditor -e -nurbsCurves true modelPanel4;

問題是,,我們如果把這一行存成 一個 快速鍵 的話, 下一次執行就未必能成功了。 原因在於不是每一次 Maya 生出來的 視窗名稱都叫 modelPanel4, 後面數字是個不固定的變數, 例如有時會是modelPanel5, 6, 7 等都有可能. 那要怎麼取得正確的名稱呢?

$gMainPane 就是 Maya預設用來存主視窗名稱的變數. 利用這變數就可以把目前的主視窗取出來, 然後對它做修改. 像以下的程式範例是用來切換 paint effect 顯示/隱藏 狀態:

{
global string $gMainPane;
string $currentModelPanel = `paneLayout -q -pup $gMainPane`;
int $stat = !`modelEditor -q -strokes $currentModelPanel`;
modelEditor -e -strokes $stat $currentModelPanel;
};

沒有留言:

張貼留言