From cf29a532d2ace421651d39e2104c03014b9a8aff Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Tue, 2 Jan 2024 22:51:51 +0800 Subject: [PATCH] make sure the texture only loaded when the texture is being enabled --- openpype/hosts/maya/api/lib.py | 12 ++++++------ .../settings/defaults/project_settings/maya.json | 2 +- .../projects_schema/schemas/schema_maya_capture.json | 8 ++++---- .../maya/server/settings/publish_playblast.py | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/openpype/hosts/maya/api/lib.py b/openpype/hosts/maya/api/lib.py index 1a8a80f224..6a0ccbdbfa 100644 --- a/openpype/hosts/maya/api/lib.py +++ b/openpype/hosts/maya/api/lib.py @@ -227,19 +227,19 @@ def render_capture_preset(preset): ) preset = copy.deepcopy(preset) # not supported by `capture` so we pop it off of the preset - reload_textures = preset["viewport_options"].pop("reloadTextures", True) + reload_textures = preset["viewport_options"].get("loadTextures") panel = preset.pop("panel") with ExitStack() as stack: stack.enter_context(maintained_time()) stack.enter_context(panel_camera(panel, preset["camera"])) stack.enter_context(viewport_default_options(panel, preset)) - if preset["viewport_options"].get("textures"): + if reload_textures: # Force immediate texture loading when to ensure # all textures have loaded before the playblast starts - stack.enter_context(material_loading_mode("immediate")) - if reload_textures: - # Regenerate all UDIM tiles previews - reload_all_udim_tile_previews() + stack.enter_context(material_loading_mode(mode="immediate")) + # Regenerate all UDIM tiles previews + reload_all_udim_tile_previews() + preset["viewport_options"].pop("loadTextures") path = capture.capture(log=self.log, **preset) return path diff --git a/openpype/settings/defaults/project_settings/maya.json b/openpype/settings/defaults/project_settings/maya.json index 1778530311..8136af8c73 100644 --- a/openpype/settings/defaults/project_settings/maya.json +++ b/openpype/settings/defaults/project_settings/maya.json @@ -1289,7 +1289,7 @@ "twoSidedLighting": true, "lineAAEnable": true, "multiSample": 8, - "reloadTextures": false, + "loadTextures": false, "useDefaultMaterial": false, "wireframeOnShaded": false, "xray": false, diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_capture.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_capture.json index 1aa5b3d2e4..76ad9a3ba2 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_capture.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_maya_capture.json @@ -238,8 +238,8 @@ }, { "type": "boolean", - "key": "reloadTextures", - "label": "Reload Textures" + "key": "loadTextures", + "label": "Load Textures" }, { "type": "boolean", @@ -915,8 +915,8 @@ }, { "type": "boolean", - "key": "reloadTextures", - "label": "Reload Textures", + "key": "loadTextures", + "label": "Load Textures", "default": false }, { diff --git a/server_addon/maya/server/settings/publish_playblast.py b/server_addon/maya/server/settings/publish_playblast.py index 205f0eb847..db92c80db7 100644 --- a/server_addon/maya/server/settings/publish_playblast.py +++ b/server_addon/maya/server/settings/publish_playblast.py @@ -108,7 +108,7 @@ class ViewportOptionsSetting(BaseSettingsModel): True, title="Enable Anti-Aliasing", section="Anti-Aliasing" ) multiSample: int = Field(8, title="Anti Aliasing Samples") - reloadTextures: bool = Field(False, title="Reload Textures") + loadTextures: bool = Field(False, title="Reload Textures") useDefaultMaterial: bool = Field(False, title="Use Default Material") wireframeOnShaded: bool = Field(False, title="Wireframe On Shaded") xray: bool = Field(False, title="X-Ray") @@ -303,7 +303,7 @@ DEFAULT_PLAYBLAST_SETTING = { "twoSidedLighting": True, "lineAAEnable": True, "multiSample": 8, - "reloadTextures": False, + "loadTextures": False, "useDefaultMaterial": False, "wireframeOnShaded": False, "xray": False,