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

Visible in Reflections

Тема в разделе "Maya", создана пользователем Misst, 8 ноя 2006.

Модераторы: Dark™, Skif
  1. Misst

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

    С нами с:
    19.02.2006
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    2
    Друзья, очень простой вопрос. Как известно, при экспорте модели из макса и obj в Майу теряются галочки Visible in Refractions, Visible in Reflections. Как мне выставить их на всех объектах, елси их слишком много? Я пытался написать какойнибудь скрпитец в стиле:

    global proc Visible()
    {
    string $selected[] = 'ls -sl';

    setAttr "objectShape.visibleInReflections" 1;
    setAttr "objectShape.visibleInRefractions" 1;
    }

    но вот не знаю как мне после того как я получаю в строку селектед все объекты, как мне их пересчитать и потом вероятно сделать цикл по ним для выделения у каждого нужных галочек. (ну там конечно не objectShape, а вот какойто вызов наших выделенных объектов). Вобщем проблема скорее всего элементарная, и возможно решается и вовсе без всяких скриптов.
     
  2. Миша Ершов

    Миша Ершов Мастер

    С нами с:
    02.11.2003
    Сообщения:
    1.415
    Симпатии:
    2
    Баллы:
    325
    Вот:

    {
    string $selected[] = `ls -sl`;
    for ($nodes in $selected)
    {
    setAttr ($nodes + ".visibleInReflections") 1;
    }
    }
     
  3. Ghostfly

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

    С нами с:
    31.10.2005
    Сообщения:
    461
    Симпатии:
    0
    Баллы:
    16
    я встречал два скрипта - один на хайэнде, второй мой. Мой такой, страшненький корявенький, но на деле работать с ним быстрее чем с хайэндовским. Хотя кому как - выбирай сам куда идти тебе...


    //Ghostfly. If you have somethong to say : ghostfly3d@yahoo.com
    //edit render stats for multiple selection of objects
    //Version 0.3


    // Procedure creation

    global proc CSoff() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".castsShadows";
    setAttr $a 0;
    }
    }
    //
    global proc CSon() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".castsShadows";
    setAttr $a 1;
    }
    }
    //-------------------------------
    global proc RSoff() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".receiveShadows";
    setAttr $a 0;
    }
    }
    //
    global proc RSon() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".receiveShadows";
    setAttr $a 1;
    }
    }
    //--------------------------------
    global proc MBoff() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".motionBlur";
    setAttr $a 0;
    }
    }
    //
    global proc MBon() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".motionBlur";
    setAttr $a 1;
    }
    }
    //---------------------------
    global proc PVoff() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".primaryVisibility";
    setAttr $a 0;
    }
    }
    //
    global proc PVon() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".primaryVisibility";
    setAttr $a 1;
    }
    }
    //----------------------------
    global proc SSoff() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".smoothShading";
    setAttr $a 0;
    }
    }
    //
    global proc SSon() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".smoothShading";
    setAttr $a 1;
    }
    }
    //-----------------------------
    global proc VRFLoff() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".visibleInReflections";
    setAttr $a 0;
    }
    }
    //
    global proc VRFLon() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".visibleInReflections";
    setAttr $a 1;
    }
    }
    //-------------------------------
    global proc VRFRoff() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".visibleInRefractions";
    setAttr $a 0;
    }
    }
    //
    global proc VRFRon() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".visibleInRefractions";
    setAttr $a 1;
    }
    }
    //--------------------------------
    global proc DSoff() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".doubleSided";
    setAttr $a 0;
    }
    }
    //
    global proc DSon() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".doubleSided";
    setAttr $a 1;
    }
    }
    //-------------------------------
    global proc OPPoff() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".opposite";
    setAttr $a 0;
    }
    }
    //
    global proc OPPon() {
    string $it;
    string $list[] = `ls -sl -dag -type surfaceShape`;
    for($it in $list) {
    string $a =$it +".opposite";
    setAttr $a 1;
    }
    }
    //---------------------------

    // window creation

    string $window = `window -title "Render Stats editor"
    -iconName "RS"
    -widthHeight 200 55`;
    columnLayout main;
    frameLayout -l "Cast Shadows";
    rowLayout -numberOfColumns 2 CS;
    button -label "On" -c "CSon";
    button -label "Off" -c "CSoff";
    setParent ..;
    setParent ..;
    //--------------
    frameLayout -l "Receive Shadows";
    rowLayout -numberOfColumns 2 RS;
    button -label "On" -c "RSon";
    button -label "Off" -c "RSoff";
    setParent ..;
    setParent ..;
    //--------------
    frameLayout -l "Motion Blur";
    rowLayout -numberOfColumns 2 MB;
    button -label "On" -c "MBon";
    button -label "Off" -c "MBoff";
    setParent ..;
    setParent ..;
    //--------------
    frameLayout -l "Primary Visibility";
    rowLayout -numberOfColumns 2 PV;
    button -label "On" -c PVon;
    button -label "Off" -c PVoff;
    setParent ..;
    setParent ..;
    //--------------
    frameLayout -l "Smooth Shading";
    rowLayout -numberOfColumns 2 SS;
    button -label "On" -c SSon;
    button -label "Off" -c SSoff;
    setParent ..;
    setParent ..;
    //--------------
    frameLayout -l "Visible In Reflections";
    rowLayout -numberOfColumns 2 VRFL;
    button -label "On" -c "VRFLon";
    button -label "Off" -c "VRFLoff";
    setParent ..;
    setParent ..;
    //--------------
    frameLayout -l "Visible In Refractions";
    rowLayout -numberOfColumns 2 VRFR;
    button -label "On" -c "VRFRon";
    button -label "Off" -c "VRFRoff";
    setParent ..;
    setParent ..;
    //--------------
    frameLayout -l "Double Sided";
    rowLayout -numberOfColumns 2 DS;
    button -label "On" -c "DSon";
    button -label "Off" -c "DSoff";
    setParent ..;
    setParent ..;
    //--------------
    frameLayout -l "Opposite";
    rowLayout -numberOfColumns 2 OPP;
    button -label "On" -c "OPPon" ;
    button -label "Off" -c "OPPoff";
    setParent ..;
    setParent ..;

    showWindow $window;
     
  4. Misst

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

    С нами с:
    19.02.2006
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    2
    спасибо большое, а можете посоветовать каую-нибудь книжку, где можно нормально разобраться в Меле, если нет опыта программирования где бы то нибыло. Пытаюсь с хелпом работать, но вот не слишком выходит..
     
  5. Миша Ершов

    Миша Ершов Мастер

    С нами с:
    02.11.2003
    Сообщения:
    1.415
    Симпатии:
    2
    Баллы:
    325
    Книги Гоулда, Казмиера и Уилкинса.
    Очень многому можно научиться копаясь в исходниках майи, не забывая по хелп.
     
  6. Misst

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

    С нами с:
    19.02.2006
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    2
    спасибо, куплю, если продаются - так я кажется только Гоулда видел.
     
  7. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Э-э-э...а spreadsheet editor уже отменили? ;)
     
  8. Misst

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

    С нами с:
    19.02.2006
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    2
    ага, только сейчас вернули на место)) спасибо, я и не знал просто)
     
  9. helg

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

    С нами с:
    26.07.2005
    Сообщения:
    263
    Симпатии:
    0
    Баллы:
    12
    лол... оч смешно... знание мел конечно сила :) такие скрипты нужны конечно, когда надо выставить значение тех параметров, что в спредШите не найти
     
  10. Миша Ершов

    Миша Ершов Мастер

    С нами с:
    02.11.2003
    Сообщения:
    1.415
    Симпатии:
    2
    Баллы:
    325
    helg, если постоянно заниматься импортом, то простейший скрипт всё равно облегчает работу. Все операции можно свести к одному нажатию на полке.
     
  11. Ghostfly

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

    С нами с:
    31.10.2005
    Сообщения:
    461
    Симпатии:
    0
    Баллы:
    16
    Решатель helg - spreadsheet никто не отменял, но так реально быстрее.
     
  12. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
  13. Thrasher

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

    С нами с:
    03.12.2005
    Сообщения:
    77
    Симпатии:
    0
    Баллы:
    5
    Мда...действительно, гораздо ж проще выделить всю геометрию и в спредщите жмакнуть пару клавиш:)
     
Модераторы: Dark™, Skif

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