2012-01-27 24 views
0

我試圖使用MEL script加載ANIMATION.MA文件引用CHARACTER_RIG.MACHARACTER_RIG.MAANIMATION.MA文件由其他人制作並提供給我。該ANIMATION.MA正在尋找
N:/Project/Maya//char/character/CHARACTER_RIG.MA如何從MEL加載Maya .MA文件,當它有未解決的參考?

如果我從瑪雅打開ANIMATION.MA,或使用等效MEL命令我總是提示:

"Reference File Not Found" 
Reference File Not Found: N:/Project/Maya//char/character/CHARACTER_RIG.MA. 
[Abort File Read] [Skip] [Browse...] [Retry] 

如果我點擊瀏覽,並選擇CHARACTER_RIG.MA則完美打開。我可以看到它在參考編輯器中創建了一個具有未解析路徑(N:/ ...),已解決路徑(/ my/path)以及命名空間和命名空間RN的引用。

我的問題是,我該如何做MEL的「瀏覽...」的等價物?我試着預先創建一個引用,但它不讓我設置未解決的路徑,所以當我加載ANIMATION.MA時,它在MAYA中不斷提示。

file -f -options "v=0" -typ "mayaAscii" -o "/Source/project/assets/anims/ANIMATION.MA" 
+0

我找到了解決方法。由於我使用ASCII文件.MA文件,因此可以直接編輯文件以將路徑更改爲指向正確的CHARACTER_RIG.MA位置。 因爲我從shell腳本調用MEL腳本,我最終搜索並替換了MA文件中的路徑: 'perl -pi -e's/\ Qold-path \ E/\ Qnew-path \ E/g'ANIMATION.MA' 希望能幫助別人。 – peterept 2012-01-31 05:23:08

+0

我發現了一個更簡單的解決方案 - 不涉及代碼:Maya還將在當前目錄和項目目錄中查找匹配的文件名。在這種情況下,我只是將CHARACTER_RIG.MA複製到與ANIMATION.MA相同的文件夾中,並自動加載它。 HTH(後見之明) – peterept 2012-02-02 22:20:49

回答

0

我最終找到了幾種解決方案:

  1. 重命名RIG.MA文件中ANIM.MA文件名匹配(他們在我的情況不同),並把它放在一個MAYA使用的搜索或項目文件夾,它會自動找到它。

  1. 編程方式通過代碼(或手動)編輯ANIM.MA文件重新映射RIG.MA的到你想從它加載的文件/文件夾。注意:您還需要重新映射其他任何文件,如紋理。我這樣做是與 perl -pi -e 's/\Qold-path\E/\Qnew-path\E/g' ANIMATION.MA

HTH別人。

1

如果您知道文件所在的目錄,那麼您可以使用dirmap命令。命令dirmap允許您在磁盤配置更改時重新映射目錄結構。所以在這種情況下,它看起來像:

dirmap -en true; 
dirmap -m "N:/Project/Maya//char/character" "/my/path"; 

可能更易於管理,如果你有很多映射的移動形式的Windows機器上* nix的一個時候做特別。但是,定義項目結構會更有用,因爲這樣做在移動時才起作用,這對於共享資產來說可能不是最佳選擇。

0

快速簡單,文件,項目,設置和選擇文件夾或其他任何地方的文件夾。