Bases: BaseCreateRoyalRenderJob
Creates separate rendering job for Royal Render
Source code in client/ayon_royalrender/plugins/publish/create_nuke_royalrender_job.py
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 | class CreateNukeRoyalRenderJob(lib.BaseCreateRoyalRenderJob):
"""Creates separate rendering job for Royal Render"""
label = "Create Nuke Render job in RR"
hosts = ["nuke"]
families = ["render", "prerender"]
def process(self, instance):
super(CreateNukeRoyalRenderJob, self).process(instance)
# allow skip to
if not instance.data.get("farm"):
self.log.info("Skipping local instance.")
return
# redefinition of families
if "render" in instance.data["productType"]:
instance.data["productType"] = "write"
instance.data["family"] = "write"
instance.data["families"].insert(0, "render2d")
elif "prerender" in instance.data["productType"]:
instance.data["productType"] = "write"
instance.data["family"] = "write"
instance.data["families"].insert(0, "prerender")
jobs = self.create_jobs(instance)
for job in jobs:
job = self.update_job_with_host_specific(instance, job)
instance.data["rrJobs"].append(job)
def update_job_with_host_specific(self, instance, job):
# INFECTED Nuke Version
nuke_version = instance.context.data.get("hostVersion")
job.Software = "Nuke"
job.Version = nuke_version
return job
def create_jobs(self, instance):
"""Nuke creates multiple RR jobs - for baking etc."""
# get output path
render_path = instance.data["path"]
script_path = self.scene_path
node = instance.data["transientData"]["node"]
# main job
jobs = [self.get_job(instance, script_path, render_path, node.name())]
for baking_script in instance.data.get("bakingNukeScripts", []):
render_path = baking_script["bakeRenderPath"]
script_path = baking_script["bakeScriptPath"]
exe_node_name = baking_script["bakeWriteNodeName"]
single = True
jobs.append(
self.get_job(
instance, script_path, render_path, exe_node_name, single
)
)
return jobs
|
create_jobs(instance)
Nuke creates multiple RR jobs - for baking etc.
Source code in client/ayon_royalrender/plugins/publish/create_nuke_royalrender_job.py
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 | def create_jobs(self, instance):
"""Nuke creates multiple RR jobs - for baking etc."""
# get output path
render_path = instance.data["path"]
script_path = self.scene_path
node = instance.data["transientData"]["node"]
# main job
jobs = [self.get_job(instance, script_path, render_path, node.name())]
for baking_script in instance.data.get("bakingNukeScripts", []):
render_path = baking_script["bakeRenderPath"]
script_path = baking_script["bakeScriptPath"]
exe_node_name = baking_script["bakeWriteNodeName"]
single = True
jobs.append(
self.get_job(
instance, script_path, render_path, exe_node_name, single
)
)
return jobs
|