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
|