New Object - or not?

   1935   6   3
User Avatar
Member
179 posts
Joined: Aug. 2018
Offline
New Object or not?

I'm an experienced 3D generalist, but have only been seriously learning Houdini over the last few months. While I'm getting reasonably comfortable with SOP level geometry work, there is one general issue I'm struggling with: When should I create a new object?

Most of my work is visualisation - mechanical objects, machines, vehicles etc. So, lets say I'm modelling and animating a car. The wheels need to rotate and turn in heading, the doors and boot/trunk all need to open and close etc. The car also needs to be animated driving along a road. Stopping at a light, Indicators need to flash, the car needs to turn the corner...

An object - in Houdini terms - could be anything from a wheel nut, to the complete car. How do I decide where those 'new object' points are in the overall hierarchy?

It's also worth saying that I am a solo/Indie user so I don't typically have to work in a way that fits within in a larger studio pipeline.

Reading the docs and other info I understand that Object level animation is more efficient in computational terms than SOP level 'deformation' animation - for both basic transformation and motion blur. So is preferred if possible.

Parenting is another major consideration for the type of work I do. Easy to do at the Object level, but it seems cumbersome at the SOP level (Kinefx? any other options?). On the other hand some animation tools I'd like to use, eg: Labs Simple Retime - for animation path 'speed control' - are only available at SOP level.

If I'm importing a external fbx through a file SOP - that file might easily comprise of hundreds of objects in the common sense of the word. How should I deal with that? I would likely want to parent many of those 'objects' but they would all import at SOP level.

Any insight on how to make this 'New object?' decision and any pros and cons for working at one level or another would be most appreciated.

With thanks
Edited by Mike_A - Sept. 24, 2022 18:12:56
User Avatar
Member
8539 posts
Joined: July 2007
Offline
I personally only create new object as a organizational unit sort of like a subnet but with the advantage of being an independent object

And a lot of times also just to object merge in some geometry from larger Sop network for rendering purposes to have an object that Mantra can see as a separate object for masking or matte/phantom/LPE, ...

I'd personally do a whole car in SOPs nowadays, since packed primitives are more efficient than objects, it doesn't even have to be KineFX as sequential transforms are kind of a hierarchical, but of course KineFX enables new kinds of control
SOP level also allows easy way to manage thousands of pieces either procedurally or easily running them through various dynamic solvers

I dont even remember last time I really needed to use Object level for animation or hierarchy management apart from workarounds for certain imports/exports
Edited by tamte - Sept. 25, 2022 00:00:35
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
331 posts
Joined: April 2018
Online
Different strokes, so I guess find the one you like the best. Personally, I like to keep components as separate objects, but then hide them, and Object Merge them into one master object, rather than actually working at object level.

That way, if I need to update a wheel design, I only have to deal with the wheel network, and also don't end up with a singular behemoth of a network.
User Avatar
Member
179 posts
Joined: Aug. 2018
Offline
Thanks guys. I appreciate the thoughts and info, and useful description of two different approaches. Clearly H is flexible enough to work in a wide variety of ways - so that's certainly a positive.

I appreciate Tomas's thoughts on transform nodes being hierarchical in a sense, but I'm still not sure on the best way to set up and manage parenting at SOP level. C4D (my other DCC) has a very obvious object based hierarchical / parenting approach. That can obviously be replicated at scene level in H, but the more freeform 'group of points' approach at SOP level really demands some different thinking. Nevertheless this thread has given me a few ideas to consider and try.
Edited by Mike_A - Sept. 27, 2022 15:19:02
User Avatar
Member
8539 posts
Joined: July 2007
Offline
Mike_A
but the more freeform 'group of points' approach at SOP level really demands some different thinking. Nevertheless this thread has given me a few ideas to consider and try.
Which KineFX adresses
KineFX is essentially hierarchy evaluation layer in SOPs
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
146 posts
Joined: Jan. 2016
Offline
Excuse me for hijacking the thread, but in case of Solaris being the rendering stage of a project, shouldn't we completely avoid /obj/geo and do the /stage/sopcreate for all the geo instead?
User Avatar
Member
248 posts
Joined: May 2017
Offline
ikoon, i tried to create and work with geo at stage level as you suggested, but it constantly writes/updates USD while doing even the simplest edits, which results in hiccups, so i abandoned that idea
your experience may vary
https://twitter.com/oossoonngg [twitter.com]
  • Quick Links