Szymon Kapeniak


About Me

CG Supervisor


Recent Forum Posts

Cloth's slow speed March 23, 2018, 10:47 a.m.

That said, I am pretty sure Houdini's docs say that Houdini uses tets and tets exclusively for FEM - and I *think* I remember it also saying that a FEM cloth is being created by adding virtual thickness

We are talking about the same thing. Virtual thickness can be modeled by placing additional vertices (labeled ghosts as they don't collide) around triangles to form tets with them. The only controversy we have here is whether these tets are formed from the original mesh (thus following its density), as I speculate, or built upon some parameters as in case of Solid Object (as suggested by you afaik). I've not seen such possibility for cloth object, thus my confusion. I think we have to wait for SESI to answer this. Also birds say there is new solver coming, so our findings might quickly become obsolete.

Yes, Houdini uses tets solely, but general concept of FEM allows other elements too. You could model and simulate cloth from triangles or quads without any virtual thickness, but then you need a way to model 3rd dimension behavior of cloth material.

Cloth's slow speed March 23, 2018, 10:26 a.m.

I am not at a Houdini-fied system right now, but if I remember correctly: When you create a FEM object, the embedded tets get their own “node-thread” inside the mesh/geometry network (outside the DOP network), there is a parallel “render geometry” and a “FEM tets” thread after you created a FEM based simulation.

The “cloth” shelf tools are not “100% FEM” if I remember correctly. I asked SideFX about what simulation type 16.x is actually using for cloth, since the shelf-tool-cloth sims don't behave like PBD and don't behave like FEM. I think it actually is a kind of hybrid when you use those tools.


OK, I see now where this misunderstanding came from. I aware of embedding geometry in solid object, but afaik FEM cloth uses different schema in Houdini.

FEM itself doesn't imply any specific element type, as you may know. It can work on triangles, quads, tetra, cubes, but 2d element type doesn't allow you to model easily physical properties of a material (like bend).

I don't know what SESI solver is actually doing, but in a typical setup (used in papers and source codes I've seen) the way you model 3d behavior out of 2d object (approximating thin plate) is by placing so called ghost vertices around the mesh which form 3d element (tets or cubes) on top of it. You can even compute spring forces with PBD with such elements or do full FEM simulation. Hairs are usually modeled for sims this way (most probably in nCloth for example).

I assume Houdini does something along this line. Otherwise it would have to arbitrary re-discretize mesh - what apparently isn't happening(?) (thus this conversation leads us to the conclusion of the importance of the quality of initial mesh. Another subject is how this quality influences collision detection and false positive hits).

Interesting observation is that some solvers (marvelous) actually requires UV to exists on a mesh, and by enforcing elegant 2d space you're giving your solver a lot of understanding in how to treat deteriorated polygons, and how to repair the mesh for a sim…

I should probably leave this subject long time ago knowing someone who has actually written this awesome solver might stumble upon this thread… I'm now embarrassed.

Cloth's slow speed March 23, 2018, 9:36 a.m.

You can actually display the tets making up the simulated “blob” in Houdini.
Oh, this is interesting. I was suspecting it's intrinsic for a solver, as I've never seen it in the spreadsheet. There is ShellModelData DOP for setting properties of the shell (which I thought was created straight from provided polygons). Could you point me to the example on how to see tets for cloth objects? This must be totally useful for work.