mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 12:54:40 +01:00
implemented get_reference_node, improved referencing multiple files with similar filename
This commit is contained in:
parent
e52310e638
commit
a168dd644d
1 changed files with 11 additions and 10 deletions
|
|
@ -30,6 +30,8 @@ class LookLoader(api.Loader):
|
|||
|
||||
"""
|
||||
|
||||
reference_node = None
|
||||
|
||||
# improve readability of the namespace
|
||||
assetname = context["asset"]["name"]
|
||||
ns_assetname = "{}_".format(assetname)
|
||||
|
|
@ -37,23 +39,22 @@ class LookLoader(api.Loader):
|
|||
namespace = maya.unique_namespace(ns_assetname,
|
||||
format="%03d",
|
||||
suffix="_look")
|
||||
try:
|
||||
existing_reference = cmds.file(self.fname,
|
||||
query=True,
|
||||
referenceNode=True)
|
||||
except RuntimeError as e:
|
||||
if e.message.rstrip() != "Cannot find the scene file.":
|
||||
raise
|
||||
|
||||
self.log.info("Loading lookdev for the first time..")
|
||||
try:
|
||||
reference_node = lib.get_reference_node(self.fname)
|
||||
except:
|
||||
pass
|
||||
|
||||
if reference_node is None:
|
||||
self.log.info("Loading lookdev for the first time ...")
|
||||
with maya.maintained_selection():
|
||||
nodes = cmds.file(self.fname,
|
||||
namespace=namespace,
|
||||
reference=True,
|
||||
returnNewNodes=True)
|
||||
else:
|
||||
self.log.info("Reusing existing lookdev..")
|
||||
nodes = cmds.referenceQuery(existing_reference, nodes=True)
|
||||
self.log.info("Reusing existing lookdev ...")
|
||||
nodes = cmds.referenceQuery(reference_node, nodes=True)
|
||||
|
||||
# Assign shaders
|
||||
self.fname = self.fname.rsplit(".", 1)[0] + ".json"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue