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
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()
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())
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
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())
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
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