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
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)