Jump to content

OBJ transform to SOP lvl


Recommended Posts

Here's my predicament: I've imported an .obj from Zb in order to make use of the precise rotation powered by the ladder feature for posing the geometry.

Now, at import back into Zb the geometry imports as it was exported: non-rotated. Which makes me think I should've rotated it at SOP lvl, although given the high poly count I don't think it would be very workable.

Is there a way to read and bake all those transformations from Obj level to an edit/transform node?

I didn't expect this at all because if I had rotated the Obj at scene lvl in XSI, the object would've exported transformed. For my general know-how, or more appropriate for this case "know-why", can someone elucidate this behavior in Houdini?

Edited by McNistor
Link to comment
Share on other sites

As far as I know, Obj format does not store any transforms at object level, there are point positions in global space and that's it. On Softimage - Maya - Houdini route, default up axis is same Y, result should be the same, as you already noticed. Most likely, zBrush did something according to its preferences or something else, these zBrush arbitrary changes are somehow traditional. Just for info another app with similar habits is Blender (because of Z up).

If adjusting zB preferences doesn't help, should be enough to use Transform SOP, that's relative cheap, all at once deformation. If Houdini is able to display the mesh, should be able to evaluate Transform SOP, too. 

  • Thanks 1
Link to comment
Share on other sites

I don't think there's much of a difference performance-wise between transforms at object versus sop level. So you might just copy the channels from your object to a transform sop and delete the ones at the object level.

Otherwise you can use an object merge in another object and set transform to "Into This Object".

  • Thanks 1
Link to comment
Share on other sites

Thanks guys. I did solve my problem as you @lugnut have suggested by copying values to a transform SOP.

@amm If .obj doesn't store transf at Obj level then it follows that XSI, for example, when it exports a piece of geometry, writes each point position relative to world origin, because it import well in Zb. Houdini exports geometry's point position relative to the object's local space. Or something. Hopefully, someone more knowledgeable will chime in on this to lift the veil.

Link to comment
Share on other sites

3 hours ago, McNistor said:

 

@amm If .obj doesn't store transf at Obj level then it follows that XSI, for example, when it exports a piece of geometry, writes each point position relative to world origin, because it import well in Zb.

Not all the time. If you're using exporter from file>export menu, then yes, positions are baked into global space before exporting, in case of obj file. In case of FBX, it writes both, global and local. Same with Maya.

However if you write something out using ICE Cache On File node, it's local position. If you take a Houdini File SOP as equivalent of ICE Cache On File node, it should be clear what happens. SOP VOP deformation, as well as ICE tree, is applied in local (object) space.

Link to comment
Share on other sites

12 minutes ago, McNistor said:

@amm Therefore, there's a need for a " file>export" option for .obj format (as I've said in another thread) that exports geometry with point position @ global, it seems. Isn't it?

Wouldn't hurt. By the way, does anyone have some experience with SideFX GoZ for Houdini.

Link to comment
Share on other sites

  • 1 year later...
3 hours ago, 6ril said:

Hi there,

anybody how to do the OPPOSITE ? the opposite of the Freeze button : Can I transfer the transforms from SOP level to Object level ?

well, why not just linking the coords with expressions (and disable the node)

Link to comment
Share on other sites

On 5/24/2019 at 11:45 AM, 6ril said:

I tried, couldn't get it to work.

Finally I discovered that there's a node for that : RIVET.

Couldn't get regular expression to work ?
you have two way to do that
- drag and drop parameters, an expression will be created
- right clic "copy parameter" and paste

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...