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 98aa3e2371..04df1e57f8 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,7 +13,8 @@ class CreateAlembicCamera(plugin.HoudiniCreator): label = "Camera (Abc)" product_type = "camera" icon = "camera" - staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.abc" + ext = "abc" + staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.{ext}" def create(self, product_name, instance_data, pre_create_data): import hou @@ -29,7 +30,8 @@ class CreateAlembicCamera(plugin.HoudiniCreator): instance_node = hou.node(instance.get("instance_node")) filepath = self.staging_dir.format( - product={"name": product_name} + product={"name": product_name}, + ext=self.ext ) parms = { 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 90e2d30380..74a5cad90a 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 @@ -12,7 +12,7 @@ class CreateKarmaROP(plugin.HoudiniCreator): product_type = "karma_rop" icon = "magic" render_staging_dir = "$HIP/ayon/{product[name]}/render/{product[name]}.$F4.{ext}" - checkpoint_dir = "$HIP/ayon/{product[name]}/checkpoint/{product[name]}.$F4.checkpoint" + checkpoint_dir = "$HIP/ayon/{product[name]}/checkpoint/{product[name]}.$F4.{ext}" usd_dir = "$HIP/ayon/{product_name}/usd/{product_name}_$RENDERID" def create(self, product_name, instance_data, pre_create_data): @@ -40,7 +40,8 @@ class CreateKarmaROP(plugin.HoudiniCreator): ) checkpoint = self.checkpoint_dir.format( - product={"name": product_name} + product={"name": product_name}, + ext="checkpoint" ) usd_directory = self.usd_dir.format( 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 9449840eed..c1dfbf43fb 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,7 +11,8 @@ class CreateMantraIFD(plugin.HoudiniCreator): label = "Mantra IFD" product_type = "mantraifd" icon = "gears" - staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.$F4.ifd" + ext = "ifd" + staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.$F4.{ext}" def create(self, product_name, instance_data, pre_create_data): import hou @@ -28,7 +29,8 @@ class CreateMantraIFD(plugin.HoudiniCreator): instance_node = hou.node(instance.get("instance_node")) filepath = self.staging_dir.format( - product={"name": product_name} + product={"name": product_name}, + ext=self.ext ) parms = { 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 1b631f36ac..4232da632c 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 @@ -12,7 +12,7 @@ class CreateMantraROP(plugin.HoudiniCreator): product_type = "mantra_rop" icon = "magic" render_staging_dir = "$HIP/ayon/{product[name]}/render/{product[name]}.$F4.{ext}" - ifd_dir = "$HIP/ayon/{product[name]}/ifd/{product[name]}.$F4.ifd" + ifd_dir = "$HIP/ayon/{product[name]}/ifd/{product[name]}.$F4.{ext}" # Default to split export and render jobs export_job = True @@ -50,7 +50,8 @@ class CreateMantraROP(plugin.HoudiniCreator): if pre_create_data.get("export_job"): ifd_filepath = self.ifd_dir.format( - product={"name": product_name} + product={"name": product_name}, + ext="ifd" ) parms["soho_outputmode"] = 1 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 b282a97843..e58ebe6eb4 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_pointcache.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_pointcache.py @@ -13,7 +13,8 @@ class CreatePointCache(plugin.HoudiniCreator): label = "PointCache (Abc)" product_type = "pointcache" icon = "gears" - staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.abc" + ext = "abc" + staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.{ext}" def create(self, product_name, instance_data, pre_create_data): instance_data.pop("active", None) @@ -30,7 +31,8 @@ class CreatePointCache(plugin.HoudiniCreator): instance_node = hou.node(instance.get("instance_node")) filepath = self.staging_dir.format( - product={"name": product_name} + product={"name": product_name}, + ext=self.ext ) parms = { 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 2a0ae6bd17..457cb3d117 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,7 +11,8 @@ class CreateRedshiftProxy(plugin.HoudiniCreator): label = "Redshift Proxy" product_type = "redshiftproxy" icon = "magic" - staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.$F4.rs" + ext = "rs" + staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.$F4.{ext}" def create(self, product_name, instance_data, pre_create_data): @@ -39,6 +40,7 @@ class CreateRedshiftProxy(plugin.HoudiniCreator): filepath = self.staging_dir.format( product={"name": product_name}, + ext=self.ext ) parms = { 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 5913aa225f..f4f566e01d 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 @@ -15,7 +15,7 @@ class CreateRedshiftROP(plugin.HoudiniCreator): icon = "magic" ext = "exr" render_staging_dir = "$HIP/ayon/{product[name]}/render/{product[name]}.$AOV.$F4.{ext}" - rs_dir = "$HIP/ayon/{product[name]}/rs/{product[name]}.$F4.rs" + rs_dir = "$HIP/ayon/{product[name]}/rs/{product[name]}.$F4.{ext}" # Default to split export and render jobs split_render = True @@ -85,7 +85,8 @@ class CreateRedshiftROP(plugin.HoudiniCreator): parms["RS_renderCamera"] = camera or "" rs_filepath = self.rs_dir.format( - product={"name": product_name} + product={"name": product_name}, + ext="rs" ) parms["RS_archive_file"] = rs_filepath 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 be93939991..1f2a34b823 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_staticmesh.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_staticmesh.py @@ -15,7 +15,8 @@ class CreateStaticMesh(plugin.HoudiniCreator): icon = "fa5s.cubes" default_variants = ["Main"] - staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.fbx" + ext = "fbx" + staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.{ext}" def create(self, product_name, instance_data, pre_create_data): @@ -31,7 +32,8 @@ class CreateStaticMesh(plugin.HoudiniCreator): # prepare parms filepath = self.staging_dir.format( - product={"name": product_name} + product={"name": product_name}, + ext=self.ext ) parms = { 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 a78d8fb78c..955d1d0e43 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_usd.py +++ b/client/ayon_core/hosts/houdini/plugins/create/create_usd.py @@ -13,7 +13,8 @@ class CreateUSD(plugin.HoudiniCreator): product_type = "usd" icon = "gears" enabled = False - staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.usd" + ext = "usd" + staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.{ext}" def create(self, product_name, instance_data, pre_create_data): @@ -28,7 +29,8 @@ class CreateUSD(plugin.HoudiniCreator): instance_node = hou.node(instance.get("instance_node")) filepath = self.staging_dir.format( - product={"name": product_name} + product={"name": product_name}, + ext=self.ext ) parms = { 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 91d83e4979..df1c11a409 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,7 +14,8 @@ class CreateVDBCache(plugin.HoudiniCreator): label = "VDB Cache" product_type = "vdbcache" icon = "cloud" - staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.$F4.vdb" + ext = "vdb" + staging_dir = "$HIP/ayon/{product[name]}/{product[name]}.$F4.{ext}" def create(self, product_name, instance_data, pre_create_data): import hou @@ -32,7 +33,8 @@ class CreateVDBCache(plugin.HoudiniCreator): instance_node = hou.node(instance.get("instance_node")) filepath = self.staging_dir.format( - product={"name": product_name} + product={"name": product_name}, + ext=self.ext ) parms = { 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 b5800f8eea..2d0f960a80 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 @@ -16,7 +16,7 @@ class CreateVrayROP(plugin.HoudiniCreator): icon = "magic" ext = "exr" render_staging_dir = "$HIP/ayon/{product[name]}/render/{product[name]}.$AOV.$F4.{ext}", - vrscene_dir = "$HIP/ayon/{product[name]}/vrscene/{product[name]}.$F4.vrscene" + vrscene_dir = "$HIP/ayon/{product[name]}/vrscene/{product[name]}.$F4.{ext}" # Default to split export and render jobs export_job = True @@ -60,7 +60,8 @@ class CreateVrayROP(plugin.HoudiniCreator): if pre_create_data.get("export_job"): scene_filepath = self.vrscene_dir.format( - product={"name": product_name} + product={"name": product_name}, + ext="vrscene" ) # Setting render_export_mode to "2" because that's for # "Export only" ("1" is for "Export & Render") diff --git a/server_addon/houdini/server/settings/create.py b/server_addon/houdini/server/settings/create.py index 5318935d55..03a3774969 100644 --- a/server_addon/houdini/server/settings/create.py +++ b/server_addon/houdini/server/settings/create.py @@ -148,7 +148,7 @@ DEFAULT_HOUDINI_CREATE_SETTINGS = { "CreateAlembicCamera": { "enabled": True, "default_variants": ["Main"], - "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.abc" + "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.{ext}" }, "CreateArnoldAss": { "enabled": True, @@ -176,24 +176,24 @@ DEFAULT_HOUDINI_CREATE_SETTINGS = { "enabled": True, "default_variants": ["Main"], "render_staging_dir": "$HIP/ayon/{product[name]}/render/{product[name]}.$F4.{ext}", - "checkpoint_dir": "$HIP/ayon/{product[name]}/checkpoint/{product[name]}.$F4.checkpoint", + "checkpoint_dir": "$HIP/ayon/{product[name]}/checkpoint/{product[name]}.$F4.{ext}", "usd_dir": "$HIP/ayon/{product[name]}/usd/{product[name]}_$RENDERID" }, "CreateMantraIFD": { "enabled": True, "default_variants": ["Main"], - "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.$F4.ifd" + "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.$F4.{ext}" }, "CreateMantraROP": { "enabled": True, "default_variants": ["Main"], "render_staging_dir": "$HIP/ayon/{product[name]}/render/{product[name]}.$F4.{ext}", - "ifd_dir": "$HIP/ayon/{product[name]}/ifd/{product[name]}.$F4.ifd" + "ifd_dir": "$HIP/ayon/{product[name]}/ifd/{product[name]}.$F4.{ext}" }, "CreatePointCache": { "enabled": True, "default_variants": ["Main"], - "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.abc" + "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.{ext}" }, "CreateBGEO": { "enabled": True, @@ -203,13 +203,13 @@ DEFAULT_HOUDINI_CREATE_SETTINGS = { "CreateRedshiftProxy": { "enabled": True, "default_variants": ["Main"], - "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.$F4.rs" + "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.$F4.{ext}" }, "CreateRedshiftROP": { "enabled": True, "default_variants": ["Main"], "render_staging_dir": "$HIP/ayon/{product[name]}/render/{product[name]}.$AOV.$F4.{ext}", - "rs_dir": "$HIP/ayon/{product[name]}/rs/{product[name]}.$F4.rs" + "rs_dir": "$HIP/ayon/{product[name]}/rs/{product[name]}.$F4.{ext}" }, "CreateReview": { "enabled": True, @@ -228,12 +228,12 @@ DEFAULT_HOUDINI_CREATE_SETTINGS = { "USP", "UCX" ], - "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.fbx" + "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.{ext}" }, "CreateUSD": { "enabled": False, "default_variants": ["Main"], - "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.usd" + "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.{ext}" }, "CreateUSDRender": { "enabled": False, @@ -243,12 +243,12 @@ DEFAULT_HOUDINI_CREATE_SETTINGS = { "CreateVDBCache": { "enabled": True, "default_variants": ["Main"], - "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.$F4.vdb" + "staging_dir": "$HIP/ayon/{product[name]}/{product[name]}.$F4.{ext}" }, "CreateVrayROP": { "enabled": True, "default_variants": ["Main"], "render_staging_dir": "$HIP/ayon/{product[name]}/render/{product[name]}.$AOV.$F4.{ext}", - "vrscene_dir": "$HIP/ayon/{product[name]}/vrscene/{product[name]}.$F4.vrscene" + "vrscene_dir": "$HIP/ayon/{product[name]}/vrscene/{product[name]}.$F4.{ext}" }, }