mindbender_look.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:config 作者: mindbender-studio 项目源码 文件源码
def process(self, name, namespace, context, data):
        import os
        import json

        from maya import cmds
        from polly.maya import lib

        try:
            existing_reference = cmds.file(self.fname,
                                           query=True,
                                           referenceNode=True)
        except RuntimeError as e:
            if e.message.rstrip() != "Cannot find the scene file.":
                raise

            self.log.info("Loading lookdev for the first time..")
            nodes = cmds.file(
                self.fname,
                namespace=namespace,
                reference=True,
                returnNewNodes=True
            )
        else:
            self.log.info("Reusing existing lookdev..")
            nodes = cmds.referenceQuery(existing_reference, nodes=True)
            namespace = nodes[0].split(":", 1)[0]

        # Assign shaders
        self.fname = self.fname.rsplit(".", 1)[0] + ".json"

        # Expand $AVALON_PROJECT and friends, if used
        self.fname = os.path.expandvars(self.fname)

        if not os.path.isfile(self.fname):
            self.log.warning("Look development asset "
                             "has no relationship data.\n"
                             "%s was not found" % self.fname)
            return nodes

        with open(self.fname) as f:
            relationships = json.load(f)

        lib.apply_shaders(relationships, namespace)

        self[:] = nodes
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号