def process(self, instance):
import os
from maya import cmds
from pyblish_starter import api, maya
self.log.debug("Loading plug-in..")
cmds.loadPlugin("AbcExport.mll", quiet=True)
self.log.info("Extracting animation..")
dirname = api.format_staging_dir(
root=instance.context.data["workspaceDir"],
name=instance.data["name"])
try:
os.makedirs(dirname)
except OSError:
pass
filename = "{name}.abc".format(**instance.data)
maya.export_alembic(
nodes=instance,
file=os.path.join(dirname, filename).replace("\\", "/"),
frame_range=(cmds.playbackOptions(query=True, ast=True),
cmds.playbackOptions(query=True, aet=True)),
uv_write=True
)
# Store reference for integration
if "files" not in instance.data:
instance.data["files"] = list()
instance.data["files"].append(filename)
instance.data["stagingDir"] = dirname
self.log.info("Extracted {instance} to {dirname}".format(**locals()))
评论列表
文章目录