mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
allows both meshes and groups for assexport
This commit is contained in:
parent
6d00f70337
commit
a72050e71c
2 changed files with 32 additions and 10 deletions
|
|
@ -23,22 +23,44 @@ class CollectArnoldSceneSource(pyblish.api.InstancePlugin):
|
||||||
continue
|
continue
|
||||||
if objset.endswith("content_SET"):
|
if objset.endswith("content_SET"):
|
||||||
members = cmds.ls(members, long=True)
|
members = cmds.ls(members, long=True)
|
||||||
|
members_list = []
|
||||||
|
for member in members:
|
||||||
|
shape = cmds.listRelatives(
|
||||||
|
member, shapes=True, fullPath=True)
|
||||||
|
if not shape:
|
||||||
|
continue
|
||||||
|
members_list = members + shape
|
||||||
|
group_name = "|{}".format(member)
|
||||||
|
if group_name in members_list:
|
||||||
|
members_list.remove(group_name)
|
||||||
|
|
||||||
children = get_all_children(members)
|
children = get_all_children(members)
|
||||||
|
|
||||||
|
if members_list:
|
||||||
|
children.extend(members_list)
|
||||||
instance.data["contentMembers"] = children
|
instance.data["contentMembers"] = children
|
||||||
# TODO: include another instance.data for content members
|
|
||||||
instance.data["contentMembersTransform"] = members
|
|
||||||
self.log.debug("content members: {}".format(children))
|
self.log.debug("content members: {}".format(children))
|
||||||
self.log.debug(
|
|
||||||
"content members transform : {}".format(members))
|
|
||||||
elif objset.endswith("proxy_SET"):
|
elif objset.endswith("proxy_SET"):
|
||||||
proxy_members = cmds.ls(members, long=True)
|
proxy_members = cmds.ls(members, long=True)
|
||||||
|
proxy_list = []
|
||||||
|
for proxy in proxy_members:
|
||||||
|
shape = cmds.listRelatives(
|
||||||
|
proxy, shapes=True, fullPath=True)
|
||||||
|
if not shape:
|
||||||
|
continue
|
||||||
|
proxy_list = proxy_members + shape
|
||||||
|
group_name = "|{}".format(proxy)
|
||||||
|
if group_name in proxy_list:
|
||||||
|
proxy_list.remove(group_name)
|
||||||
|
|
||||||
set_members = get_all_children(proxy_members)
|
set_members = get_all_children(proxy_members)
|
||||||
|
if proxy_list:
|
||||||
|
set_members.extend(proxy_list)
|
||||||
|
|
||||||
instance.data["proxy"] = set_members
|
instance.data["proxy"] = set_members
|
||||||
instance.data["proxyTransform"] = proxy_members
|
|
||||||
# TODO: include another instance.data for proxy
|
|
||||||
self.log.debug("proxy members: {}".format(set_members))
|
self.log.debug("proxy members: {}".format(set_members))
|
||||||
self.log.debug(
|
|
||||||
"proxy members transform: {}".format(proxy_members))
|
|
||||||
|
|
||||||
# Use camera in object set if present else default to render globals
|
# Use camera in object set if present else default to render globals
|
||||||
# camera.
|
# camera.
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ class ExtractArnoldSceneSource(publish.Extractor):
|
||||||
# TODO: dont use instance.data["contentMembers"]
|
# TODO: dont use instance.data["contentMembers"]
|
||||||
# but use the new instance.data["contentMemberTransforms"]
|
# but use the new instance.data["contentMemberTransforms"]
|
||||||
filenames, nodes_by_id = self._extract(
|
filenames, nodes_by_id = self._extract(
|
||||||
instance.data["contentMembersTransform"], attribute_data, kwargs
|
instance.data["contentMembers"], attribute_data, kwargs
|
||||||
)
|
)
|
||||||
|
|
||||||
if "representations" not in instance.data:
|
if "representations" not in instance.data:
|
||||||
|
|
@ -113,7 +113,7 @@ class ExtractArnoldSceneSource(publish.Extractor):
|
||||||
# TODO: dont use instance.data["proxy"]
|
# TODO: dont use instance.data["proxy"]
|
||||||
# but use the new instance.data["proxyTransforms"]
|
# but use the new instance.data["proxyTransforms"]
|
||||||
filenames, _ = self._extract(
|
filenames, _ = self._extract(
|
||||||
instance.data["proxyTransform"], attribute_data, kwargs
|
instance.data["proxy"], attribute_data, kwargs
|
||||||
)
|
)
|
||||||
|
|
||||||
representation = {
|
representation = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue