顯示具有 外掛 (plugin) 標籤的文章。 顯示所有文章
顯示具有 外掛 (plugin) 標籤的文章。 顯示所有文章

2015年8月5日 星期三

使用 dgProfiler 來檢測 rigging 的瓶頸

動畫師永遠會抱怨你的 rig 太慢, fps 只有 99.9999 等等的問題 ,所以很多時候你就得找個辦法加速你的 rig 了。首先最快的解決方法當然是直接出錢幫你的動畫師升級電腦,其次是找這位大神幫你加速:
如果這兩個辦法你都辦不到的話 那就只好自己乖乖想辦法加速了。其中一個方法就是透過 dgProfiler 檢測 rigging 的瓶頸到底在哪。 dgProfiler 是 maya 近年來(沒記錯的話是 2014 或 2015)增加的一個功能。首先要透過 plug-in manager 把 dgProfiler plugin  load 起來。




接下來你要準備一個角色有被keyframe 過的檔案,大概 50-60 frame 就夠了,不過記得盡量要全身都有動作的檔案會比較理想。 (以下這測試角色是 Mathilda Rig )



然後大開 DG Profiler 的 ui, 也不需要調整太多參數,大概只要把Number of Runs 改為 2~3 就好了(目的是要讓這程式重複跑個幾遍避免一些誤差)。按下 Profile! 這工具就會開始 playback 你的場景,跑 n 次(number of runs) 之後會顯示出一些數據。





你可以把這數據導出成一個 cvs 檔,再用 excel 或 openoffice 或 LibreOffice這類的 spreadsheet editor 來顯示以及編輯這個檔案,找出整個 rig 的瓶頸。



以這個測試rig來說,主要的兇手大概就是CT_headLattice_dfm (lattice) 還有一些 skinCluster. 如果有辦法加速這幾個 nodes 的話,就可以讓整個 rig 的數度再提升一些。不過說實話啦,有時候真的升級電腦是個快速又省時間(也等於省錢)的方法!

2015年3月19日 星期四

Necklace 外掛 (Maya python plugin) : 在曲線上產生以及編輯多個物件的動態。



Necklace 是我最近發布的一套open source Maya python plug-in, 可以幫助我們簡單快速得在曲線上產生多個物件,並且可以控制物件的軸向還有動態。參考影片:







1. 套件下載完之後放到某個目錄,例如 C:\plug-ins\necklace
2. 打開 necklace.mod, 並且修改檔案裡的路徑,改為你的安裝路徑, e.g : C:\plug-ins\necklace
3. 編輯 maya 設定目錄裡的 maya.env (e.g : C:\users\rainmaker\documents\maya\2015-x64\maya.env),加上這個變數 : MAYA_MODULE_PATH = C:\plug-ins\necklace;4.開啟 maya,然後執行以下這一行 mel:  source "necklaceSetup.mel";necklaceSetup();    shelf 上會增加一個 icon, 按下那個 icon 就可以使用簡易介面產生 necklace 物件。如果要進行細調,可以到 channel box 或 scriptEditor 找 testNecklace 的 node 調整裏頭的參數。







2010年1月26日 星期二

Maya bonus tools 功能之一: 在畫面上顯示模型線之長度 (edge length HUD)

Alias/Autodesk 從早期到現在都會把 Maya 一些額外的功能包成一組叫做 Bonus tools 的工具. 每一個Maya版本都會出一組 Bonus tools. 這些是 Maya 團隊從各處收納下來的功能,可是又不想把它放進官方版裡的menu (管理,版權等等的原因), 所以才叫 "Bonus".

Maya Bonus tools 官方下載網站是在: http://area.autodesk.com/bonus_tools

下載&安裝完之後重開Maya通常Bonus Tools 就會出現在 Menu 上了 . 若沒出現的話,執行以下這幾行即可:

{

scriptJob
-permanent
-event "MenuModeChanged" "bonusToolsMenu";

bonusToolsMenu;

}


Bonus Tools 裡其實有蠻多實用的功能,其中之一就是顯示模型線之長度 (edge length HUD). 切換這功能的開關是在 Bonus Tools->Modeling->Toggle Edge Length HUD.


這功能還可以顯示多條線的總長度呢!


2009年5月24日 星期日

快速 設定 Mental Ray Wireframe Render




建模師的作品集裡頭通常都會有所謂的 wireframe render,用來突顯該建模師的佈線控制能力. Maya 的 Mental Ray 有一個叫做 contour shader 功能可以用來 render 出 wireframe, 可是操作上對於不常用Mental Ray 的使用者來說可能不太直覺.

在這我介紹一個非商業免費使用的 Maya plugin 叫做 MultiTool, 裡面其中一個功能可以讓你輕鬆的把 Mental Ray Contour Shader 設定好,並且可以 render出 不錯的 wireframe render.

以下是 MultiTool 的 安裝與使用方法(針對 assign contour shader 功能):

  • 安裝完畢之後打開Maya,然後在 Windows->Settings/Preferences->Plug-in Manager 裡把 MultiTool 打勾.

  • 在Maya Menu Bar 上將會出現 Ticket 這個 Menu.
  • 點選你要render wireframe 的模型,然後執行 Ticket->MultiTool->Assign Contour Shader.
  • 按下 render. 別忘了把 render 軟體設成 mental ray. 你會發現除了該有的 render結果之外還會加上 polygon 的佈線. 不錯吧!

2009年4月10日 星期五

如何安裝maya 外掛(plugin), python & MEL 程式

Maya 算是擴展性很高的一套軟體, 所以你在網路上可以找得到許多很實用或純粹有趣的外部程式.

Maya 外部程式基本上可以分成兩大類:

1. mel/python 程式.
這一類的程式大多數用在作業自動化或簡單化.Maya的使用介面(UI) 也都是用Mel 程式建構出來的.易懂好操作,但不適合做複雜運算或特殊作業.

2. 外掛(plug-in)
這一類的程式適合用來增加maya本身缺法的功能..例如 renderman 算圖, 特別格式的export import等等. Maya 8.5以上的外掛又可以分成兩種:
(a). C++ 外掛 : .mll 或 .so 或 .bundle
這一種外掛是需要針對不同maya版本各別編譯的,所以你必須現確認你拿到的外掛版本是否跟你的Maya版本一樣.例如 maya 2008 不能用 8.5或2009版本的外掛

(b) python 外掛 : .py或 .pyc
這一種外掛是maya 8.5以上的版本都可以通用的,不需要為maya某個版本重新編譯(compile).
當你拿到一個外部程式時,又要如何處理才可以讓Maya"找得到"它呢?有些開發者會提共安裝檔來簡化安裝過程,但若沒有的話,你可以執行以下三種方法之一 :


方法一:

把外掛檔 (.mll 或 .so 或 .bundle或 .py 外掛) 放到 [maya安裝路徑]/bin/plug-ins/ 裡.
例如 : "C:/Program Files/Autodesk/Maya8.5/bin/plug-ins"

把scipt檔 (.mel 或 .py)放到 預設 script 路徑裡.
例如 :"C:/Documents and Settings/rainmaker/maya/scripts".
或 "/home/rainmaker/maya/scripts".

方法二:
在系統環境變數裡加上這些變數:

MAYA_SCRIPT_PATH = [mel檔的之料夾]
MAYA_PLUG_IN_PATH = [外掛檔的之料夾]
PYTHONPATH = [python檔的之料夾]
例如:
MAYA_SCRIPT_PATH = C:\zebruv\scripts;E:\test_scripts;
MAYA_PLUG_IN_PATH = C:\zebruv\plugins;
PYTHONPATH = C:\zebruv\scripts;


方法三:

用文字編輯器打開 maya.env 檔.
maya.env 這個檔案的路徑:
windows -> drive:\Documents and Settings\username\My Documents\maya\[版本]
linux -> ~/maya/[版本]
Mac OS X-> /Users/username/Library/Preferences/Autodesk/maya/[版本]
在maya.env 裡加上這幾行:

MAYA_SCRIPT_PATH = [mel檔的之料夾]
MAYA_PLUG_IN_PATH = [外掛檔的之料夾]
PYTHONPATH = [python檔的之料夾]
例如:

MAYA_SCRIPT_PATH = C:\zebruv\scripts;E:\test_scripts;
MAYA_PLUG_IN_PATH = C:\zebruv\plugins;
PYTHONPATH = C:\zebruv\scripts;


如何在maya裡檢查目前存在的 maya plugin 目錄?
-> 在maya裡打 getenv "MAYA_PLUG_IN_PATH";

如何在maya裡檢查目前存在的 maya script 目錄?
-> 在maya裡打 getenv "MAYA_SCRIPT_PATH";

如何在maya裡檢查目前存在的 maya icon 目錄?
-> 在maya裡打 getenv "XBMLANGPATH";