Render.ru
Поддержать

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

3Duke

Знаток
Рейтинг
44
здравствуйте,надеюсь на помощь знающих людей. короче Есть такой скрипт,давно скачал на одном из форумов :

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

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

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
Попробуй так
вместо
3DukecalbScr+="node.material=dmat\n"
calbScr+="if node.material == undefined do node.material=dmat\n"

3Duke

Знаток
Рейтинг
44
Помогло!Огромное спасибо 🙂

3Duke

Знаток
Рейтинг
44
а можно ещё сделать чтобы на кости не вешал?Былобы вобще супер 🙄

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
Так 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

3Duke

Знаток
Рейтинг
44
ещё раз, Огромное спасибо, за понимание, терпение и помощь 🙂