Render.ru

вопросы по MEL

Lemieux

Знаток
Рейтинг
58
Честно говоря разбираться во всем коде нет ни сил ни желания, но судя по всему есть 2 объекта с одинаковыми именами. не исключено, что это лайауты в разных окнах. в таком случае обращаться к объекту нужно по полному имени. включая всю иерархию.
Совет. Чтобы гарантировать единственность имен интерфейсных элементов можно задавать их имена в виде <Имя главного окна>_<имя интерфейсного элемента>.
Владимир, я Вас понимаю с разбором :) но я выложил самую малую часть кода, и которая не совсем работает. Каждый formLayout удаляется перед тем как создаётся новый и, как я описал выше, если не нажимать кнопку Create, то всё работает нормально. А кнопка Create вызывает вот эту процедуру
Код:
//procedure creating a sphere
proc lxCreateSphere(int $cond){
    int $rad = `intSliderGrp -query -value SLD_SPHERE_1`;
    int $subDivAx = `intSliderGrp -query -value SLD_SPHERE_2`;
    int $subDivHei = `intSliderGrp -query -value SLD_SPHERE_3`;

    switch ($cond){
        case 1:
        polySphere -radius $rad -subdivisionsAxis $subDivAx -subdivisionsHeight $subDivHei;
        break;

        case 2:
        polySphere -radius $rad -subdivisionsAxis $subDivAx -subdivisionsHeight $subDivHei;
        deleteUI -window CREATE_PRIMITIVES_WINDOW;
    }
}
//
И в ней ничего не упоминается про
Код:
FORM_LAYOUT_MAIN
Самое интересное, что не помогает даже проверка на присутствие, вида
Код:
if (`... exists ...`) deleteUI ...
или я просто не понимаю где её вставить (а пробовать на абум не хочется). И ещё, у меня по сути одно окно, а вот layout много,создаются и удаляются в зависимости от действий.
 
Рейтинг
22
Вот мой индуский код. Работает 1 кнопка (Sphere), чтобы слишком много кода не было лишнее вырезал. Проблема такая - запускается, работает, если щёлкать "Sphere" - "Back to MM", то всё норм работает, если нажать "Create", создаётся сфера, но если после этого нажать "Back to MM" основное меню не появится, а будет пустое окно, иногда в скрипт эдиторе пишет "// Error: line 214: Object's name 'FORM_LAYOUT_MAIN' is not unique. // " (это почти в самом конце кода), иногда не пишет. Если, например делать, через вызов основной процедуры "lxCreatePrimitivesWindow", то всё работает, но мне не нравится, что окно перестраивается.
Первый - это твой вариант, немного измененный. Способ с созданием и удалением лайаутов работает как то непредсказуемо. После создания сферы почему то появляется FORM_LAYOUT_MAIN, о чем и говорит сообщение об ошибке, хотя он предварительно удаляется. Объяснения этому я не нашел но обойти получилось. Посмотри, если что не понятно спрашивай.

Второй - то же твой код, основан на окнах. Ведет себя предсказуемо и по мне более удобное решение.

Код:
//initial window with button

global proc lxCreatePrimitivesWindow(){   
    if (`window -exists CREATE_PRIMITIVES_WINDOW`) deleteUI -window CREATE_PRIMITIVES_WINDOW;

    window -title "Create Primitives"
            -width 225
            -height 335
            -sizeable 0
            CREATE_PRIMITIVES_WINDOW;

    buildMainLayout;
    showWindow CREATE_PRIMITIVES_WINDOW;
}

//procedure for create menu sphere
proc lxLayoutPolySphere(){

    deleteUI -layout FORM_LAYOUT_MAIN;
    formLayout -numberOfDivisions 100 FORM_LAYOUT_SPHERE;

    intSliderGrp -label "Radius" -annotation "Radius Sphere" -field 1 -minValue 1 -maxValue 50 -value 1 -columnWidth 1 50 -columnWidth 2 20 SLD_SPHERE_1;
    intSliderGrp -label "Sub. Ax." -annotation "Subdivisions Axis" -field 1 -minValue 3 -maxValue 50 -value 10 -columnWidth 1 50 -columnWidth 2 20 SLD_SPHERE_2;
    intSliderGrp -label "Sub. Hgt." -annotation "Subdivisions Height" -field 1 -minValue 3 -maxValue 50 -value 10 -columnWidth 1 50 -columnWidth 2 20 SLD_SPHERE_3;

    string $bt1 = `button -label "Create\nand\nClose" -width 50 -height 50 -command "lxCreateSphere 2"`;
    string $bt2 = `button -label "Create" -width 50 -height 50 -command " lxCreateSphere 1"`;
    string $bt3 = `button -label "Back\nto\nMenu" -width 50 -height 50 -command "deleteUI -layout FORM_LAYOUT_SPHERE; buildMainLayout; buildMainLayout"`;
    string $bt4 = `button -label "Cancel" -width 50 -height 50 -command "deleteUI -window CREATE_PRIMITIVES_WINDOW"`;           

    formLayout -edit
                -attachForm SLD_SPHERE_1 "left" 5
                -attachForm SLD_SPHERE_1 "top" 5

                -attachForm SLD_SPHERE_2 "left" 5
                -attachControl SLD_SPHERE_2 "top" 5 SLD_SPHERE_1

                -attachForm SLD_SPHERE_3 "left" 5
                -attachControl SLD_SPHERE_3 "top" 5 SLD_SPHERE_2

                -attachForm $bt1 "left" 5
                -attachForm $bt1 "bottom" 5

                -attachForm $bt2 "bottom" 5
                -attachControl $bt2 "left" 5 $bt1

                -attachForm $bt3 "bottom" 5
                -attachControl $bt3 "left" 5 $bt2

                -attachForm $bt4 "bottom" 5
                -attachForm $bt4 "right" 5
                -attachControl $bt4 "left" 5 $bt3
           
                FORM_LAYOUT_SPHERE;
}

//procedure creating a sphere
proc lxCreateSphere(int $cond){
    int $rad = `intSliderGrp -query -value SLD_SPHERE_1`;
    int $subDivAx = `intSliderGrp -query -value SLD_SPHERE_2`;
    int $subDivHei = `intSliderGrp -query -value SLD_SPHERE_3`;

    switch ($cond){
        case 1:
        polySphere -radius $rad -subdivisionsAxis $subDivAx -subdivisionsHeight $subDivHei;
        break;

        case 2:
        polySphere -radius $rad -subdivisionsAxis $subDivAx -subdivisionsHeight $subDivHei;
        deleteUI -window CREATE_PRIMITIVES_WINDOW;
    }
}

//procedure creating a main layout
proc buildMainLayout(){
if (`formLayout -exists FORM_LAYOUT_MAIN`) deleteUI -lay FORM_LAYOUT_MAIN;
formLayout -numberOfDivisions 100 FORM_LAYOUT_MAIN;
    string $bt1 = `button -label "Sphere" -width 105 -height 105 -command "lxLayoutPolySphere"`;
    string $bt2 = `button -label "Cube" -width 105 -height 105 -command "lxLayoutPolyCube"`;
    string $bt3 = `button -label "Cylinder" -width 105 -height 105 -command "lxLayoutPolyCylinder"`;
    string $bt4 = `button -label "Cone" -width 105 -height 105 -command "lxLayoutPolyCone"`;
    string $bt5 = `button -label "Plane" -width 105 -height 105 -command "lxLayoutPolyPlane"`;
    string $bt6 = `button -label "Torus" -width 105 -height 105 -command "lxLayoutPolyTorus"`;

    formLayout -edit
                -attachForm $bt1 "left" 5
                -attachForm $bt1 "top" 5

                -attachForm $bt2 "top" 5
                -attachForm $bt2 "right" 5
                -attachControl $bt2 "left" 5 $bt1

                -attachForm $bt3 "left" 5
                -attachControl $bt3 "top" 5 $bt1

                -attachControl $bt4 "left" 5 $bt3
                -attachForm $bt4 "right" 5
                -attachControl $bt4 "top" 5 $bt2

                -attachForm $bt5 "left" 5
                -attachControl $bt5 "top" 5 $bt3
                -attachControl $bt6 "left" 5 $bt5
                -attachForm $bt6 "right" 5
                -attachControl $bt6 "top" 5 $bt4

                FORM_LAYOUT_MAIN;
}

lxCreatePrimitivesWindow;
 
Последнее редактирование:
Рейтинг
22
Второй код в предварительном сообщении неправильно вставился и отредактировать не получилось.

Код:
//initial window with button

global proc lxCreatePrimitivesWindow(){       
    if (`window -exists CREATE_PRIMITIVES_WINDOW`) deleteUI -window CREATE_PRIMITIVES_WINDOW;

    window -title "Create Primitives"
            -width 225
            -height 335
            -sizeable 0
            CREATE_PRIMITIVES_WINDOW;
   
    formLayout -numberOfDivisions 100 FORM_LAYOUT_MAIN;
    string $bt1 = `button -label "Sphere" -width 105 -height 105 -command "lxLayoutPolySphere"`;
    string $bt2 = `button -label "Cube" -width 105 -height 105 -command "lxLayoutPolyCube"`;
    string $bt3 = `button -label "Cylinder" -width 105 -height 105 -command "lxLayoutPolyCylinder"`;
    string $bt4 = `button -label "Cone" -width 105 -height 105 -command "lxLayoutPolyCone"`;
    string $bt5 = `button -label "Plane" -width 105 -height 105 -command "lxLayoutPolyPlane"`;
    string $bt6 = `button -label "Torus" -width 105 -height 105 -command "lxLayoutPolyTorus"`;

    formLayout -edit
                -attachForm $bt1 "left" 5
                -attachForm $bt1 "top" 5

                -attachForm $bt2 "top" 5
                -attachForm $bt2 "right" 5
                -attachControl $bt2 "left" 5 $bt1

                -attachForm $bt3 "left" 5
                -attachControl $bt3 "top" 5 $bt1

                -attachControl $bt4 "left" 5 $bt3
                -attachForm $bt4 "right" 5
                -attachControl $bt4 "top" 5 $bt2

                -attachForm $bt5 "left" 5   
                -attachControl $bt5 "top" 5 $bt3
                -attachControl $bt6 "left" 5 $bt5
                -attachForm $bt6 "right" 5
                -attachControl $bt6 "top" 5 $bt4

                FORM_LAYOUT_MAIN;

    showWindow CREATE_PRIMITIVES_WINDOW;
}

//procedure for create menu sphere
proc lxLayoutPolySphere(){
    
    if (`window -exists CREATE_SPHERE_WINDOW`) deleteUI -window CREATE_SPHERE_WINDOW;

    window -title "Create Sphere"
            -width 225
            -height 335
            -sizeable 0
            CREATE_SPHERE_WINDOW;

    formLayout -numberOfDivisions 100 FORM_LAYOUT_SPHERE;

    intSliderGrp -label "Radius" -annotation "Radius Sphere" -field 1 -minValue 1 -maxValue 50 -value 1 -columnWidth 1 50 -columnWidth 2 20 SLD_SPHERE_1;
    intSliderGrp -label "Sub. Ax." -annotation "Subdivisions Axis" -field 1 -minValue 3 -maxValue 50 -value 10 -columnWidth 1 50 -columnWidth 2 20 SLD_SPHERE_2;
    intSliderGrp -label "Sub. Hgt." -annotation "Subdivisions Height" -field 1 -minValue 3 -maxValue 50 -value 10 -columnWidth 1 50 -columnWidth 2 20 SLD_SPHERE_3;

    string $bt1 = `button -label "Create\nand\nClose" -width 50 -height 50 -command "lxCreateSphere 2"`;
    string $bt2 = `button -label "Create" -width 50 -height 50 -command "lxCreateSphere 1"`;
    string $bt3 = `button -label "Back\nto\nMenu" -width 50 -height 50 -command "window -edit -visible false CREATE_SPHERE_WINDOW"`;
    string $bt4 = `button -label "Cancel" -width 50 -height 50 -command "deleteUI -window CREATE_PRIMITIVES_WINDOW; deleteUI-window CREATE_SPHERE_WINDOW"`;               

    formLayout -edit
                -attachForm SLD_SPHERE_1 "left" 5
                -attachForm SLD_SPHERE_1 "top" 5

                -attachForm SLD_SPHERE_2 "left" 5
                -attachControl SLD_SPHERE_2 "top" 5 SLD_SPHERE_1

                -attachForm SLD_SPHERE_3 "left" 5
                -attachControl SLD_SPHERE_3 "top" 5 SLD_SPHERE_2

                -attachForm $bt1 "left" 5
                -attachForm $bt1 "bottom" 5

                -attachForm $bt2 "bottom" 5
                -attachControl $bt2 "left" 5 $bt1

                -attachForm $bt3 "bottom" 5
                -attachControl $bt3 "left" 5 $bt2

                -attachForm $bt4 "bottom" 5
                -attachForm $bt4 "right" 5
                -attachControl $bt4 "left" 5 $bt3
               
                FORM_LAYOUT_SPHERE;
     showWindow CREATE_SPHERE_WINDOW;
}

//procedure creating a sphere
proc lxCreateSphere(int $cond){
    int $rad = `intSliderGrp -query -value SLD_SPHERE_1`;
    int $subDivAx = `intSliderGrp -query -value SLD_SPHERE_2`;
    int $subDivHei = `intSliderGrp -query -value SLD_SPHERE_3`;

    switch ($cond){
        case 1:
        polySphere -radius $rad -subdivisionsAxis $subDivAx -subdivisionsHeight $subDivHei;
        break;

        case 2:
        polySphere -radius $rad -subdivisionsAxis $subDivAx -subdivisionsHeight $subDivHei;
        deleteUI -window CREATE_PRIMITIVES_WINDOW; deleteUI-window CREATE_SPHERE_WINDOW;      
    }
}

lxCreatePrimitivesWindow;
 

Lemieux

Знаток
Рейтинг
58
Второй код в предварительном сообщении неправильно вставился и отредактировать не получилось.

Код:
//initial window with button

global proc lxCreatePrimitivesWindow(){      
    if (`window -exists CREATE_PRIMITIVES_WINDOW`) deleteUI -window CREATE_PRIMITIVES_WINDOW;

    window -title "Create Primitives"
            -width 225
            -height 335
            -sizeable 0
            CREATE_PRIMITIVES_WINDOW;
  
    formLayout -numberOfDivisions 100 FORM_LAYOUT_MAIN;
    string $bt1 = `button -label "Sphere" -width 105 -height 105 -command "lxLayoutPolySphere"`;
    string $bt2 = `button -label "Cube" -width 105 -height 105 -command "lxLayoutPolyCube"`;
    string $bt3 = `button -label "Cylinder" -width 105 -height 105 -command "lxLayoutPolyCylinder"`;
    string $bt4 = `button -label "Cone" -width 105 -height 105 -command "lxLayoutPolyCone"`;
    string $bt5 = `button -label "Plane" -width 105 -height 105 -command "lxLayoutPolyPlane"`;
    string $bt6 = `button -label "Torus" -width 105 -height 105 -command "lxLayoutPolyTorus"`;

    formLayout -edit
                -attachForm $bt1 "left" 5
                -attachForm $bt1 "top" 5

                -attachForm $bt2 "top" 5
                -attachForm $bt2 "right" 5
                -attachControl $bt2 "left" 5 $bt1

                -attachForm $bt3 "left" 5
                -attachControl $bt3 "top" 5 $bt1

                -attachControl $bt4 "left" 5 $bt3
                -attachForm $bt4 "right" 5
                -attachControl $bt4 "top" 5 $bt2

                -attachForm $bt5 "left" 5  
                -attachControl $bt5 "top" 5 $bt3
                -attachControl $bt6 "left" 5 $bt5
                -attachForm $bt6 "right" 5
                -attachControl $bt6 "top" 5 $bt4

                FORM_LAYOUT_MAIN;

    showWindow CREATE_PRIMITIVES_WINDOW;
}

//procedure for create menu sphere
proc lxLayoutPolySphere(){
   
    if (`window -exists CREATE_SPHERE_WINDOW`) deleteUI -window CREATE_SPHERE_WINDOW;

    window -title "Create Sphere"
            -width 225
            -height 335
            -sizeable 0
            CREATE_SPHERE_WINDOW;

    formLayout -numberOfDivisions 100 FORM_LAYOUT_SPHERE;

    intSliderGrp -label "Radius" -annotation "Radius Sphere" -field 1 -minValue 1 -maxValue 50 -value 1 -columnWidth 1 50 -columnWidth 2 20 SLD_SPHERE_1;
    intSliderGrp -label "Sub. Ax." -annotation "Subdivisions Axis" -field 1 -minValue 3 -maxValue 50 -value 10 -columnWidth 1 50 -columnWidth 2 20 SLD_SPHERE_2;
    intSliderGrp -label "Sub. Hgt." -annotation "Subdivisions Height" -field 1 -minValue 3 -maxValue 50 -value 10 -columnWidth 1 50 -columnWidth 2 20 SLD_SPHERE_3;

    string $bt1 = `button -label "Create\nand\nClose" -width 50 -height 50 -command "lxCreateSphere 2"`;
    string $bt2 = `button -label "Create" -width 50 -height 50 -command "lxCreateSphere 1"`;
    string $bt3 = `button -label "Back\nto\nMenu" -width 50 -height 50 -command "window -edit -visible false CREATE_SPHERE_WINDOW"`;
    string $bt4 = `button -label "Cancel" -width 50 -height 50 -command "deleteUI -window CREATE_PRIMITIVES_WINDOW; deleteUI-window CREATE_SPHERE_WINDOW"`;              

    formLayout -edit
                -attachForm SLD_SPHERE_1 "left" 5
                -attachForm SLD_SPHERE_1 "top" 5

                -attachForm SLD_SPHERE_2 "left" 5
                -attachControl SLD_SPHERE_2 "top" 5 SLD_SPHERE_1

                -attachForm SLD_SPHERE_3 "left" 5
                -attachControl SLD_SPHERE_3 "top" 5 SLD_SPHERE_2

                -attachForm $bt1 "left" 5
                -attachForm $bt1 "bottom" 5

                -attachForm $bt2 "bottom" 5
                -attachControl $bt2 "left" 5 $bt1

                -attachForm $bt3 "bottom" 5
                -attachControl $bt3 "left" 5 $bt2

                -attachForm $bt4 "bottom" 5
                -attachForm $bt4 "right" 5
                -attachControl $bt4 "left" 5 $bt3
              
                FORM_LAYOUT_SPHERE;
     showWindow CREATE_SPHERE_WINDOW;
}

//procedure creating a sphere
proc lxCreateSphere(int $cond){
    int $rad = `intSliderGrp -query -value SLD_SPHERE_1`;
    int $subDivAx = `intSliderGrp -query -value SLD_SPHERE_2`;
    int $subDivHei = `intSliderGrp -query -value SLD_SPHERE_3`;

    switch ($cond){
        case 1:
        polySphere -radius $rad -subdivisionsAxis $subDivAx -subdivisionsHeight $subDivHei;
        break;

        case 2:
        polySphere -radius $rad -subdivisionsAxis $subDivAx -subdivisionsHeight $subDivHei;
        deleteUI -window CREATE_PRIMITIVES_WINDOW; deleteUI-window CREATE_SPHERE_WINDOW;     
    }
}

lxCreatePrimitivesWindow;
Спасибо за ответ, но, как я писал выше, решения с созданием нового окна меня не совсем устраивают. Если быть точнее, они-то устраивают, просто хотелось бы выяснить откуда вылезает этот баг.
 

Владимир Забелин

Активный участник
Рейтинг
17
вариант с exists скорее всего и не пройдет. Думаю, что у вас создается 2 объекта с одним именем FORM_LAYOUT_MAIN но в разной иерархии. попробуйте сделать листинг элементов с именем FORM_LAYOUT_MAIN.
 

Dimonn

Активный участник
Рейтинг
15
Подскажите пожалуйста, как сделать чтобы направление осей виртексов совпадало с направлением тангентов(нормали по X и Y) этих же виртексов. Не могу найти, как взять информацию о направлении тангентов.
 

Вложения

  • 73,1 КБ Просмотров: 493

Dark™

Модератор форума
Команда форума
Рейтинг
431
Подскажите пожалуйста, как сделать чтобы направление осей виртексов совпадало с направлением тангентов(нормали по X и Y) этих же виртексов. Не могу найти, как взять информацию о направлении тангентов.
В настройках Moov Tool есть опция Normal.
 

Dimonn

Активный участник
Рейтинг
15
Вы имеете в виду Custom axis orienation? Да там можно задать направление осей. Но как узнать euka на которые нужно повернуть оси чтобы они совпадали с тангентами?
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
А Set to Edge не походит? Он как раз поворачивает оси по направлению выбранного ребра.
 

Dimonn

Активный участник
Рейтинг
15
и Set to Point можно так же но не совсем точно получается относительно виртекса.
 

Иван140

Пользователь сайта
Рейтинг
2
Здравствуйте! У меня срочное дело!

Я использую команду polyInfo, чтобы узнать, какие ребра относятся к текущей вершине, но эта команда возвращает СТРОКУ (!) с номерами ребер, а мне бы хотелось, чтобы эти номера составляли массив целых чисел, так с ними возможно будет работать в дальнейшем, сравнивать, например. Есть ли пути решения? Может можно из текстовой информации "вычленить" числа, или нужно использовать отличную от polyInfo команду, которая возвращала бы индексы ребер как числа?

Подскажите пожалуйста! Заранее очень благодарен.
 

Dimonn

Активный участник
Рейтинг
15
это делается командой match
int $number = `match "[0-9]+" "blah123"`; // Result: 123 отделяет номер от имени объекта
 
Господа, очередной базовый вопрос от меня :)

Как перевести режим выделения во вьюпорте, в ObjectMоde?

Хочу сделать несколько собственных примитивов. Все очень просто (главное разрулить с именами). Последовательность действий по выделению полигонов, ребер, их нарезания, экструзии и т.д. Но возникают проблемы с "выходом" в режим объекта. Команды, которые висят у меня для этого на хоткее, не подходят:
selectMode -co;
selectMode -object;

То есть (часть кода):
//выделяю нужное ребро
select -r pCylinder1.e[21] ;
//делаю два реза с определенными параметрами
dR_connectTool;
nexCtx -e -mv connect segments 2;
nexOpt -e connectCurLmbMap pinch; refresh -f;
nexCtx -e -mv connect pinch 1.9;
dR_mtkToolTGL;
//и вот эти две команды, вроде как должны выводить выделение в режим объекта
selectMode -co;
selectMode -object;

Если выполнять последние две строчки отдельно, то все срабатывает. Но когда весь код идет одним потоком, они вроде как игнорируются.
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
Господа, очередной базовый вопрос от меня :)

Как перевести режим выделения во вьюпорте, в ObjectMоde?

Хочу сделать несколько собственных примитивов. Все очень просто (главное разрулить с именами). Последовательность действий по выделению полигонов, ребер, их нарезания, экструзии и т.д. Но возникают проблемы с "выходом" в режим объекта. Команды, которые висят у меня для этого на хоткее, не подходят:
selectMode -co;
selectMode -object;

То есть (часть кода):
//выделяю нужное ребро
select -r pCylinder1.e[21] ;
//делаю два реза с определенными параметрами
dR_connectTool;
nexCtx -e -mv connect segments 2;
nexOpt -e connectCurLmbMap pinch; refresh -f;
nexCtx -e -mv connect pinch 1.9;
dR_mtkToolTGL;
//и вот эти две команды, вроде как должны выводить выделение в режим объекта
selectMode -co;
selectMode -object;

Если выполнять последние две строчки отдельно, то все срабатывает. Но когда весь код идет одним потоком, они вроде как игнорируются.
Код:
changeSelectMode -object;
 
Эх, к сожалению, не фуричит.

Вот используемый код:
Код:
polyCylinder -r 3 -h 6 -sx 8 -sy 1 -sz 1 -ax 0 1 0 -rcp 0 -cuv 3 -ch 1;
string $myCylinder [] = `ls -sl`;

//changeSelectMode -component;

select -r pCylinder1.e[24] pCylinder1.e[26] pCylinder1.e[28] pCylinder1.e[30] pCylinder1.e[32] pCylinder1.e[34] pCylinder1.e[36] pCylinder1.e[38] ;
doDelete;

select -r pCylinder1.f[12:15] ;
select -r pCylinder1.f[8:15] ;
polyExtrudeFacet -kft true -ch true  pCylinder1.f[8:15];
setAttr polyExtrudeFace1.offset 0.089051;

select -r pCylinder1.e[21] ;
dR_connectTool;
nexCtx -e -mv connect segments 2;
nexOpt -e connectCurLmbMap pinch; refresh -f;
nexCtx -e -mv connect pinch 1.9;
dR_mtkToolTGL;

select $myCylinder [0];

changeSelectMode -object;
delete -ch;
То есть, создается цилиндр, пару ребер удаляется, пару лупов добавляется. И в конце кода, объект должен выделится, вывестись в решим объекта, очистить историю.
Когда же код выполняется "за один подход". В конце я получаю цилиндр нужной топологии, без истории (что странно, потому что оно очищается последней), но в режиме выделения подобъектов
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
Фиг знает, хоть у меня и нету всех скриптов, все, вроде, переключается.
Можешь воспроизвести самой простой скрипт с этой проблемой, чтобы все могли попробовать?
 
Можешь воспроизвести самой простой скрипт с этой проблемой, чтобы все могли попробовать?
Так тот скромный код, который я дал в прошлом своем сообщении, это и есть весь код.

В нем создается Cylinder под сглаживание. Но при последующем его выделении, он почему то находится в режиме подобъектов.
custom Cylinder.jpg

Я просил одного человека проверить этот код у себя. У него тоже в "объект" не выходит.

Когда команда "changeSelectMode -object;" запускается отдельно, она отрабатывается. А когда идет в конце кода, как-то игнорируется.
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
В 2014 Майке нету некоторых команд. Есть возможность воспроизвести баг без команд nexCtx,
dR_connectTool и похожих? Возможно, дело в них.
Видимо, мне без 2015 майки не воспроизвести это.
 
Последнее редактирование:

VIG 142133

Пользователь сайта
Рейтинг
2
Скачал с creativecrash скрипт http://www.creativecrash.com/maya/script/msetproject/description#tabs
для его автоматического запуска при загрузке maya прописываю(вернее он сам прописывается, но не в этом вопрос) в usersetup.py

import maya.cmds as m
import mSetProject
reload (mSetProject)
m.scriptJob( event=("SceneOpened", "mSetProject.mSetProject()") )

Так вот, при загрузке Maya он не срабатывает. Если после загрузки Maya его запустить из скриптедитора, все работает. Но хочется, чтобы он грузился автоматом.
 
Сверху