Skip to content

collect_farm_instances

CollectFarmInstances

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
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"
        }:
            instance.data["farm"] = False
            instance.data["splitRender"] = False
            self.log.debug("Render on farm is disabled. "
                           "Skipping farm collecting.")
            return

        instance.data["farm"] = True
        instance.data["splitRender"] = (
            creator_attribute.get("render_target") == "farm_split"
        )