问题出现在半流程项目中,用自写的插件创建aistandin 的时候,给到缓存的时候,发现怎么都没法正确的读取缓存,第一个要给到正确的表达式,要让属性跟随当前帧,第二个要添加一个ai_asscache 的属性
all_st =cmds.ls(type="aiStandIn")
for _st in all_st:
try:
cmds.setAttr("{}.useFrameExtension".format(_st), 1)
_ex ="{}.frameNumber".format(_st)
if cmds.listConnections(_ex,type="expression"):
for con in cmds.listConnections(_ex,type="expression"):
cmds.disconnectAttr("{}.output[0]".format(con),_ex)
print("dicconnect:{}".format(con))
cmds.expression(s="{}.frameNumber=frame".format(_st),o=_st,name="{}_expression".format(_st),ae=1,uc="all")
cmds.addAttr(_st,ci=True, sn="ai_asscache", ln="ai_asscache", dt="stringArray")
except Exception as e:
print(e)