Skip to content

collect_fbx_camera

CollectFbxCamera

Bases: MayaInstancePlugin, OptionalPyblishPluginMixin

Collect Camera for FBX export.

Source code in client/ayon_maya/plugins/publish/collect_fbx_camera.py
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
class CollectFbxCamera(plugin.MayaInstancePlugin,
                       OptionalPyblishPluginMixin):
    """Collect Camera for FBX export."""

    order = pyblish.api.CollectorOrder + 0.2
    label = "Collect Camera for FBX export"
    families = ["camera"]
    optional = False
    input_connections = True
    up_axis = "y"

    def process(self, instance):
        if not self.is_active(instance.data):
            return

        if not instance.data.get("families"):
            instance.data["families"] = []

        if "fbx" not in instance.data["families"]:
            instance.data["families"].append("fbx")

        instance.data["cameras"] = True

        attribute_values = self.get_attr_values_from_data(
            instance.data
        )

        instance.data["upAxis"] = attribute_values.get(
            "upAxis", self.up_axis)
        instance.data["inputConnections"] = attribute_values.get(
            "inputConnections", self.input_connections)

    @classmethod
    def get_attribute_defs(cls):
        defs = [
            UISeparatorDef("sep_fbx_options"),
            UILabelDef("Fbx Options"),
        ]
        defs.extend(
            super().get_attribute_defs() + [
            EnumDef("upAxis",
                    items=["y", "z"],
                    label="Up Axis",
                    default=cls.up_axis,
                    tooltip="Convert the scene's orientation in your FBX file"),
            BoolDef("inputConnections",
                    label="Input Connections",
                    default=cls.input_connections,
                    tooltip=(
                        "Whether input connections to "
                        "selected objects are to be exported."
                        ),
                    ),
            UISeparatorDef("sep_fbx_options_end")
        ])

        return defs