Hi all, i'm making a set of scripts, in mel and hscript, to export the poly geometry and groups from maya to houdini.
The great problem is to respect the hierarchy of objects and groups existing in maya and export this hierarchy to houdini.
Maya works all in objects space, i've reproduce the groups using subnets. My problem is how i can parent one subnet to another subnet contained in it, if i transform a subnet these transformations affects to the objects contained in the subnet, but not to the subnets contained in it., so the transformations can't be propagated along the tree of subnets …
Now i can reproduce the group hierarchy from maya to houdini using subnets, i create subnets into other subnets instead of parenting them in one level, so i can't propagate the transformations, but get a nicely organization of all the objects into several levels, the houdini's tree view seems like the maya's outliner, but there isn't parenting
I think that another way to do that is creating the tree of subnets in one level, and parenting properly recreating the tree of maya objects, the problem to this approach is that all the objects are created in one level so the organization is poor.
Any advices, thanks …
Grouping objects issues
4530 3 2- lisux
- Member
- 581 posts
- Joined: July 2005
- Offline
- Antoine Durr
- Member
- 321 posts
- Joined: July 2005
- Offline
lisuxFrom what I remember, Maya has transforms at many levels. The trickyness is that in Houdini, there's a *very* clear distinction between what's in object-space (your SOPs), and what's in world-space (your OBJects). This distinction is much blurrier in Maya, as a single cube, which has 6 faces, will have a parent container (part of which is a transform), and then 6 transforms, and then a single nurbs patch under each of those. So what's in world-space, and what's in object-space? Your call! Technically, though, only the leaf node geometries are (AFAIK) truly in object-space.
The great problem is to respect the hierarchy of objects and groups existing in maya and export this hierarchy to houdini.
Maya works all in objects space,
To bring something over to Houdini, you have to define for yourself where you make that break. On top of that, there's object-level parenting as well. So, it seems like the best replication is to have a bunch of parented OBJects, and have each of these OBJects contain a bunch of SOPs.
In the cube example above, I'd make cube OBJect, and inside it, have six nurbs patches, each followed by a transform SOP, finally followed by a merge SOP combining the six faces.
BTW, to replicate an OBJect hierarchy inside SOPs via transform SOPs, you have to reverse the order of the transforms.
– Antoine
- edward
- Member
- 7726 posts
- Joined: July 2005
- Online
Maya's object groups are more akin to object input/output hierarchy in Houdini. So your second idea is more correct. I think everything should be done via parenting (ie. input/outputs in objects) at the *same* level. Maya doesn't really have the same concept of subnets.
As for organization when they're all at the same level, a useful thing to do is to collapse parts of it that seem to go well together like entire rigs.
As for organization when they're all at the same level, a useful thing to do is to collapse parts of it that seem to go well together like entire rigs.
- lisux
- Member
- 581 posts
- Joined: July 2005
- Offline
Thanks for the answers.
First i made a mistake when i said that maya do all of their transformations in objects space, not, maya make the mayority of their transformations in world space, and parenting objects and groups in maya is like parenting objects in OBJ context.
The main problem is, as it said antoine, that maya don't separate the world and object context, it make a kind of mixture of both .
So my solution is to work in OBJ context, for every poly i found in maya i make a geo OBJ, for every group i make a subnet and wire a null object into the first input of the subnet, with this null object i can propagate the transformations, create all the objects in the maya group into the subnet and wire all with the first input, that is wired to the null object. So i have subnets thats works like the maya's groups.
The next is to create macros that can propagate actions along a subnets hierarchy, like applying shaders, a topic that is discused in another thread in this forum.
I think that another insteresting thing is that the display color can be chosed from the group list for a set ob objects, like the color layers in maya, and the posibility to select more than one object, using shift or ctrl keys, in the tree view like the maya's outliner.
Some things to improve …
First i made a mistake when i said that maya do all of their transformations in objects space, not, maya make the mayority of their transformations in world space, and parenting objects and groups in maya is like parenting objects in OBJ context.
The main problem is, as it said antoine, that maya don't separate the world and object context, it make a kind of mixture of both .
So my solution is to work in OBJ context, for every poly i found in maya i make a geo OBJ, for every group i make a subnet and wire a null object into the first input of the subnet, with this null object i can propagate the transformations, create all the objects in the maya group into the subnet and wire all with the first input, that is wired to the null object. So i have subnets thats works like the maya's groups.
The next is to create macros that can propagate actions along a subnets hierarchy, like applying shaders, a topic that is discused in another thread in this forum.
I think that another insteresting thing is that the display color can be chosed from the group list for a set ob objects, like the color layers in maya, and the posibility to select more than one object, using shift or ctrl keys, in the tree view like the maya's outliner.
Some things to improve …
Un saludo
Best Regards
Pablo Giménez
Best Regards
Pablo Giménez
-
- Quick Links