示例#1
0
    def process_reference(self, context, name, namespace, group, options):
        import maya.cmds as cmds
        from reveries.maya import utils

        representation = context["representation"]

        entry_path = self.file_path(representation)

        nodes = cmds.file(entry_path,
                          namespace=namespace,
                          ignoreVersion=True,
                          sharedReferenceFile=False,
                          groupReference=True,
                          groupName=group,
                          reference=True,
                          lockReference=False,
                          returnNewNodes=True)

        if representation["name"] == "Alembic":
            self.unit_conversion_patch(nodes)

        # (NOTE) Nodes loaded from Alembic did not have verifiers
        utils.update_id_verifiers(nodes)

        self[:] = nodes
示例#2
0
    def fix_invalid_duplicated(cls, instance):
        invalid = cls.get_invalid_duplicated(instance)

        if instance.data["family"] in cls.loose_uuid:
            # Do not renew id on these families
            utils.update_id_verifiers(invalid)
        else:
            # Re-assign unique id on duplicated
            asset_id = str(instance.context.data["assetDoc"]["_id"])
            with utils.id_namespace(asset_id):
                for node in invalid:
                    # Wipe out invalid Id's verifier so to force Id renew
                    varifier = node + "." + utils.Identifier.ATTR_VERIFIER
                    cmds.setAttr(varifier, "", type="string")
                    utils.upsert_id(node)
    def fix_invalid_duplicated(cls, instance):
        invalid = cls.get_invalid_duplicated(instance)

        if instance.data["family"] in [
                "reveries.setdress",
                "reveries.mayashare",
        ]:
            # Do not renew id on these families
            update_id_verifiers(invalid)
        else:
            # Re-assign unique id on duplicated
            asset_id = str(instance.context.data["assetDoc"]["_id"])
            with id_namespace(asset_id):
                for node in invalid:
                    upsert_id(node)