I don't have Arnold installed here so I can't help a whole lot, but I can
use very similar script to set "diffuse" on a Lambert material. This works
for me:
import pymel.core as pm
name = 'CHROME'
shaderType = 'lambert'
name = pm.shadingNode(shaderType, asShader=True, name=name)
sg = pm.sets(renderable=True, noSurfaceShader=True, empty=True, name='%sSG'
%(name))
pm.setAttr('%s.diffuse' %(name),0.25)
I'd be looking at the attribute name. Is 'kd' a valid attribute on a
aiStandard material node? Maybe create the node and set the attribute using
Hypershade, then look in the Script Editor and see what MEL commands have
been printed.
On Tuesday, 26 June 2018 13:46:39 UTC+10, AMAL ARJUN wrote:
>
> Not working. Still getting an error "# MayaAttributeError: Maya Attribute
> does not exist (or is not unique):: u'CHROME3.kd' # "
>
>
> Script here:
>
> def createShader(shaderType='aiStandard', name='CHROME', shaderOutput =
> 'sg'):
>
>
>
> #pm.setAttr('%s.%s.kd' %(name,shaderOutput),0.25)
> if name == '':
> name = shaderType
> name = pm.shadingNode(shaderType, asShader=True, name=name)
> sg = pm.sets(renderable=True, noSurfaceShader=True, empty=True,
> name='%sSG' %(name))
> pm.setAttr('%s.kd' %(name),0.25)
>
>
>
> please help
>
> On Friday, June 22, 2018 at 5:25:17 PM UTC+5:30, vince touache wrote:
>>
>> def createShader(shaderType='aiStandard', name='CHROME'):
>> name = pm.shadingNode(shaderType, asShader=True, name=name
>> or shaderType)
>> sg = pm.sets(renderable=True, noSurfaceShader=True,
>> empty=True, name='%sSG' %(name))
>> pm.setAttr('%s.weight' %(name),0.25)
>
>
--
You received this message because you are subscribed to the Google Groups
"Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/python_inside_maya/b5dc0959-38dd-4a15-9025-0b7ffac53a39%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.