diff --git a/openpype/lib/abstract_load_template.py b/openpype/lib/abstract_load_template.py index dccd5c5c62f..ee4fae95c75 100644 --- a/openpype/lib/abstract_load_template.py +++ b/openpype/lib/abstract_load_template.py @@ -49,7 +49,8 @@ def template_path(self): project_settings = get_project_settings(project) current_dcc = avalon.io.Session["AVALON_APP"] current_task = avalon.io.Session["AVALON_TASK"] - profiles = project_settings[current_dcc]['workfile_build']['profiles'] + build_info = project_settings[current_dcc]['templated_workfile_build'] + profiles = build_info['profiles'] for profile in profiles: if current_task in profile['task_types']: diff --git a/openpype/settings/defaults/project_settings/maya.json b/openpype/settings/defaults/project_settings/maya.json index 58196037519..b1dcb6d95b0 100644 --- a/openpype/settings/defaults/project_settings/maya.json +++ b/openpype/settings/defaults/project_settings/maya.json @@ -593,7 +593,97 @@ "profiles": [ { "task_types": [], - "path": "C:\\path\\to\\template" + "tasks": [ + "Lighting" + ], + "current_context": [ + { + "subset_name_filters": [ + "\".+[Mm]ain\"" + ], + "families": [ + "model" + ], + "repre_names": [ + "abc", + "ma" + ], + "loaders": [ + "ReferenceLoader" + ] + }, + { + "subset_name_filters": [], + "families": [ + "animation", + "pointcache" + ], + "repre_names": [ + "abc" + ], + "loaders": [ + "ReferenceLoader" + ] + }, + { + "subset_name_filters": [], + "families": [ + "rendersetup" + ], + "repre_names": [ + "json" + ], + "loaders": [ + "RenderSetupLoader" + ] + }, + { + "subset_name_filters": [], + "families": [ + "camera" + ], + "repre_names": [ + "abc" + ], + "loaders": [ + "ReferenceLoader" + ] + } + ], + "linked_assets": [ + { + "subset_name_filters": [], + "families": [ + "sedress" + ], + "repre_names": [ + "ma" + ], + "loaders": [ + "ReferenceLoader" + ] + }, + { + "subset_name_filters": [], + "families": [ + "ArnoldStandin" + ], + "repre_names": [ + "ass" + ], + "loaders": [ + "assLoader" + ] + } + ] + } + ] + }, + "templated_workfile_build": { + "profiles": [ + { + "task_types": [], + "path": "path\\to\\template" } ] }, diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_maya.json b/openpype/settings/entities/schemas/projects_schema/schema_project_maya.json index cc70516c722..e9ccf4d6374 100644 --- a/openpype/settings/entities/schemas/projects_schema/schema_project_maya.json +++ b/openpype/settings/entities/schemas/projects_schema/schema_project_maya.json @@ -11,11 +11,11 @@ "label": "Extension Mapping", "use_label_wrap": true, "object_type": { - "type": "text" - } + "type": "text" + } }, { - "type": "dict", + "type": "dict", "collapsible": true, "checkbox_key": "enabled", "key": "maya-dirmap", @@ -67,9 +67,13 @@ "type": "schema", "name": "schema_workfile_build" }, + { + "type": "schema", + "name": "schema_templated_workfile_build" + }, { "type": "schema", "name": "schema_publish_gui_filter" } ] -} +} \ No newline at end of file diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_templated_workfile_build.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_templated_workfile_build.json new file mode 100644 index 00000000000..bca1fefe167 --- /dev/null +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_templated_workfile_build.json @@ -0,0 +1,28 @@ +{ + "type": "dict", + "collapsible": true, + "key": "templated_workfile_build", + "label": "Templated Workfile Build Settings", + "children": [ + { + "type": "list", + "key": "profiles", + "label": "Profiles", + "object_type": { + "type": "dict", + "children": [ + { + "key": "task_types", + "label": "Task types", + "type": "task-types-enum" + }, + { + "key": "path", + "label": "Path to template", + "type": "text" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_workfile_build.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_workfile_build.json index 46b212ddcc9..51098c9af60 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_workfile_build.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_workfile_build.json @@ -17,12 +17,86 @@ "type": "task-types-enum" }, { - "key": "path", - "label": "Path to template", - "type": "text" + "key": "tasks", + "label": "Task names", + "type": "list", + "object_type": "text" + }, + { + "type": "splitter" + }, + { + "key": "current_context", + "label": "Current Context", + "type": "list", + "highlight_content": true, + "object_type": { + "type": "dict", + "children": [ + { + "key": "subset_name_filters", + "label": "Subset name Filters", + "type": "list", + "object_type": "text" + }, + { + "key": "families", + "label": "Families", + "type": "list", + "object_type": "text" + }, + { + "key": "repre_names", + "label": "Repre Names", + "type": "list", + "object_type": "text" + }, + { + "key": "loaders", + "label": "Loaders", + "type": "list", + "object_type": "text" + } + ] + } + }, + { + "key": "linked_assets", + "label": "Linked Assets", + "type": "list", + "highlight_content": true, + "object_type": { + "type": "dict", + "children": [ + { + "key": "subset_name_filters", + "label": "Subset name Filters", + "type": "list", + "object_type": "text" + }, + { + "key": "families", + "label": "Families", + "type": "list", + "object_type": "text" + }, + { + "key": "repre_names", + "label": "Repre Names", + "type": "list", + "object_type": "text" + }, + { + "key": "loaders", + "label": "Loaders", + "type": "list", + "object_type": "text" + } + ] + } } ] } } ] -} +} \ No newline at end of file