diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_alembic_camera.py b/client/ayon_core/hosts/houdini/plugins/create/create_alembic_camera.py index b6661fe7e4..c6cf5664f8 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_alembic_camera.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_alembic_camera.py @@ -13,6 +13,7 @@ class CreateAlembicCamera(plugin.HoudiniCreator): label = "Camera (Abc)" family = "camera" icon = "camera" + staging_dir = "$HIP/ayon" def create(self, subset_name, instance_data, pre_create_data): import hou @@ -26,9 +27,14 @@ class CreateAlembicCamera(plugin.HoudiniCreator): pre_create_data) # type: CreatedInstance instance_node = hou.node(instance.get("instance_node")) + + filepath = "{root}/{subset}/{subset}.abc".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name + ) + parms = { - "filename": hou.text.expandString( - "$HIP/pyblish/{}.abc".format(subset_name)), + "filename": filepath, "use_sop_path": False, } diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_arnold_ass.py b/client/ayon_core/hosts/houdini/plugins/create/create_arnold_ass.py index f60f5bc42f..e3a052812f 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_arnold_ass.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_arnold_ass.py @@ -16,6 +16,7 @@ class CreateArnoldAss(plugin.HoudiniCreator): # however calling HoudiniCreator.create() # will override it by the value in the project settings ext = ".ass" + staging_dir = "$HIP/ayon" def create(self, subset_name, instance_data, pre_create_data): import hou @@ -38,11 +39,13 @@ class CreateArnoldAss(plugin.HoudiniCreator): parm_template_group = instance_node.parmTemplateGroup() parm_template_group.hideFolder("Properties", True) instance_node.setParmTemplateGroup(parm_template_group) - - filepath = "{}{}".format( - hou.text.expandString("$HIP/pyblish/"), - "{}.$F4{}".format(subset_name, self.ext) + + filepath = "{root}/{subset}/{subset}.$F4{ext}".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name, + ext=self.ext ) + parms = { # Render frame range "trange": 1, diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_arnold_rop.py b/client/ayon_core/hosts/houdini/plugins/create/create_arnold_rop.py index 590a92f56f..0d8e95f852 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_arnold_rop.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_arnold_rop.py @@ -9,6 +9,7 @@ class CreateArnoldRop(plugin.HoudiniCreator): label = "Arnold ROP" family = "arnold_rop" icon = "magic" + staging_dir = "$HIP/ayon" # Default extension ext = "exr" @@ -36,12 +37,13 @@ class CreateArnoldRop(plugin.HoudiniCreator): instance_node = hou.node(instance.get("instance_node")) ext = pre_create_data.get("image_format") - - filepath = "{renders_dir}{subset_name}/{subset_name}.$F4.{ext}".format( - renders_dir=hou.text.expandString("$HIP/pyblish/renders/"), - subset_name=subset_name, - ext=ext, + + filepath = "{root}/{subset}/{subset}.$F4.{ext}".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name, + ext=ext ) + parms = { # Render frame range "trange": 1, @@ -52,11 +54,11 @@ class CreateArnoldRop(plugin.HoudiniCreator): } if pre_create_data.get("export_job"): - ass_filepath = \ - "{export_dir}{subset_name}/{subset_name}.$F4.ass".format( - export_dir=hou.text.expandString("$HIP/pyblish/ass/"), - subset_name=subset_name, - ) + ass_filepath = "{root}/{subset}/ass/{subset}.$F4.ass".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name + ) + parms["ar_ass_export_enable"] = 1 parms["ar_ass_file"] = ass_filepath diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_bgeo.py b/client/ayon_core/hosts/houdini/plugins/create/create_bgeo.py index 135c889b3e..163dc266c1 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_bgeo.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_bgeo.py @@ -12,6 +12,7 @@ class CreateBGEO(plugin.HoudiniCreator): label = "PointCache (Bgeo)" family = "pointcache" icon = "gears" + staging_dir = "$HIP/ayon" def create(self, subset_name, instance_data, pre_create_data): @@ -29,14 +30,14 @@ class CreateBGEO(plugin.HoudiniCreator): instance_node = hou.node(instance.get("instance_node")) - file_path = "{}{}".format( - hou.text.expandString("$HIP/pyblish/"), - "{}.$F4.{}".format( - subset_name, - pre_create_data.get("bgeo_type") or "bgeo.sc") + filepath = "{root}/{subset}/{subset}.$F4.{ext}".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name, + ext=pre_create_data.get("bgeo_type") or "bgeo.sc" ) + parms = { - "sopoutput": file_path + "sopoutput": filepath } instance_node.parm("trange").set(1) diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_composite.py b/client/ayon_core/hosts/houdini/plugins/create/create_composite.py index b87e1fd5b1..902071634b 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_composite.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_composite.py @@ -13,7 +13,7 @@ class CreateCompositeSequence(plugin.HoudiniCreator): label = "Composite (Image Sequence)" family = "imagesequence" icon = "gears" - + staging_dir = "$HIP/ayon" ext = ".exr" def create(self, subset_name, instance_data, pre_create_data): @@ -28,10 +28,13 @@ class CreateCompositeSequence(plugin.HoudiniCreator): pre_create_data) # type: CreatedInstance instance_node = hou.node(instance.get("instance_node")) - filepath = "{}{}".format( - hou.text.expandString("$HIP/pyblish/"), - "{}.$F4{}".format(subset_name, self.ext) + + filepath = "{root}/{subset}/{subset}.$F4{ext}".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name, + ext=self.ext ) + parms = { "trange": 1, "copoutput": filepath diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_hda.py b/client/ayon_core/hosts/houdini/plugins/create/create_hda.py index faddc11b0c..ce72a9458e 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_hda.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_hda.py @@ -16,6 +16,7 @@ class CreateHDA(plugin.HoudiniCreator): family = "hda" icon = "gears" maintain_selection = False + staging_dir = "$HIP/ayon" def _check_existing(self, asset_name, subset_name): # type: (str) -> bool @@ -56,10 +57,17 @@ class CreateHDA(plugin.HoudiniCreator): if not to_hda.canCreateDigitalAsset(): raise plugin.OpenPypeCreatorError( "cannot create hda from node {}".format(to_hda)) - + + # for consistency I'm using {subset} as it's + # the same key used in other creators + filepath = "{root}/{subset}/{subset}.hda".format( + root=hou.text.expandString(self.staging_dir), + subset=node_name + ) + hda_node = to_hda.createDigitalAsset( name=node_name, - hda_file_name="$HIP/{}.hda".format(node_name) + hda_file_name=filepath ) hda_node.layoutChildren() elif self._check_existing(asset_name, node_name): diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_karma_rop.py b/client/ayon_core/hosts/houdini/plugins/create/create_karma_rop.py index 5211044fea..b9db6d33b5 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_karma_rop.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_karma_rop.py @@ -11,6 +11,7 @@ class CreateKarmaROP(plugin.HoudiniCreator): label = "Karma ROP" family = "karma_rop" icon = "magic" + staging_dir = "$HIP/ayon" def create(self, subset_name, instance_data, pre_create_data): import hou # noqa @@ -31,19 +32,20 @@ class CreateKarmaROP(plugin.HoudiniCreator): ext = pre_create_data.get("image_format") - filepath = "{renders_dir}{subset_name}/{subset_name}.$F4.{ext}".format( - renders_dir=hou.text.expandString("$HIP/pyblish/renders/"), - subset_name=subset_name, - ext=ext, - ) - checkpoint = "{cp_dir}{subset_name}.$F4.checkpoint".format( - cp_dir=hou.text.expandString("$HIP/pyblish/"), - subset_name=subset_name + filepath = "{root}/{subset}/{subset}.$F4.{ext}".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name, + ext=ext ) - usd_directory = "{usd_dir}{subset_name}_$RENDERID".format( - usd_dir=hou.text.expandString("$HIP/pyblish/renders/usd_renders/"), # noqa - subset_name=subset_name + checkpoint = "{root}/{subset}/checkpoint/{subset}.$F4.checkpoint".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name + ) + + usd_directory = "{root}/{subset}/usd_render/{subset}_$RENDERID".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name ) parms = { diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_mantra_ifd.py b/client/ayon_core/hosts/houdini/plugins/create/create_mantra_ifd.py index 7f1da13d2e..e0ca6d1220 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_mantra_ifd.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_mantra_ifd.py @@ -11,6 +11,7 @@ class CreateMantraIFD(plugin.HoudiniCreator): label = "Mantra IFD" family = "mantraifd" icon = "gears" + staging_dir = "$HIP/ayon" def create(self, subset_name, instance_data, pre_create_data): import hou @@ -25,10 +26,12 @@ class CreateMantraIFD(plugin.HoudiniCreator): pre_create_data) # type: CreatedInstance instance_node = hou.node(instance.get("instance_node")) + + filepath = "{root}/{subset}/{subset}.$F4.ifd".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name + ) - filepath = "{}{}".format( - hou.text.expandString("$HIP/pyblish/"), - "{}.$F4.ifd".format(subset_name)) parms = { # Render frame range "trange": 1, diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_mantra_rop.py b/client/ayon_core/hosts/houdini/plugins/create/create_mantra_rop.py index 02252f35d1..994f6efa70 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_mantra_rop.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_mantra_rop.py @@ -11,6 +11,7 @@ class CreateMantraROP(plugin.HoudiniCreator): label = "Mantra ROP" family = "mantra_rop" icon = "magic" + staging_dir = "$HIP/ayon" # Default to split export and render jobs export_job = True @@ -33,11 +34,11 @@ class CreateMantraROP(plugin.HoudiniCreator): instance_node = hou.node(instance.get("instance_node")) ext = pre_create_data.get("image_format") - - filepath = "{renders_dir}{subset_name}/{subset_name}.$F4.{ext}".format( - renders_dir=hou.text.expandString("$HIP/pyblish/renders/"), - subset_name=subset_name, - ext=ext, + + filepath = "{root}/{subset}/{subset}.$F4.{ext}".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name, + ext=ext ) parms = { @@ -48,11 +49,11 @@ class CreateMantraROP(plugin.HoudiniCreator): } if pre_create_data.get("export_job"): - ifd_filepath = \ - "{export_dir}{subset_name}/{subset_name}.$F4.ifd".format( - export_dir=hou.text.expandString("$HIP/pyblish/ifd/"), - subset_name=subset_name, - ) + ifd_filepath = "{root}/{subset}/ifd/{subset}.$F4.ifd".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name + ) + parms["soho_outputmode"] = 1 parms["soho_diskfile"] = ifd_filepath diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_pointcache.py b/client/ayon_core/hosts/houdini/plugins/create/create_pointcache.py index 07dcc17f25..4441bdc5dd 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_pointcache.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_pointcache.py @@ -13,6 +13,7 @@ class CreatePointCache(plugin.HoudiniCreator): label = "PointCache (Abc)" family = "pointcache" icon = "gears" + staging_dir = "$HIP/ayon" def create(self, subset_name, instance_data, pre_create_data): instance_data.pop("active", None) @@ -27,6 +28,12 @@ class CreatePointCache(plugin.HoudiniCreator): pre_create_data) instance_node = hou.node(instance.get("instance_node")) + + filepath = "{root}/{subset}/{subset}.abc".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name + ) + parms = { "use_sop_path": True, "build_from_path": True, @@ -34,8 +41,7 @@ class CreatePointCache(plugin.HoudiniCreator): "prim_to_detail_pattern": "cbId", "format": 2, "facesets": 0, - "filename": hou.text.expandString( - "$HIP/pyblish/{}.abc".format(subset_name)) + "filename": filepath } if self.selected_nodes: diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_redshift_proxy.py b/client/ayon_core/hosts/houdini/plugins/create/create_redshift_proxy.py index fa42411a1c..8de3f79dd1 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_redshift_proxy.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_redshift_proxy.py @@ -11,6 +11,7 @@ class CreateRedshiftProxy(plugin.HoudiniCreator): label = "Redshift Proxy" family = "redshiftproxy" icon = "magic" + staging_dir = "$HIP/ayon" def create(self, subset_name, instance_data, pre_create_data): @@ -36,8 +37,13 @@ class CreateRedshiftProxy(plugin.HoudiniCreator): instance_node = hou.node(instance.get("instance_node")) + filepath = "{root}/{subset}/{subset}.$F4.rs".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name + ) + parms = { - "RS_archive_file": '$HIP/pyblish/{}.$F4.rs'.format(subset_name), + "RS_archive_file": filepath, } if self.selected_nodes: diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_redshift_rop.py b/client/ayon_core/hosts/houdini/plugins/create/create_redshift_rop.py index 8e88c690b9..89355c2386 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_redshift_rop.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_redshift_rop.py @@ -14,6 +14,7 @@ class CreateRedshiftROP(plugin.HoudiniCreator): family = "redshift_rop" icon = "magic" ext = "exr" + staging_dir = "$HIP/ayon" # Default to split export and render jobs split_render = True @@ -56,10 +57,12 @@ class CreateRedshiftROP(plugin.HoudiniCreator): ipr_rop.parm("linked_rop").set(instance_node.path()) ext = pre_create_data.get("image_format") - filepath = "{renders_dir}{subset_name}/{subset_name}.{fmt}".format( - renders_dir=hou.text.expandString("$HIP/pyblish/renders/"), - subset_name=subset_name, - fmt="${aov}.$F4.{ext}".format(aov="AOV", ext=ext) + + filepath = "{root}/{subset}/{subset}.${aov}.$F4.{ext}".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name, + aov="AOV", + ext=ext ) ext_format_index = {"exr": 0, "tif": 1, "jpg": 2, "png": 3} @@ -82,8 +85,11 @@ class CreateRedshiftROP(plugin.HoudiniCreator): camera = node.path() parms["RS_renderCamera"] = camera or "" - export_dir = hou.text.expandString("$HIP/pyblish/rs/") - rs_filepath = f"{export_dir}{subset_name}/{subset_name}.$F4.rs" + rs_filepath = "{root}/{subset}/rs/{subset}.$F4.rs".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name + ) + parms["RS_archive_file"] = rs_filepath if pre_create_data.get("split_render", self.split_render): diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_review.py b/client/ayon_core/hosts/houdini/plugins/create/create_review.py index c512a61105..a816391368 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_review.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_review.py @@ -14,6 +14,7 @@ class CreateReview(plugin.HoudiniCreator): label = "Review" family = "review" icon = "video-camera" + staging_dir = "$HIP/ayon" def create(self, subset_name, instance_data, pre_create_data): @@ -32,9 +33,9 @@ class CreateReview(plugin.HoudiniCreator): frame_range = hou.playbar.frameRange() filepath = "{root}/{subset}/{subset}.$F4.{ext}".format( - root=hou.text.expandString("$HIP/pyblish"), + root=hou.text.expandString(self.staging_dir), subset="`chs(\"subset\")`", # keep dynamic link to subset - ext=pre_create_data.get("image_format") or "png" + ext=pre_create_data.get("image_format", "png") ) parms = { @@ -134,7 +135,7 @@ class CreateReview(plugin.HoudiniCreator): def set_colorcorrect_to_default_view_space(self, instance_node): """Set ociocolorspace to the default output space.""" - from ayon_core.hosts.houdini.api.colorspace import get_default_display_view_colorspace # noqa + from openpype.hosts.houdini.api.colorspace import get_default_display_view_colorspace # noqa # set Color Correction parameter to OpenColorIO instance_node.setParms({"colorcorrect": 2}) diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_staticmesh.py b/client/ayon_core/hosts/houdini/plugins/create/create_staticmesh.py index 319be3568d..61501dfe08 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_staticmesh.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_staticmesh.py @@ -15,6 +15,7 @@ class CreateStaticMesh(plugin.HoudiniCreator): icon = "fa5s.cubes" default_variants = ["Main"] + staging_dir = "$HIP/ayon" def create(self, subset_name, instance_data, pre_create_data): @@ -29,13 +30,14 @@ class CreateStaticMesh(plugin.HoudiniCreator): instance_node = hou.node(instance.get("instance_node")) # prepare parms - output_path = hou.text.expandString( - "$HIP/pyblish/{}.fbx".format(subset_name) + filepath = "{root}/{subset}/{subset}.fbx".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name ) parms = { "startnode": self.get_selection(), - "sopoutput": output_path, + "sopoutput": filepath, # vertex cache format "vcformat": pre_create_data.get("vcformat"), "convertunits": pre_create_data.get("convertunits"), diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_usd.py b/client/ayon_core/hosts/houdini/plugins/create/create_usd.py index db9c77fffe..3d3e4ca173 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_usd.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_usd.py @@ -13,6 +13,7 @@ class CreateUSD(plugin.HoudiniCreator): family = "usd" icon = "gears" enabled = False + staging_dir = "$HIP/ayon" def create(self, subset_name, instance_data, pre_create_data): @@ -26,8 +27,13 @@ class CreateUSD(plugin.HoudiniCreator): instance_node = hou.node(instance.get("instance_node")) + filepath = "{root}/{subset}/{subset}.usd".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name + ) + parms = { - "lopoutput": "$HIP/pyblish/{}.usd".format(subset_name), + "lopoutput": filepath, "enableoutputprocessor_simplerelativepaths": False, } diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_vbd_cache.py b/client/ayon_core/hosts/houdini/plugins/create/create_vbd_cache.py index 507917b7a5..488d28ca68 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_vbd_cache.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_vbd_cache.py @@ -14,6 +14,7 @@ class CreateVDBCache(plugin.HoudiniCreator): label = "VDB Cache" family = "vdbcache" icon = "cloud" + staging_dir = "$HIP/ayon" def create(self, subset_name, instance_data, pre_create_data): import hou @@ -29,11 +30,14 @@ class CreateVDBCache(plugin.HoudiniCreator): pre_create_data) # type: CreatedInstance instance_node = hou.node(instance.get("instance_node")) - file_path = "{}{}".format( - hou.text.expandString("$HIP/pyblish/"), - "{}.$F4.vdb".format(subset_name)) + + filepath = "{root}/{subset}/{subset}.$F4.vdb".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name + ) + parms = { - "sopoutput": file_path, + "sopoutput": filepath, "initsim": True, "trange": 1 } diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_vray_rop.py b/client/ayon_core/hosts/houdini/plugins/create/create_vray_rop.py index 609828e201..47a3af8412 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_vray_rop.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_vray_rop.py @@ -15,6 +15,7 @@ class CreateVrayROP(plugin.HoudiniCreator): family = "vray_rop" icon = "magic" ext = "exr" + staging_dir = "$HIP/ayon" # Default to split export and render jobs export_job = True @@ -56,11 +57,11 @@ class CreateVrayROP(plugin.HoudiniCreator): } if pre_create_data.get("export_job"): - scene_filepath = \ - "{export_dir}{subset_name}/{subset_name}.$F4.vrscene".format( - export_dir=hou.text.expandString("$HIP/pyblish/vrscene/"), - subset_name=subset_name, - ) + + scene_filepath = "{root}/{subset}/vrscene/{subset}.$F4.vrscene".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name + ) # Setting render_export_mode to "2" because that's for # "Export only" ("1" is for "Export & Render") parms["render_export_mode"] = "2" @@ -81,19 +82,13 @@ class CreateVrayROP(plugin.HoudiniCreator): instance_data["RenderElement"] = pre_create_data.get("render_element_enabled") # noqa if pre_create_data.get("render_element_enabled", True): # Vray has its own tag for AOV file output - filepath = "{renders_dir}{subset_name}/{subset_name}.{fmt}".format( - renders_dir=hou.text.expandString("$HIP/pyblish/renders/"), - subset_name=subset_name, - fmt="${aov}.$F4.{ext}".format(aov="AOV", - ext=ext) - ) - filepath = "{}{}".format( - hou.text.expandString("$HIP/pyblish/renders/"), - "{}/{}.${}.$F4.{}".format(subset_name, - subset_name, - "AOV", - ext) + filepath = "{root}/{subset}/{subset}.${aov}.$F4.{ext}".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name, + aov="AOV", + ext=ext ) + re_rop = instance_node.parent().createNode( "vray_render_channels", node_name=basename + "_render_element" @@ -108,11 +103,12 @@ class CreateVrayROP(plugin.HoudiniCreator): }) else: - filepath = "{renders_dir}{subset_name}/{subset_name}.{fmt}".format( - renders_dir=hou.text.expandString("$HIP/pyblish/renders/"), - subset_name=subset_name, - fmt="$F4.{ext}".format(ext=ext) + filepath = "{root}/{subset}/{subset}.$F4.{ext}".format( + root=hou.text.expandString(self.staging_dir), + subset=subset_name, + ext=ext ) + parms.update({ "use_render_channels": 0, "SettingsOutput_img_file_path": filepath