Skip to content

collect_skeleton_mesh

CollectSkeletonMesh

Bases: MayaInstancePlugin

Collect Static Rig Data for FBX Extractor.

Source code in client/ayon_maya/plugins/publish/collect_skeleton_mesh.py
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
class CollectSkeletonMesh(plugin.MayaInstancePlugin):
    """Collect Static Rig Data for FBX Extractor."""

    order = pyblish.api.CollectorOrder + 0.2
    label = "Collect Skeleton Mesh"
    families = ["rig"]

    def process(self, instance):
        skeleton_mesh_set = instance.data["rig_sets"].get(
            "skeletonMesh_SET")
        if not skeleton_mesh_set:
            self.log.debug(
                "No skeletonMesh_SET found. "
                "Skipping collecting of skeleton mesh..."
            )
            return

        # Store current frame to ensure single frame export
        frame = cmds.currentTime(query=True)
        instance.data["frameStart"] = frame
        instance.data["frameEnd"] = frame

        instance.data["skeleton_mesh"] = []

        skeleton_mesh_content = cmds.sets(
            skeleton_mesh_set, query=True) or []
        if not skeleton_mesh_content:
            self.log.debug(
                "No object nodes in skeletonMesh_SET. "
                "Skipping collecting of skeleton mesh..."
            )
            return
        instance.data["families"] += ["rig.fbx"]
        instance.data["skeleton_mesh"] = skeleton_mesh_content
        self.log.debug(
            "Collected skeletonMesh_SET members: {}".format(
                skeleton_mesh_content
            ))