1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Локальные и сетевые пути к скриптам.

Тема в разделе "Maya", создана пользователем Михаил Фоменко, 13 июн 2013.

Модераторы: Dark™, Skif
  1. Михаил Фоменко

    Михаил Фоменко Знаток

    С нами с:
    25.04.2008
    Сообщения:
    449
    Симпатии:
    10
    Баллы:
    23
    Ребята, привет. Есть переменная среды MAYA_APP_DIR, которая указывает майе, где ей брать префы. Кастомная папка. Там есть файл Maya.env, в котором по идее правильно описаны пути, где майе смотреть скрипты, которые лежат где-нибудь еще, кроме как в кастомных префах. Пишу:
    MAYA_SCRIPT_PATH = //server-3d/Project/lib/setup/maya/maya_scripts_rfm4;

    Окей, но тогда мои скрипты не грузятся нифига. Даже так:
    MAYA_SCRIPT_PATH = //server-3d/Project/lib/setup/maya/maya_scripts_rfm4;$MAYA_APP_DIR/scripts;$MAYA_APP_DIR/2013-x64/scripts

    Как ни крутил, ни вертел, мои скрипты грузятся только тогда, когда нет сетевого пути или вообще нет этой строчки.

    Вопрос: помогите пожалуйста сказать майе, чтобы она подгружала как скрипты из моей кастомной папки, где лежат префы со скриптами, так и вот эти дополнительные сетевые скрипты.

    Я уже и так, и сяк и наперекосяк делал, ну не хочет она подгружать мне и то, и то. :-(
     
  2. Dark™ vip

    Dark™ Administrator Команда форума

    С нами с:
    28.10.2001
    Сообщения:
    3.110
    Симпатии:
    217
    Баллы:
    1.520
    getenv "MAYA_SCRIPT_PATH" выводит новые пути? Если да, то, возможно, ошибка в скрипте или они вместе несовместимы.
     
  3. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    дык если использовать недопустимые символы в имени пути, то ничего хорошего не получится....
     
  4. Михаил Фоменко

    Михаил Фоменко Знаток

    С нами с:
    25.04.2008
    Сообщения:
    449
    Симпатии:
    10
    Баллы:
    23
    Майя не ругалась на недопустимые символы. Какие в данном случае неуместные знаки?
     
  5. VARVAR13

    VARVAR13 Активный участник

    С нами с:
    29.12.2010
    Сообщения:
    80
    Симпатии:
    3
    Баллы:
    9
    server-3d "-" такое майа не любит
     
  6. Михаил Фоменко

    Михаил Фоменко Знаток

    С нами с:
    25.04.2008
    Сообщения:
    449
    Симпатии:
    10
    Баллы:
    23
    Так называется сервер, ничего не поделаешь. И повторюсь: скрипты с сервера работают. И мои скрипты работают, если убрать строчку MAYA_SCRIPT_PATH вообще. Но вместе они работать отказываются. Если прописать все вместе, то грузятся только серверные скрипты. Значит дело не в путях, получается?
     
  7. Михаил Фоменко

    Михаил Фоменко Знаток

    С нами с:
    25.04.2008
    Сообщения:
    449
    Симпатии:
    10
    Баллы:
    23
    Вот попробовал еще перенести сетевые скрипты себе на машину и написал:
    MAYA_SCRIPT_PATH = $MAYA_APP_DIR/scripts;$MAYA_APP_DIR/2013-x64/scripts;$MAYA_APP_DIR/2013-x64/scripts_Work

    Таким образом не грузится вообще ничего. Если прописать:
    MAYA_SCRIPT_PATH = $MAYA_APP_DIR/2013-x64/scripts_Work
    то рабочие скрипты грузятся.

    Если прописать:
    MAYA_SCRIPT_PATH = $MAYA_APP_DIR/scripts;$MAYA_APP_DIR/2013-x64/scripts
    то мои скрипты не грузятся.

    Сейчас убрал строчку вообще и не загрузилось ничего. У меня фрустрация.

    По запросу выдается такой список:
    Код:
    getenv "MAYA_SCRIPT_PATH";
    // Result: //server-3d/Project/default/scripts;
    //server-3d/Project/lib/setup/maya/maya_scripts_rfm4;
    D:/Dropbox/MayaFolder/MayaPrefs/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/2013-x64/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/2013-x64/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/2013-x64/presets;
    D:/Dropbox/MayaFolder/MayaPrefs/2013-x64/prefs/shelves;
    D:/Dropbox/MayaFolder/MayaPrefs/2013-x64/prefs/markingMenus;
    D:/Dropbox/MayaFolder/MayaPrefs/2013-x64/prefs/scripts;
    C:/Program Files/Autodesk/Maya2013/scripts;
    C:/Program Files/Autodesk/Maya2013/scripts/startup;
    C:/Program Files/Autodesk/Maya2013/scripts/others;
    C:/Program Files/Autodesk/Maya2013/scripts/AETemplates;
    C:/Program Files/Autodesk/Maya2013/scripts/unsupported;
    C:/Program Files/Autodesk/Maya2013/scripts/paintEffects;
    C:/Program Files/Autodesk/Maya2013/scripts/fluidEffects;
    C:/Program Files/Autodesk/Maya2013/scripts/hair;
    C:/Program Files/Autodesk/Maya2013/scripts/cloth;
    C:/Program Files/Autodesk/Maya2013/scripts/live;
    C:/Program Files/Autodesk/Maya2013/scripts/fur;
    C:/Program Files/Autodesk/Maya2013/scripts/muscle;
    C:/Program Files/Autodesk/Maya2013/scripts/FBX;
    C:/Program Files/Autodesk/Maya2013/scripts/mayaHIK;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/CPS/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/JS_Multilayers_v1.0/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/JS_Normalmapper_1.2.2/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/MentalCore2013/scripts;
    C:/Program Files (x86)/dRaster/NEX/2013-x64/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/NinjaDojo_GrandMaster_v5.3/scripts;
    C:/Program Files/Pixar/RenderManStudio-4.0-maya2013/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/MayaBonusTools2013/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/feTools_2013_x64/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/HoudiniHotOceanToolkit_2013/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/iDisplace_v0.5.0/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/LightStorm3D_Scripts/lsCreateTube_2.000/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/LightStorm3D_Scripts/lsCreateWire_2.000/scripts;
    C:/Program Files/Autodesk/Maya2013/mentalray/scripts/AETemplates;
    C:/Program Files/Autodesk/Maya2013/mentalray/scripts/mentalray;
    C:/Program Files/Autodesk/Maya2013/mentalray/scripts/unsupported;
    C:/Program Files/Autodesk/Maya2013/mentalray/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/mix8layer/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/shaderMonger_v2.0/scripts;
    C:/Program Files/JoeAlter/shaveHaircut/maya2013/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/spPaint3d_2011.1/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/uvlayout_Bridge_v2.08/scripts;
    D:/Dropbox/MayaFolder/MayaPrefs/addons/wizControllers_v1.0.0/scripts //
    Делаю вывод, что символов, препятствующих исполнению скриптов нет, т.к. по сети скрипты работают на "ура". Сейчас удалил рабочие скрипты со своей машины, т.к. надо будет докопаться, почему они не запускаются вместе и почему сейчас не запустились мои скрипты, когда я удалил строчку вообще.
     
  8. Leontij

    Leontij Пользователь сайта

    С нами с:
    04.12.2005
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    2
    По совету одного умного человека я maya.env сделал пустым (т.е. размером 0 байт), а майку запускаю через bat-файл, в котором все нужные переменные среды (MAYA_PLUG_IN_PATH, MAYA_SCRIPT_PATH, PYTHONPATH и прочая-прочая) смотрят на сервер. Это позволило создать единый легко управляемый майский environment для любого компа на студии.

    Ваш батник может быть таким:
    set MAYA_APP_DIR=//server-3d/Project/lib/setup/maya/maya_scripts_rfm4
    set MAYA_SCRIPT_PATH=%MAYA_APP_DIR%/scripts;%MAYA_APP_DIR%/2013-x64/scripts
    start maya.exe

    Кстати, совсем не удивлюсь, если "server-3d" -- таки плохое имя. Надо проверять.

    Хотя у нас на студии спокойно работают плагины, в пути к которым есть папки и с "-", и с цифрами и с точками... Но плагины -- не скрипты. В путях к которым цифры есть, а минусов-точек нет...
     
  9. Puppet

    Puppet Активный участник

    С нами с:
    20.05.2004
    Сообщения:
    546
    Симпатии:
    17
    Баллы:
    19
    Какая у вас ОС?
    Вы смешали синтаксис Unix и Windows систем.

    Если у вас Linux или Mac, то должно быть как то так:
    MAYA_SCRIPT_PATH = $MAYA_SCRIPT_PATH://server-3d/Project/lib/setup/maya/maya_scripts_rfm4

    Если Windows, то так:
    MAYA_SCRIPT_PATH = %MAYA_SCRIPT_PATH%;\\server-3d\Project\lib\setup\maya\maya_scripts_rfm4
     
  10. Михаил Фоменко

    Михаил Фоменко Знаток

    С нами с:
    25.04.2008
    Сообщения:
    449
    Симпатии:
    10
    Баллы:
    23
    Спасибо, но проблема решилась тем, что нужно было в maya.env в переменной MAYA_SCRIPT_PATH сначала прописать путь к локальным скриптам, которые лежат в папке 2013(2014) майи, а потом уже указывать путь к серваку. Таким образом, майя после инициализации общего файла userSetup.mel сначала ищет файл userSetup.mel, который лежит в локальной папке 2013(2014) майи (а значит и выполняет скрипты, которые там прописаны). В противном случае она сразу шла на сервак и выполняла сервачный userSetup.mel, в котором моих скриптов, конечно же, не было.
     
  11. Puppet

    Puppet Активный участник

    С нами с:
    20.05.2004
    Сообщения:
    546
    Симпатии:
    17
    Баллы:
    19
    Ну в моем варианте как раз так и есть. Берется стандартная переменная (все что по дефолту в мае прописано) и к ней добавляется ваш путь.
    Не тестил, но должно работать. Сам я тоже батниками пользуюсь
     
  12. Leontij

    Leontij Пользователь сайта

    С нами с:
    04.12.2005
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    2
    Уважаемый Puppet

    Вы правы: я действительно перепутал синтаксис: батник написан под Windows, а путь, откуда я copy-paste-ом взял path, был из maya.env... В моем батнике все правильно.
     
  13. Puppet

    Puppet Активный участник

    С нами с:
    20.05.2004
    Сообщения:
    546
    Симпатии:
    17
    Баллы:
    19
    У вас на первый взгляд все правильно. Я же адресовал свое сообщение про синтаксис топик стартеру.
     
  14. Leontij

    Leontij Пользователь сайта

    С нами с:
    04.12.2005
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    2
    Уважаемый Puppet

    bat-файл все-таки требует backslashes: так что и я ошибся...
     
  15. Листик

    Листик Активный участник

    С нами с:
    02.03.2012
    Сообщения:
    285
    Симпатии:
    0
    Баллы:
    12
    Самой мае, кстати, разницы нет какие слэши...
     
  16. Александр Чернега

    Александр Чернега Знаток

    С нами с:
    24.12.2009
    Сообщения:
    1.058
    Симпатии:
    56
    Баллы:
    53
    Господа, а можно ли как-то в Bat или maya.env файле, переменным задавать папку так, что бы учитывались все вложенные в нее папки?
    То есть, пишем в Бат файле:
    set MAYA_SCRIPT_PATH=*\*\*\*\2013-x64\scripts\и тут пару технических символов
    И в папке scripts, создаем еще несколько myScripts, otherScripts, oldScripts. Что бы не приходилось в Батнике вписывать все эти пути в строчку, через точку с запятой, присваивая их MAYA_SCRIPT_PATH.
    Есть ли такая возможность?
     
  17. Лексей

    Лексей Активный участник

    С нами с:
    05.09.2009
    Сообщения:
    57
    Симпатии:
    2
    Баллы:
    7
    Я так и не нашел такой возможности. Приходится через точку с запятой.

    Если окажется, что можно, дайте знать, самому интересно.
     
Модераторы: Dark™, Skif

Поделиться этой страницей