mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-02 00:44:52 +01:00
Publish user defined attributes option.
This commit is contained in:
parent
f037074747
commit
eae25bbf0b
3 changed files with 20 additions and 2 deletions
|
|
@ -33,6 +33,7 @@ class CreatePointCache(plugin.Creator):
|
||||||
self.data["refresh"] = False # Default to suspend refresh.
|
self.data["refresh"] = False # Default to suspend refresh.
|
||||||
|
|
||||||
# Add options for custom attributes
|
# Add options for custom attributes
|
||||||
|
self.data["includeUserDefinedAttributes"] = True
|
||||||
self.data["attr"] = ""
|
self.data["attr"] = ""
|
||||||
self.data["attrPrefix"] = ""
|
self.data["attrPrefix"] = ""
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,3 +42,21 @@ class CollectPointcache(pyblish.api.InstancePlugin):
|
||||||
if proxy_set:
|
if proxy_set:
|
||||||
instance.remove(proxy_set)
|
instance.remove(proxy_set)
|
||||||
instance.data["setMembers"].remove(proxy_set)
|
instance.data["setMembers"].remove(proxy_set)
|
||||||
|
|
||||||
|
# Collect user defined attributes.
|
||||||
|
if not instance.data.get("includeUserDefinedAttributes", False):
|
||||||
|
return
|
||||||
|
|
||||||
|
all_nodes = (
|
||||||
|
instance.data["setMembers"] + instance.data.get("proxy", [])
|
||||||
|
)
|
||||||
|
user_defined_attributes = set()
|
||||||
|
for node in all_nodes:
|
||||||
|
attrs = cmds.listAttr(node, userDefined=True) or list()
|
||||||
|
shapes = cmds.listRelatives(node, shapes=True) or list()
|
||||||
|
for shape in shapes:
|
||||||
|
attrs.extend(cmds.listAttr(shape, userDefined=True) or list())
|
||||||
|
|
||||||
|
user_defined_attributes.update(attrs)
|
||||||
|
|
||||||
|
instance.data["userDefinedAttributes"] = list(user_defined_attributes)
|
||||||
|
|
|
||||||
|
|
@ -39,8 +39,7 @@ class ExtractAlembic(publish.Extractor):
|
||||||
start = float(instance.data.get("frameStartHandle", 1))
|
start = float(instance.data.get("frameStartHandle", 1))
|
||||||
end = float(instance.data.get("frameEndHandle", 1))
|
end = float(instance.data.get("frameEndHandle", 1))
|
||||||
|
|
||||||
attrs = instance.data.get("attr", "").split(";")
|
attrs = instance.data.get("userDefinedAttributes", [])
|
||||||
attrs = [value for value in attrs if value.strip()]
|
|
||||||
attrs += ["cbId"]
|
attrs += ["cbId"]
|
||||||
|
|
||||||
attr_prefixes = instance.data.get("attrPrefix", "").split(";")
|
attr_prefixes = instance.data.get("attrPrefix", "").split(";")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue