mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
Merge pull request #4761 from quadproduction/363-fix-studio-openpype-does-not-load-assets-linked-to-the-shot
thank you guys. this is great
This commit is contained in:
commit
d1b59c4aaa
3 changed files with 17 additions and 38 deletions
|
|
@ -1216,7 +1216,7 @@ def get_representations(
|
||||||
version_ids=version_ids,
|
version_ids=version_ids,
|
||||||
context_filters=context_filters,
|
context_filters=context_filters,
|
||||||
names_by_version_ids=names_by_version_ids,
|
names_by_version_ids=names_by_version_ids,
|
||||||
standard=True,
|
standard=standard,
|
||||||
archived=archived,
|
archived=archived,
|
||||||
fields=fields
|
fields=fields
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -234,26 +234,10 @@ class MayaPlaceholderLoadPlugin(PlaceholderPlugin, PlaceholderLoadMixin):
|
||||||
return self.get_load_plugin_options(options)
|
return self.get_load_plugin_options(options)
|
||||||
|
|
||||||
def cleanup_placeholder(self, placeholder, failed):
|
def cleanup_placeholder(self, placeholder, failed):
|
||||||
"""Hide placeholder, parent them to root
|
"""Hide placeholder, add them to placeholder set
|
||||||
add them to placeholder set and register placeholder's parent
|
|
||||||
to keep placeholder info available for future use
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
node = placeholder._scene_identifier
|
node = placeholder._scene_identifier
|
||||||
node_parent = placeholder.data["parent"]
|
|
||||||
if node_parent:
|
|
||||||
cmds.setAttr(node + ".parent", node_parent, type="string")
|
|
||||||
|
|
||||||
if cmds.getAttr(node + ".index") < 0:
|
|
||||||
cmds.setAttr(node + ".index", placeholder.data["index"])
|
|
||||||
|
|
||||||
holding_sets = cmds.listSets(object=node)
|
|
||||||
if holding_sets:
|
|
||||||
for set in holding_sets:
|
|
||||||
cmds.sets(node, remove=set)
|
|
||||||
|
|
||||||
if cmds.listRelatives(node, p=True):
|
|
||||||
node = cmds.parent(node, world=True)[0]
|
|
||||||
cmds.sets(node, addElement=PLACEHOLDER_SET)
|
cmds.sets(node, addElement=PLACEHOLDER_SET)
|
||||||
cmds.hide(node)
|
cmds.hide(node)
|
||||||
cmds.setAttr(node + ".hiddenInOutliner", True)
|
cmds.setAttr(node + ".hiddenInOutliner", True)
|
||||||
|
|
@ -286,8 +270,6 @@ class MayaPlaceholderLoadPlugin(PlaceholderPlugin, PlaceholderLoadMixin):
|
||||||
elif not cmds.sets(root, q=True):
|
elif not cmds.sets(root, q=True):
|
||||||
return
|
return
|
||||||
|
|
||||||
if placeholder.data["parent"]:
|
|
||||||
cmds.parent(nodes_to_parent, placeholder.data["parent"])
|
|
||||||
# Move loaded nodes to correct index in outliner hierarchy
|
# Move loaded nodes to correct index in outliner hierarchy
|
||||||
placeholder_form = cmds.xform(
|
placeholder_form = cmds.xform(
|
||||||
placeholder.scene_identifier,
|
placeholder.scene_identifier,
|
||||||
|
|
|
||||||
|
|
@ -158,7 +158,7 @@ class AbstractTemplateBuilder(object):
|
||||||
def linked_asset_docs(self):
|
def linked_asset_docs(self):
|
||||||
if self._linked_asset_docs is None:
|
if self._linked_asset_docs is None:
|
||||||
self._linked_asset_docs = get_linked_assets(
|
self._linked_asset_docs = get_linked_assets(
|
||||||
self.current_asset_doc
|
self.project_name, self.current_asset_doc
|
||||||
)
|
)
|
||||||
return self._linked_asset_docs
|
return self._linked_asset_docs
|
||||||
|
|
||||||
|
|
@ -1151,13 +1151,10 @@ class PlaceholderItem(object):
|
||||||
return self._log
|
return self._log
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
name = None
|
return "< {} {} >".format(
|
||||||
if hasattr("name", self):
|
self.__class__.__name__,
|
||||||
name = self.name
|
self._scene_identifier
|
||||||
if hasattr("_scene_identifier ", self):
|
)
|
||||||
name = self._scene_identifier
|
|
||||||
|
|
||||||
return "< {} {} >".format(self.__class__.__name__, name)
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def order(self):
|
def order(self):
|
||||||
|
|
@ -1419,16 +1416,7 @@ class PlaceholderLoadMixin(object):
|
||||||
"family": [placeholder.data["family"]]
|
"family": [placeholder.data["family"]]
|
||||||
}
|
}
|
||||||
|
|
||||||
elif builder_type != "linked_asset":
|
elif builder_type == "linked_asset":
|
||||||
context_filters = {
|
|
||||||
"asset": [re.compile(placeholder.data["asset"])],
|
|
||||||
"subset": [re.compile(placeholder.data["subset"])],
|
|
||||||
"hierarchy": [re.compile(placeholder.data["hierarchy"])],
|
|
||||||
"representation": [placeholder.data["representation"]],
|
|
||||||
"family": [placeholder.data["family"]]
|
|
||||||
}
|
|
||||||
|
|
||||||
else:
|
|
||||||
asset_regex = re.compile(placeholder.data["asset"])
|
asset_regex = re.compile(placeholder.data["asset"])
|
||||||
linked_asset_names = []
|
linked_asset_names = []
|
||||||
for asset_doc in linked_asset_docs:
|
for asset_doc in linked_asset_docs:
|
||||||
|
|
@ -1444,6 +1432,15 @@ class PlaceholderLoadMixin(object):
|
||||||
"family": [placeholder.data["family"]],
|
"family": [placeholder.data["family"]],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else:
|
||||||
|
context_filters = {
|
||||||
|
"asset": [re.compile(placeholder.data["asset"])],
|
||||||
|
"subset": [re.compile(placeholder.data["subset"])],
|
||||||
|
"hierarchy": [re.compile(placeholder.data["hierarchy"])],
|
||||||
|
"representation": [placeholder.data["representation"]],
|
||||||
|
"family": [placeholder.data["family"]]
|
||||||
|
}
|
||||||
|
|
||||||
return list(get_representations(
|
return list(get_representations(
|
||||||
project_name,
|
project_name,
|
||||||
context_filters=context_filters
|
context_filters=context_filters
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue