Large scale modeling in Houdini

   19663   12   4
User Avatar
Member
12510 posts
Joined: July 2005
Offline
(The original post, now in this fresh new thread)

I think while Houdini and Mantra are fully capable of managing and rendering architecture, there is a sore spot when it comes down to modeling. Oftentimes geometry imported from architectural software, which can often be very badly constructed geometry gleaned from atuotraces of floorplans and such, the resultant geometry you are left with is often very bad. Take a city model, for instance, how do you want to handle it? All the geometry in one object? Or hundreds/thousands of seperate objects (each a building or connected mesh)?

There may be dozens of objects which have reversed faces. There is no good way to select 50 objects and Reverse SOP them all. Or divide, or any modeling operation. Keeping them in one object would be incredibly slow - reversing faces would have to build the entire geometry again and when you're talking about 600k polys - ouch. Even hitting “u” and “I” to pop into SOPs to model on something causes a huge slowdown since the network pane cant really handle large numbers of nodes efficiently and the context change and take 3-4 seconds. I really believe SESI would benefit from changing this paradigm a little and allowing modeling operations across multiple selected objects. It needs to be done in todays age of bring Houdini into the general (not-only-effects) market. Right now it's not really viable to model on large scale scenes in Houdini. Its perfect for building up scenes from scratch, but attempt to fix and refine a large dataset and you'll be better off doing this step elsewhere for now.
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
12510 posts
Joined: July 2005
Offline
So how do we go about this in the future? To perform modeling operations we need to have the SOPs list, and currently these stricty appear when under the SOPs context. If I wanted to reverse the polys on 50 objects, would I be required to descend into Objects or should there be a SOP list nested under the Objects context menu?

Think of a Divide, Reverse or Clip operation. How would you like to invoke them?

Would these operations have to be explicitly made into Object level operations or is there a way to have a general multi-object SOP mechanism. Just say you write your own VEX SOP - I think it should be general enough to support all SOPs.


PS. The object viewport Morph Tool; for some reason I swore it used to work across multiple objects.. am I wrong? Or just prematurely senile?
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
711 posts
Joined: July 2005
Offline
Well, I haven't run into this myself, because I haven't worked with any big data-sets really, but how about just a simple ‘Perform SOP Operation’ at the object level? Tab>Perform SOP Operation, select all the faces across multiple objects you want to reverse/facet/delete/whatever and the SOP will automatically be appended to the display SOP in each object.
User Avatar
Member
12510 posts
Joined: July 2005
Offline
DaJuice
Well, I haven't run into this myself, because I haven't worked with any big data-sets really, but how about just a simple ‘Perform SOP Operation’ at the object level?

Yep - that could be useful indeed - it's just how to edit the parameters and handles of the whole en-masse that is the issue to me. Perhaps the SESI guys have had some good ideas about this?
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
398 posts
Joined: July 2005
Offline
It seems to me that there is no need to change the paradigm, you can do it the same as you could act “simultaneously” changing some parameter for a number of selected objects/operators…
For example: we've got a scene with several objects: obj1, obj2, obj3. We dig into the guts of obj1, turn on “See one/all objects” (“e” or “shift-e”) and, selecting a piece of geometry that doesn't belong to obj1, apply Edit SOP. What do we get in result? Edit SOP is being created in another object (let it be obj2). All seems nice, but in order to change the parameters of this Edit SOP we need either automatically or manually jump into obj2. Another problem is that if we choose 2 vertices of the anticipating objects (obj1 vs obj2), and apply Fuse SOP - what will happen? You'll get a warning “The selected geometry parts are located in different objects. Take the ‘conflicting’ geometry into another object?” in case you try to apply Fuse SOP (or something like that) for the pieces of geometry, located in different objects.
Maybe this idea make sense?
f = conserve . diffuse . advect . add

fx td @ the mill
User Avatar
Member
2199 posts
Joined: July 2005
Online
It's definately a problem. But I agree in order for the modelling side of Houdini to reach the next level it needs to be addressed. As you know we use Houdini for modelling and we deal with very large data sets - especially one particular one, the human body, not very dissimiliar from a city model. I posted several times about adding the ability to add/modify sops across multiple objects and never got any replies - so I definetly interested in solving this one.

Maybe here is a way to deal with it:

Adding the same sop to multiple objects could be done as you say - select your objects and invoke a special menu that lets you pick sops rather than object operators. The selected node would be added to the bottom of each sop network.
In the case of using sub mesh selections like picking points I would think it should default to use the selection on each object as the selection for the sop in that object. So for two objects with 10 points each if you select 0-5 on obj1 and 10-30 on obj2 then obj1 gets a sop with the group field 0-5 and obj2 gets a sop with the group field 10-30. So no cross object merging is created. This would work in a lot of cases I think. If you want to combine two or more models you would just do what you do now, or perhaps there could be an object level operation to merge selected objects into a new object, this would undisplay the merged components and display the new merged object.

Then to work with the created sops: at object level each object has an extra tab that displays the parameters for the current sop node inside each object. If these nodes have common parameters they could then be modified just as you can with objects by selecting multiple objects at the same time and changing all the parameters together.

If multiple handles are required it could be similar to what happens at object level, you have an option to use one handle for all or individual handles one for each object.
The trick is finding just the right hammer for every screw
User Avatar
Member
405 posts
Joined: July 2005
Offline
Hey Guys,

You mentioned cleaning up models I have always thought that Houdini needs a quad SOP that converts the topology of a polygon model from triangles into quads on the mesh. They do have this function in several other packages and this tool is great for cleaning up scanned in geometery but it would also be great when Houdini converts your quad object into triangles during say a cookie operation. Last time I checked Houdini did not have this kind of tool so please correct me if I am wrong. This would be a great tool. Another great tool that falls into the modeling shading category is the fact that you can not bake displacement maps on poly/subd surfaces and only on NURBS. I do think this is a problem since every 3D package I can think of allows you to do this. Just some ideas of some modeling features that would be really powerful and seem to be missing.

Cheers,
Nate Nesler
User Avatar
Member
648 posts
Joined: July 2005
Offline
jason_iversen
So how do we go about this in the future? To perform modeling operations we need to have the SOPs list, and currently these stricty appear when under the SOPs context. If I wanted to reverse the polys on 50 objects, would I be required to descend into Objects or should there be a SOP list nested under the Objects context menu?

Think of a Divide, Reverse or Clip operation. How would you like to invoke them?

can this be scripted?
even if all objects could be edited at once
I'd still prefer to do any batch modifying
with a line or two of script.

-cpb
User Avatar
Member
12510 posts
Joined: July 2005
Offline
cpb
can this be scripted?
even if all objects could be edited at once
I'd still prefer to do any batch modifying
with a line or two of script.

For sure some of the simple non-interactive SOPs could be scripted out. In fact, I have a Tcl/Tk script thing that does allow me to do a lot of these operations. But should it be scripted? IMHO, definately not - not for such simple tasks. Scripting should be reserved for tricky things, not the basics.

I just believe its a total necessity to improve the Houdini's modeling tools and I'm sure it could be done in a very general way that would allow it to improve all workflow when dealing with hundreds of objects. Take the fact that Parameters support multiple selections now. I used to be a little worried that I would mess things up often because Houdini is always so “ont thing at a time”, but when I work with larger scenes it is incredibly useful. As dynamics and characters enter the Houdini world, we're dealing with sooo many more seperate objects than usual.

My two cents,
Jason
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
175 posts
Joined: July 2005
Offline
Do you mean viewport displacement Nate? Not every app has it then XSI supports it onle via some addon, it's not built in.
But the quadrangulate would be extremely useful, as well as many other non existent modelling tools. They should also improve some tools like polyextrude and polyslice, and the speed of subdivide and…I just fell harder onto the modelling surface and try to keep on my feet, sometimes it is totally unpleasant.
Maybe SESI could make something like a “poly model SOP” which would contain all of the small SOPS for polymodeling (plus some hot stuff) but treat it not so procedurally, so that we could do some “box modelling” not caring about all the structure inside. I mean to model normally and fast. I don't know all of the tools yet but when you make a model with many polyslices, extrudes, dissolves and edits (changing the topology all the time) the procedural power becomes a drawback.
But on the other hand every software has it's own little annoyances and disadvantages with which we are force to cope. As far as they are so small that implementing them should not be a problem (like quadrangulate) I just don't understand why they are not there.



Peter
User Avatar
Member
405 posts
Joined: July 2005
Offline
Hey Peter,

Well actually you can lock a node high up in the chain and then right click that node to select all the nodes below that node in the chain and then delete them which gets rid of the procedural chain of nodes. Also they do have a poly list of operators when you hit tab. No I don't mean in the viewport like XSI's NVDIA's Shader Library API. Houdini uses OpenGL and in the next version they will support OpenGL 2. So thats not really an issue for Houdini in hte near future. No what I mean is you can not bake out/ render out displacement maps for Polygons/Subdivision surfaces in Houdini, but you can bake out render out displacement maps for NURBS only. Its frustrating since alot of people use polys. I agree that the subdivide would be nice if it was sped up, but also the extrude tool would be great to be modified to do the X subdivides and other s shapes that XSI allows. They are the only ones that do it. I don't think that XSI is any faster to model with. It has its pluses and minuses. If you want real speed I would recommend for poly/subd only SILO at http://www.nevercenter.com/ [nevercenter.com] I would also recommend to not just model in SILO but combine SILO modeled parts for when you need speed and then import them into Houdini and use Houdini' procedural system to go the next step. This program is only $109 and it is so fast. We speed model tested the program up to 50 booleans straight without one hangup and the program never slowed down. Which is remarkable when you are talking about booleans and complex objects. They only have SILO for Windows right now but they are suppose to release a linux version soon. Again I would use this in conjunction with Houdini and not by itself for modeling.

Cheers,
Nate Nesler
User Avatar
Member
127 posts
Joined: July 2005
Offline
Well it's been around 4.5 years since this thread and I can still not select 10 objects and move some of their points up a bit. I think Jason's point is still very valid so I thought I'd push this thread to the top of the stack again. This is a fundamental issue that is not fixed by shelf tools that sneak around this by merging the objects into one geo node.

Thank you,
Fabian
User Avatar
Member
277 posts
Joined: July 2006
Offline
I think, that it is really one of the most important topics here.
Somebody has applied RFE?
  • Quick Links