2012-01-27 3 views
0

Я пытаюсь использовать MEL script для загрузки ANIMATION.MA файла, который ссылается CHARACTER_RIG.MA. Файлы CHARACTER_RIG.MA и ANIMATION.MA создаются кем-то другим и поставляются мне. ANIMATION.MA ищет
N:/Project/Maya//char/character/CHARACTER_RIG.MAКак загрузить файл Maya .MA из MEL, когда у него есть неразрешенная ссылка?

Если я открываю 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

Я нашел решение для работы. Поскольку я использую файлы .MA, которые являются ASCII, достаточно просто отредактировать файл напрямую, чтобы изменить путь, чтобы указать правильное местоположение CHARACTER_RIG.MA. Поскольку я вызывал сценарий MEL из сценария оболочки, я закончил поиск и замену пути в файле MA: 'perl -pi -e '/ \ Qold-path \ E/\ Qnew-path \ E/g 'ANIMATION.MA' Надеюсь, что это поможет кому-то еще. – peterept

+0

Я нашел гораздо более простое решение - без кода: Maya также будет искать подходящее имя файла в текущем и проектном каталогах. В этом случае я просто скопировал CHARACTER_RIG.MA в ту же папку, что и ANIMATION.MA, и он загрузил ее автоматически. HTH. (Настолько очевидным в ретроспективе) – peterept

ответ

0

я в конечном итоге найти несколько решений:

  1. Переименовать файл RIG.MA, чтобы совпадать с именем файла в ANIM.MA (они отличались в моем случае) и поместить его в одну из папки поиска или проекта, которые MAYA использует, и автоматически найдет их.

или

  1. Programatically через код (или вручную) редактировать файл ANIM.MA переназначить файл/папку в RIG.MA, где вы хотите, чтобы загрузить его с. Примечание: также необходимо переназначить любые другие файлы, такие как текстуры. Я сделал это с perl -pi -e 's/\Qold-path\E/\Qnew-path\E/g' ANIMATION.MA

НТН кто-то другой.

1

Если вы знаете каталог, в котором находится файл, то вы можете использовать команду dirmap. Команда dirmap позволяет переназначить структуры каталогов, если ваша конфигурация диска изменилась. Так что в этом случае она будет выглядеть следующим образом:

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

Возможно, более управляемым, если у вас есть много отображений сделать особенно при движении образует машину окна в * Никс один. Однако гораздо более полезно определить структуру вашего проекта, потому что тогда все просто работает, когда вы двигаетесь, это может быть не лучшим выбором для общих активов.

0

Быстро и просто, файл, проект, установите и выберите папку, в которой находятся сетки или что-то еще.