Пример #1
0
    def process(self):
        from collections import OrderedDict
        from avalon.nuke import lib
        from reveries import lib as reveries_lib
        import nuke

        with lib.maintained_selection():
            if not (self.options or {}).get("useSelection"):
                lib.reset_selection()

            existed_write = next(
                (n for n in nuke.selectedNodes() if n.Class() == "Write"),
                None)
            instance = existed_write or nuke.createNode("Write")

            data = OrderedDict([
                (("divid", ""), lib.Knobby("Text_Knob", "")),
                ("deadlineFramesPerTask", 1),
                ("deadlineSuspendJob", False),
                ("deadlinePriority", 80),
                ("deadlinePool", reveries_lib.get_deadline_pools()),
            ])
            self.data.update(data)

            lib.imprint(instance, self.data, tab="avalon")

        return instance
Пример #2
0
    def process(self):
        self.data["bakeStep"] = 1.0
        # Apply Euler filter to rotations for Alembic
        self.data["eulerFilter"] = False

        self.data["deadlinePriority"] = 80
        self.data["deadlinePool"] = lib.get_deadline_pools()

        return put_instance_icon(super(CameraCreator, self).process())
    def __init__(self, *args, **kwargs):
        super(CreateAlembicCamera, self).__init__(*args, **kwargs)

        # Remove the `active`, we are checking the `bypass` flag of the nodes
        self.data.pop("active", None)

        # Set node type to create for output
        self.data.update({"node_type": "alembic"})

        self.data["deadlinePriority"] = 80
        self.data["deadlinePool"] = lib.get_deadline_pools()
Пример #4
0
    def process(self):

        # (NOTE) objectSet's 'motionBlur' attribute can affect object's
        #        motionBlur state in Arnold.

        self.data["staticCache"] = True

        self.data["deadlinePriority"] = 80
        self.data["deadlinePool"] = lib.get_deadline_pools()

        return put_instance_icon(super(ArnoldStandInCreator, self).process())
Пример #5
0
    def __init__(self, *args, **kwargs):
        super(CreatePointCache, self).__init__(*args, **kwargs)

        # Remove the `active`, we are checking the `bypass` flag of the nodes
        self.data.pop("active", None)

        self.data.update({"node_type": "alembic"})

        # For user to confirm that this asset name is on demand, and
        # able to publish even current Avalon session is not in this
        # asset.
        self.data["overSessionAsset"] = False

        self.data["deadlinePriority"] = 80
        self.data["deadlinePool"] = lib.get_deadline_pools()
        self.data["deadlineFramesPerTask"] = 1
        self.data["deadlineSuspendJob"] = False
Пример #6
0
    def process(self):
        # Build pipeline render settings

        self.data["exportAlembic"] = True
        self.data["exportGPUCache"] = False
        self.data["exportFBXCache"] = False

        self.data["staticCache"] = False
        self.data["isDummy"] = False

        self.data["deadlinePriority"] = 80
        self.data["deadlinePool"] = lib.get_deadline_pools()

        # Apply Euler filter to rotations for Alembic
        self.data["eulerFilter"] = True

        return put_instance_icon(super(PointCacheCreator, self).process())
Пример #7
0
    def __init__(self, *args, **kwargs):
        super(CreateVDBCache, self).__init__(*args, **kwargs)

        # Remove the `active`, we are checking the `bypass` flag of the nodes
        self.data.pop("active", None)

        # Set node type to create for output
        self.data["node_type"] = "geometry"

        # For user to confirm that this asset name is on demand, and
        # able to publish even current Avalon session is not in this
        # asset.
        self.data["assetConfirmed"] = False

        self.data["deadlinePriority"] = 80
        self.data["deadlinePool"] = lib.get_deadline_pools()
        self.data["deadlineFramesPerTask"] = 1
        self.data["deadlineSuspendJob"] = False
Пример #8
0
    def __init__(self, *args, **kwargs):
        super(RenderCreator, self).__init__(*args, **kwargs)

        # We won't be publishing this one
        self.data["id"] = "avalon.renderglobals"

        # We don't need subset or asset attributes
        self.data.pop("subset", None)
        self.data.pop("asset", None)
        self.data.pop("active", None)

        # Build pipeline render settings

        self.data["deadlinePriority"] = 80
        self.data["deadlinePool"] = lib.get_deadline_pools()
        self.data["deadlineGroup"] = [
            "none",
            "farm_gpu",  # For RedShift, local in-house setup
        ]

        self.data["deadlineFramesPerTask"] = 1
        self.data["deadlineSuspendJob"] = False