使用shadingNode
在这里得到一些奇怪的结果,每当我在Maya中通过Python创建文件节点时,都会锁定颜色空间,并且使颜色空间下降菜单变灰。
fileNode = cmds.shadingNode( "file", asTexture=True, name="dispMap" )
请查看附件中的图像,但是从
Hypershade
中的“创建着色器”选项卡创建文件节点时,会得到通常的预期结果。Here's an image
最佳答案
您需要重新应用Input Color Space Rules
。
import maya.cmds as cmds
import pymel.core as pm
shader = cmds.shadingNode( 'anisotropic', asShader=True )
file_node = cmds.shadingNode( 'file', asTexture=True, name="dispMap" )
# file = ( '/Users/me/Desktop/texture.jpg' )
shading_group = cmds.sets( renderable=True, noSurfaceShader=True, empty=True )
cmds.connectAttr( '%s.outColor' %shader , '%s.surfaceShader' %shading_group )
cmds.connectAttr( '%s.outColor' %file_node, '%s.color' %shader )
cmds.polySphere( n='mySphere', radius=5, sx=40, sy=30 )
cmds.select( 'mySphere', visible=True )
cmds.hyperShade( assign=shader )
colMgmtGlob = pm.PyNode( 'defaultColorMgtGlobals' )
for f in pm.ls( type='file' ):
colMgmtGlob.cmEnabled >> f.colorManagementEnabled
colMgmtGlob.configFileEnabled >> f.colorManagementConfigFileEnabled
colMgmtGlob.configFilePath >> f.colorManagementConfigFilePath
colMgmtGlob.workingSpaceName >> f.workingSpace
希望这可以帮助!