Bases: HoudiniInstancePlugin
Collect instances for farm render.
Source code in client/ayon_houdini/plugins/publish/collect_farm_instances.py
5
6
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
45
46 | class CollectFarmInstances(plugin.HoudiniInstancePlugin):
"""Collect instances for farm render."""
order = pyblish.api.CollectorOrder - 0.49
families = ["mantra_rop",
"karma_rop",
"redshift_rop",
"arnold_rop",
"vray_rop",
"usdrender",
"ass","pointcache", "redshiftproxy",
"vdbcache", "model", "staticMesh",
"rop.opengl", "usdrop", "camera"]
targets = ["local", "remote"]
label = "Collect farm instances"
def process(self, instance):
creator_attribute = instance.data["creator_attributes"]
# Collect Render Target
if creator_attribute.get("render_target") not in {
"farm_split",
"farm",
"local_export_farm_render",
}:
instance.data["farm"] = False
instance.data["splitRender"] = False
try:
instance.data["families"].remove("publish.hou")
except ValueError:
pass
self.log.debug("Render on farm is disabled. "
"Skipping farm collecting.")
return
instance.data["farm"] = True
instance.data["splitRender"] = (
creator_attribute.get("render_target")
in {"farm_split", "local_export_farm_render"}
)
|