你好,这是我的第一个脚本。我正在尝试编写一个脚本,将场景中的所有VRay材质放入一个数组中,之后我想将它们拉到循环槽中,并将每个vray材质附加到多维/子对象中的一个槽中。然后将多子对象的输出连接到VRayMtlWrapper,并将旧的多子对象保留为子材质。
我可以在图表中做到这一点,但需要两位数的材料才能做到。
我已经收集了一些脚本,并阅读了maxscript help以找到我需要的东西,但没有成功。
我知道自动取款机要在现场收集资料
materials = for m in scenematerials collect m;
但在那之后,我不知道如何编写,以便我可以访问它们的输出/输入或属性,并将它们与多子对象连接起来。我已经在我的头脑中开发了逻辑,但不知道如何编写语法来实现它。任何信息,方向,链接将不胜感激。
这里甚至有一张图片,展示了我试图自动处理一个脚本example
发布于 2017-05-10 15:14:44
我找到了一个解决方案。如果您只想拾取vray u,则只需编写:
matVray = for m in scenematerials m.category == #vray collect m;
如果您只想拾取vray库中的材质,只需添加
matVray = for m in scenematerials m.category == #vray and superclassof m == material collect m
为了将数组中的材质放入多面体对象中,则其:
multiSub = Multimaterial numsubs:matVray.count
multiSub.materiallist = matVray
最后一部分将multisub连接到vray wrapper:
vrayWrapper = VRayMtlWrapper baseMtl:multiSub
https://stackoverflow.com/questions/43762947
复制相似问题