Друзья, очень простой вопрос. Как известно, при экспорте модели из макса и obj в Майу теряются галочки Visible in Refractions, Visible in Reflections. Как мне выставить их на всех объектах, елси их слишком много? Я пытался написать какойнибудь скрпитец в стиле: global proc Visible() { string $selected[] = 'ls -sl'; setAttr "objectShape.visibleInReflections" 1; setAttr "objectShape.visibleInRefractions" 1; } но вот не знаю как мне после того как я получаю в строку селектед все объекты, как мне их пересчитать и потом вероятно сделать цикл по ним для выделения у каждого нужных галочек. (ну там конечно не objectShape, а вот какойто вызов наших выделенных объектов). Вобщем проблема скорее всего элементарная, и возможно решается и вовсе без всяких скриптов.
Вот: { string $selected[] = `ls -sl`; for ($nodes in $selected) { setAttr ($nodes + ".visibleInReflections") 1; } }
я встречал два скрипта - один на хайэнде, второй мой. Мой такой, страшненький корявенький, но на деле работать с ним быстрее чем с хайэндовским. Хотя кому как - выбирай сам куда идти тебе... //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;
спасибо большое, а можете посоветовать каую-нибудь книжку, где можно нормально разобраться в Меле, если нет опыта программирования где бы то нибыло. Пытаюсь с хелпом работать, но вот не слишком выходит..
Книги Гоулда, Казмиера и Уилкинса. Очень многому можно научиться копаясь в исходниках майи, не забывая по хелп.
лол... оч смешно... знание мел конечно сила такие скрипты нужны конечно, когда надо выставить значение тех параметров, что в спредШите не найти
helg, если постоянно заниматься импортом, то простейший скрипт всё равно облегчает работу. Все операции можно свести к одному нажатию на полке.