получение атрибутов defaultArnoldRenderOptions - PullRequest
1 голос
/ 20 марта 2020

Я пытаюсь написать плагин для Maya, используя pymel. Существует небольшая проблема с использованием атрибутов по умолчанию для рендерера Арнольда (формат выходного файла).

Код:

import maya.cmds as cmds

cmds.getAttr('defaultRenderGlobals.imageFormat') #return id of used format, for example png - 32
cmds.getAttr('defaultRenderGlobals.imageFormat') #return constant id=51 if Arnold Renderer set as current renderer
cmds.getAttr('defaultArnoldRenderOptions.?????') #how do the same with arnold options?

1 Ответ

1 голос
/ 27 марта 2020

Код, указанный выше, не является PyMEL. Я отвечу с PyMEL, так как это то, что вы просили, и лучше , чем maya.cmds.

Чтобы получить список всех доступных атрибутов на узле, используйте listAttr. В defaultArnoldRenderOptions есть много атрибутов, и они возвращаются несортированными, поэтому вы можете отсортировать или отфильтровать список, чтобы его было легче найти.

import pymel.core as pm

# all attributes
print pm.listAttr("defaultArnoldRenderOptions")

# print names of attributes sorted, one per line.
print ("\n").join(sorted(pm.listAttr("defaultArnoldRenderOptions")))

#result
...
ignoreSubdivision
ignoreTextures
ignore_list
imageFormat
indirectSampleClamp
indirectSpecularBlur
...

Нет формата выходного файла, только imageFormat

Получить и напечатать значение атрибута imageFormat

print pm.PyNode("defaultArnoldRenderOptions").attr("imageFormat").get()
#result
None
...