Maya shadingNode中的锁定文件纹理

2024-10-04 11:36:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我在这里使用shadingNode得到一些奇怪的结果,每当我在Maya中通过Python创建一个文件节点时,颜色空间会被锁定,颜色空间下拉菜单变灰。在

fileNode = cmds.shadingNode( "file", asTexture=True, name="dispMap" ) 

请参见所附的图像,但是当我从Hypershade中的“创建着色器”选项卡创建文件节点时,我得到了通常预期的结果。在

Here's an image


Tags: 文件nametrue节点颜色空间file下拉菜单
2条回答

太好了,在我的案例中,把文件格式设置为“Raw”后,它就正常工作了,谢谢安迪。在

import maya.cmds as cmds
import pymel.core as pm

fileNode = cmds.shadingNode("file",asTexture=True, name = "dispMap") 

def InputColorRules():
    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
        cmds.setAttr('%s.colorSpace' %f, 'Raw', type='string')

InputColorRules()

您需要重新应用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

希望这有帮助!在

相关问题 更多 >