Libor's comment on Container namespace issue and not support rotation

This commit is contained in:
Kayla Man 2023-08-25 21:29:34 +08:00
parent b490b2741f
commit 1a61eb0c3e
10 changed files with 29 additions and 28 deletions

View file

@ -407,6 +407,4 @@ def object_transform_set(container_children):
transform_set[name] = node.pos
name = f"{node.name}.scale"
transform_set[name] = node.scale
name = f"{node.name}.rotation"
transform_set[name] = node.rotation
return transform_set

View file

@ -22,6 +22,7 @@ class FbxLoader(load.LoaderPlugin):
order = -9
icon = "code-fork"
color = "white"
postfix = "param"
def load(self, context, name=None, namespace=None, data=None):
from pymxs import runtime as rt
@ -41,7 +42,8 @@ class FbxLoader(load.LoaderPlugin):
name + "_",
suffix="_",
)
container = rt.container(name=f"{namespace}:{name}")
container = rt.container(
name=f"{namespace}:{name}_{self.postfix}")
selections = rt.GetCurrentSelection()
import_custom_attribute_data(container, selections)
@ -60,7 +62,7 @@ class FbxLoader(load.LoaderPlugin):
node_name = container["instance_node"]
node = rt.getNodeByName(node_name)
namespace, name = get_namespace(node_name)
sub_node_name = f"{namespace}:{name}"
sub_node_name = f"{namespace}:{name}_{self.postfix}"
inst_container = rt.getNodeByName(sub_node_name)
rt.Select(inst_container.Children)
transform_data = object_transform_set(inst_container.Children)
@ -82,8 +84,6 @@ class FbxLoader(load.LoaderPlugin):
fbx_object.name = f"{namespace}:{fbx_object.name}"
fbx_object.pos = transform_data[
f"{fbx_object.name}.transform"]
fbx_object.rotation = transform_data[
f"{fbx_object.name}.rotation"]
fbx_object.scale = transform_data[
f"{fbx_object.name}.scale"]

View file

@ -24,6 +24,7 @@ class MaxSceneLoader(load.LoaderPlugin):
order = -8
icon = "code-fork"
color = "green"
postfix = "param"
def load(self, context, name=None, namespace=None, data=None):
from pymxs import runtime as rt
@ -41,7 +42,7 @@ class MaxSceneLoader(load.LoaderPlugin):
name + "_",
suffix="_",
)
container_name = f"{namespace}:{name}"
container_name = f"{namespace}:{name}_{self.postfix}"
container = rt.Container(name=container_name)
import_custom_attribute_data(container, max_objects)
max_container.append(container)
@ -60,7 +61,7 @@ class MaxSceneLoader(load.LoaderPlugin):
node = rt.getNodeByName(node_name)
namespace, name = get_namespace(node_name)
sub_container_name = f"{namespace}:{name}"
sub_container_name = f"{namespace}:{name}_{self.postfix}"
# delete the old container with attribute
# delete old duplicate
rt.Select(node.Children)
@ -82,8 +83,6 @@ class MaxSceneLoader(load.LoaderPlugin):
max_obj.name = f"{namespace}:{obj_name}"
max_obj.pos = transform_data[
f"{max_obj.name}.transform"]
max_obj.rotation = transform_data[
f"{max_obj.name}.rotation"]
max_obj.scale = transform_data[
f"{max_obj.name}.scale"]

View file

@ -20,6 +20,7 @@ class ModelAbcLoader(load.LoaderPlugin):
order = -10
icon = "code-fork"
color = "orange"
postfix = "param"
def load(self, context, name=None, namespace=None, data=None):
from pymxs import runtime as rt
@ -61,7 +62,7 @@ class ModelAbcLoader(load.LoaderPlugin):
for abc_object in abc_container.Children:
abc_object.name = f"{namespace}:{abc_object.name}"
# rename the abc container with namespace
abc_container_name = f"{namespace}:{name}"
abc_container_name = f"{namespace}:{name}_{self.postfix}"
abc_container.name = abc_container_name
return containerise(

View file

@ -21,6 +21,7 @@ class FbxModelLoader(load.LoaderPlugin):
order = -9
icon = "code-fork"
color = "white"
postfix = "param"
def load(self, context, name=None, namespace=None, data=None):
from pymxs import runtime as rt
@ -36,7 +37,8 @@ class FbxModelLoader(load.LoaderPlugin):
name + "_",
suffix="_",
)
container = rt.container(name=f"{namespace}:{name}")
container = rt.container(
name=f"{namespace}:{name}_{self.postfix}")
selections = rt.GetCurrentSelection()
import_custom_attribute_data(container, selections)
@ -55,7 +57,7 @@ class FbxModelLoader(load.LoaderPlugin):
node_name = container["instance_node"]
node = rt.getNodeByName(node_name)
namespace, name = get_namespace(node_name)
sub_node_name = f"{namespace}:{name}"
sub_node_name = f"{namespace}:{name}_{self.postfix}"
inst_container = rt.getNodeByName(sub_node_name)
rt.Select(inst_container.Children)
transform_data = object_transform_set(inst_container.Children)
@ -76,8 +78,6 @@ class FbxModelLoader(load.LoaderPlugin):
fbx_object.name = f"{namespace}:{fbx_object.name}"
fbx_object.pos = transform_data[
f"{fbx_object.name}.transform"]
fbx_object.rotation = transform_data[
f"{fbx_object.name}.rotation"]
fbx_object.scale = transform_data[
f"{fbx_object.name}.scale"]

View file

@ -24,6 +24,7 @@ class ObjLoader(load.LoaderPlugin):
order = -9
icon = "code-fork"
color = "white"
postfix = "param"
def load(self, context, name=None, namespace=None, data=None):
from pymxs import runtime as rt
@ -38,7 +39,7 @@ class ObjLoader(load.LoaderPlugin):
suffix="_",
)
# create "missing" container for obj import
container = rt.Container(name=f"{namespace}:{name}")
container = rt.Container(name=f"{namespace}:{name}_{self.postfix}")
selections = rt.GetCurrentSelection()
import_custom_attribute_data(container, selections)
# get current selection
@ -56,7 +57,7 @@ class ObjLoader(load.LoaderPlugin):
node_name = container["instance_node"]
node = rt.getNodeByName(node_name)
namespace, name = get_namespace(node_name)
sub_node_name = f"{namespace}:{name}"
sub_node_name = f"{namespace}:{name}_{self.postfix}"
inst_container = rt.getNodeByName(sub_node_name)
rt.Select(inst_container.Children)
transform_data = object_transform_set(inst_container.Children)
@ -73,8 +74,6 @@ class ObjLoader(load.LoaderPlugin):
selection.name = f"{namespace}:{selection.name}"
selection.pos = transform_data[
f"{selection.name}.transform"]
selection.rotation = transform_data[
f"{selection.name}.rotation"]
selection.scale = transform_data[
f"{selection.name}.scale"]
with maintained_selection():

View file

@ -23,6 +23,7 @@ class ModelUSDLoader(load.LoaderPlugin):
order = -10
icon = "code-fork"
color = "orange"
postfix = "param"
def load(self, context, name=None, namespace=None, data=None):
from pymxs import runtime as rt
@ -47,7 +48,7 @@ class ModelUSDLoader(load.LoaderPlugin):
for usd_asset in asset.Children:
usd_asset.name = f"{namespace}:{usd_asset.name}"
asset_name = f"{namespace}:{name}"
asset_name = f"{namespace}:{name}_{self.postfix}"
asset.name = asset_name
# need to get the correct container after renamed
asset = rt.GetNodeByName(asset_name)
@ -64,7 +65,7 @@ class ModelUSDLoader(load.LoaderPlugin):
node_name = container["instance_node"]
node = rt.GetNodeByName(node_name)
namespace, name = get_namespace(node_name)
sub_node_name = f"{namespace}:{name}"
sub_node_name = f"{namespace}:{name}_{self.postfix}"
transform_data = None
for n in node.Children:
rt.Select(n.Children)
@ -91,8 +92,6 @@ class ModelUSDLoader(load.LoaderPlugin):
children.name = f"{namespace}:{children.name}"
children.pos = transform_data[
f"{children.name}.transform"]
children.rotation = transform_data[
f"{children.name}.rotation"]
children.scale = transform_data[
f"{children.name}.scale"]

View file

@ -24,6 +24,7 @@ class AbcLoader(load.LoaderPlugin):
order = -10
icon = "code-fork"
color = "orange"
postfix = "param"
def load(self, context, name=None, namespace=None, data=None):
from pymxs import runtime as rt
@ -68,7 +69,7 @@ class AbcLoader(load.LoaderPlugin):
for abc_object in abc_container.Children:
abc_object.name = f"{namespace}:{abc_object.name}"
# rename the abc container with namespace
abc_container_name = f"{namespace}:{name}"
abc_container_name = f"{namespace}:{name}_{self.postfix}"
abc_container.name = abc_container_name
return containerise(

View file

@ -20,6 +20,7 @@ class PointCloudLoader(load.LoaderPlugin):
order = -8
icon = "code-fork"
color = "green"
postfix = "param"
def load(self, context, name=None, namespace=None, data=None):
"""load point cloud by tyCache"""
@ -33,7 +34,8 @@ class PointCloudLoader(load.LoaderPlugin):
name + "_",
suffix="_",
)
prt_container = rt.Container(name=f"{namespace}:{name}")
prt_container = rt.Container(
name=f"{namespace}:{name}_{self.postfix}")
import_custom_attribute_data(prt_container, [obj])
obj.Parent = prt_container
obj.name = f"{namespace}:{obj.name}"
@ -49,7 +51,7 @@ class PointCloudLoader(load.LoaderPlugin):
path = get_representation_path(representation)
node = rt.GetNodeByName(container["instance_node"])
namespace, name = get_namespace(container["instance_node"])
sub_node_name = f"{namespace}:{name}"
sub_node_name = f"{namespace}:{name}_{self.postfix}"
inst_container = rt.getNodeByName(sub_node_name)
update_custom_attribute_data(
inst_container, inst_container.Children)

View file

@ -25,6 +25,7 @@ class RedshiftProxyLoader(load.LoaderPlugin):
order = -9
icon = "code-fork"
color = "white"
postfix = "param"
def load(self, context, name=None, namespace=None, data=None):
from pymxs import runtime as rt
@ -41,7 +42,8 @@ class RedshiftProxyLoader(load.LoaderPlugin):
name + "_",
suffix="_",
)
container = rt.Container(name=f"{namespace}:{name}")
container = rt.Container(
name=f"{namespace}:{name}_{self.postfix}")
rs_proxy.Parent = container
rs_proxy.name = f"{namespace}:{rs_proxy.name}"
import_custom_attribute_data(container, [rs_proxy])
@ -55,7 +57,7 @@ class RedshiftProxyLoader(load.LoaderPlugin):
path = get_representation_path(representation)
namespace, name = get_namespace(container["instance_node"])
sub_node_name = f"{namespace}:{name}"
sub_node_name = f"{namespace}:{name}_{self.postfix}"
inst_container = rt.getNodeByName(sub_node_name)
update_custom_attribute_data(