一半君的总结纸

听话只听一半君

#69 如何用MEL改变Material类型 – 比如从 Lambert 改成 Blinn?

Attribute Editor 里有个下拉菜单可以改,这看起来似乎很容易. 因为只需要把 Material attribute 从 “Lambert” 改成 “Blinn”, 或者类似操作.

但其实当你改变 shading type 的时候,后台发生的是 Maya 创建了一个新的 Material node, 然后用replaceNode command 来替换原有的material. 上述操作可以在 Attribute Editor template script里找到:

\AW\Maya3.0\scripts\AETemplates\AEshaderTypeNew.mel

replaceNode command (其实是在一个 MEL script 的 global proc) 可以在这里找到:

\AW\Maya3.0\scripts\others\replaceNode.mel

距离:

// 假设这是你已有的 Lambert Material
string $shaderNode = "myLambert";

// 这是新的 Material type
string $replaceType = "blinn";

string $replaceWith = `createNode $replaceType`;

replaceNode $shaderNode $replaceWith;

// 不是必要步骤...
showEditor $replaceWith;

delete $shaderNode;

// 把新 node 的名字改成旧node的名字.
rename $replaceWith $shaderNode;

Wednesday, August 29, 2001

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: