1. 程式人生 > >maya mel新手入門要注意的小地方

maya mel新手入門要注意的小地方

很早以前也用過maya的mel指令碼,但只限於稍微用用

最近又要寫個指令碼,才稍微整理的幾個新手要注意的坑,也方便日後查閱

指令碼之前先說幾個注意點,

1 把maya環境改成英文的,雖說中文沒問題,但是總覺得不習慣

如果安裝後是中文的,要改成英文的

x:\Program Files\Autodesk\Maya2014\resources\l10n 這個資料夾下面的zh_CN 這個檔案壓縮刪除原始檔就成

如果要歡迎英文,直接解壓,刪除壓縮包也很方便

2幫助文件

但是不同版本的文件並不是在一個地方的,下面的是不同版本的線上命令文件

2015-2017
http://help.autodesk.com/cloudhelp/2015/ENU/Maya-Tech-Docs/Commands/
http://help.autodesk.com/cloudhelp/2016/ENU/Maya-Tech-Docs/Commands/
http://help.autodesk.com/cloudhelp/2017/ENU/Maya-Tech-Docs/Commands/
2012-2014
http://download.autodesk.com/global/docs/maya2014/zh_cn/Commands/index.html
http://download.autodesk.com/global/docs/maya2013/zh_cn/Commands/index.html
http://download.autodesk.com/global/docs/maya2012/zh_cn/Commands/index.html

3 mel一般就是呼叫maya裡操作執行的指令,就是那些用``括起來的

如果需要用python,可以看看幫助選單裡,到maya2016還是2.x的python

4 關於變數名快取坑

這個坑一般程式設計師入的時候更要注意

因為maya編輯器裡面,直接輸入變數的話,maya記憶體中會記錄著,如果出現下面的情況就會報錯

float $aaa = 1.1;

int $aaa = 1;

而且清空程式碼歷史,新建場景都不能使得int $aaa = 1;成功

因為maya有記錄功能,這個輸入的程式碼變數命名只能重啟maya才能清空


當然也有解決方式 第一種就是用函式,用的時候直接呼叫函式名字,因為函式內都視為臨時變數,但是這種方式還要輸入函式名,不方便除錯

第二種就很方便用{}括號括住就行了,一樣被視為臨時變數,就不會產生名稱空間的問題

例如

{
 int $bbb = 3;  
};
{
 float $bbb = 3.1;  
};


5 編輯器快捷功能

有些人可能不知道,有些我也是剛剛知道,記錄下也是方便以後使用

程式碼可以用ctrl+滾輪放大縮小

ctrl+回車可以快速執行(當然如果是在函式裡的需要再輸入函式名,純用花括號的就不用)

scriptEditorInfo -clearHistory;//這句可以清楚編輯器歷史,如果不想手動刪的話,程式碼最後可以跟一句

當然還有通用的ctrl + s儲存之類

6 mel文件格式

mel語言wins上是ansi格式的,注意

7 快捷執行

執行帶框架指令碼,放到下面目錄裡
C:\Users\shenmifangke\Documents\maya\scripts
然後拖入到maya中
然後在命令列中打上剛剛放入上面目錄指令碼的名字,並回車
(當然也可以中間拖著剛剛打入的名字到工具架上形成圖示)

8.19.2016補充

8 快捷工具架設定

指令碼是可以通過中鍵拖到工具架上的,然後可以在裡面重新命名


8 構建歷史

這個關閉了用平滑之類就不需要刪除歷史記錄了,有時候寫指令碼不需要構建歷史或者有影響的時候可以試試關掉