Maya AOV分层工具¶
AOV(Arbitrary Output Variables),可以通过Arnold Python API添加修改删除AOV。
import mtoa
print(mtoa.__file__)
print(type(mtoa))
print(dir(mtoa))
# ['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', 'aovs', 'api', 'callbacks', 'cmds', 'convertShaders', 'core', 'denoise', 'hooks', 'licensing', 'lightFilters', 'lightManager', 'makeTx', 'melUtils', 'renderToTexture', 'txManager', 'ui', 'utils']
from mtoa import aovs
aovName = "beauty"
newAov = aovs.AOVInterface()
print(dir(newAov))
# ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_aovAttr', '_node', '_removeAOVNode', 'addAOV', 'getAOVNode', 'getAOVNodes', 'getAOVs', 'nextAvailableAttr', 'node', 'removeAOV', 'removeAOVs', 'renameAOVs']
newAov.addAOV(aovName)
print(help(newAov.addAOV))
Help on method addAOV in module mtoa.aovs:
addAOV(self, aovName, aovType=None, aovShader=None) method of mtoa.aovs.AOVInterface instance
add an AOV to the active list for this AOV node
returns the created AOV node
None
addAOV方法有三个形参,两个缺省参数,所以至少传入aovName,aovType和aovShader可以缺省。
获取与移除AOV
from mtoa import aovs
newAov = aovs.AOVInterface()
allAovs = newAov.getAOVs()
print(allAovs)
newAov.removeAOVs(allAovs)