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

нужно подправить скрипт

Тема в разделе "MAXScript", создана пользователем 3Duke, 30 янв 2009.

Модераторы: Savin Denis
  1. 3Duke

    3Duke Знаток

    С нами с:
    22.09.2006
    Сообщения:
    65
    Симпатии:
    3
    Баллы:
    46
    здравствуйте,надеюсь на помощь знающих людей. короче Есть такой скрипт,давно скачал на одном из форумов :

    calbScr="node=callbacks.notificationParam()\n"
    calbScr+="dmat=sceneMaterials[\"DefaultVrayMat\"]\n"
    calbScr+="if dmat==undefined do dmat=VrayMtl name:\"DefaultVrayMat\"\n"
    calbScr+="node.material=dmat\n"
    callbacks.addScript #nodeCreated calbScr id:#VGCreate

    Как вы поняли он вешает серый мат на вновь созданый объект,удобнейшая штучка за исключением одного,серый материал назначается не только вновь созданным объектам но и тем что были получены клонированием,тоесть копиям,помогите исправить это досадное недоразумение,скажите что куда нужно дописать чтобы серый материал не назначался на клоны.Благодарю за внимание,
     
  2. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Попробуй так
    вместо
    calbScr+="if node.material == undefined do node.material=dmat\n"

     
  3. 3Duke

    3Duke Знаток

    С нами с:
    22.09.2006
    Сообщения:
    65
    Симпатии:
    3
    Баллы:
    46
    попробую,спасибо большое
     
  4. 3Duke

    3Duke Знаток

    С нами с:
    22.09.2006
    Сообщения:
    65
    Симпатии:
    3
    Баллы:
    46
    Помогло!Огромное спасибо :)
     
  5. 3Duke

    3Duke Знаток

    С нами с:
    22.09.2006
    Сообщения:
    65
    Симпатии:
    3
    Баллы:
    46
    а можно ещё сделать чтобы на кости не вешал?Былобы вобще супер :rolleyes:
     
  6. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Так 3Duke учимся делать самостоятельно, а то чувствую ты скоро все объекты так переберешь.

    Выделяем нужный объект, и узнаем его класс с помощью комманды classof $
    далее вставляем проверку в условие, там где происходит присвоение материала ноде.

    Код:
    if node.material == undefined AND classof node != ... do node.material=dmat
    где ... - имя требуемого класса.

    Читаем:
    FAQ
    Главы из хелпа по скрипту:
    If Expression
    Logical Expressions
    Expressions
    Controlling Program Flow in Scripts
    Value Common Properties, Operators, and Methods
    Miscellaneous Node Methods
     
  7. 3Duke

    3Duke Знаток

    С нами с:
    22.09.2006
    Сообщения:
    65
    Симпатии:
    3
    Баллы:
    46
    ещё раз, Огромное спасибо, за понимание, терпение и помощь :)
     
Модераторы: Savin Denis

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