Lattice deforming animated geometry

   965   10   2
User Avatar
Member
467 posts
Joined: 3月 2014
Offline
When deforming animated geometry with a lattice in Houdini, the "bound cage" keeps adjusting its bounding box to the volume of what is being deformed.

This adjustment of te cage causes a deformation on top of the designed deformation of the adjusted lattice, which is not the desired nor expected behavior of a lattice deformer. For instance, when used in a cartoony eye rig with separate eyelids, the eye gets deformed when animating the eyelids.

I couldn't find anything in the manual or tutorials about this, so after a some experimenting I figured one can prevent this behavior by adding a "timeshift" or something similar to freeze the cage shape to frame 0 or 1.

But the downside to this is that the animated geometry is badly distorted when it's geometry is outside the lattice cage.

It seems currently the only way is to use a timeshift and set the "padding" of the the lattice cage manually big enough so no geometry is can get outside of the cage, but adjusting the padding also scales all the geometry inside the lattice, which seems like quite a backward workflow to me.

So I was wondering how the lattice deformer is supposed to be used with animated geometry in Houdini or if there's an alternative to the default lattice deformer in Houdini ?

I added a screencapture of the issue, where you can clearly see the cage changing size because the green one is animated, resulting in the red Torus being deformed while its static. And after freezing the cage at frame 0 with a Timeshift the animated Torus is badly distorted.


Screencapture of the issue [www.dropbox.com]
Edited by toonafish - 2024年7月9日 09:05:43
User Avatar
Member
449 posts
Joined: 11月 2016
Offline
You have the right idea with timeshift and increased padding. Adjusting the padding shouldn't scale the geometry inside the lattice, as long as you adjust it both for the Rest and Deformed Geometry inputs.

An alternative to the lattice is the Point Deform sop, which works in a similar way except each point on the "lattice" has an influence radius.
User Avatar
Member
467 posts
Joined: 3月 2014
Offline
Tanto
You have the right idea with timeshift and increased padding. Adjusting the padding shouldn't scale the geometry inside the lattice, as long as you adjust it both for the Rest and Deformed Geometry inputs.

An alternative to the lattice is the Point Deform sop, which works in a similar way except each point on the "lattice" has an influence radius.


Hey thanks, in this setup the same bound node is piped into the rest and deformed geo for the Lattice, I only add an Edit node to deformed it.

So the padding is adjusted for both and when I increase it, but then still all the geometry that is deformed by the lattice is scaled.

Bug ??
User Avatar
Member
449 posts
Joined: 11月 2016
Offline
Hard to say what's causing the problem in your setup without the hip file, but here's a quick example of it working as expected.

Attachments:
latticetest.hip (105.0 KB)

User Avatar
Member
467 posts
Joined: 3月 2014
Offline
Tanto
Hard to say what's causing the problem in your setup without the hip file, but here's a quick example of it working as expected.


Hey thanks, but I don't get it.

I use exactly the same setup as in your example. And when I adjust the Padding the sphere is scaled just like what happened before.

Maybe a different version ? I'm using 20.0.724.

Screencapture adjusting the padding in your example [www.dropbox.com]
User Avatar
Member
449 posts
Joined: 11月 2016
Offline
In the example you just uploaded, the sphere is not scaled. It's just getting further from the deformed part of the lattice, so it becomes less affected. Just make sure to adjust the padding before you make any edits to your lattice cage.
User Avatar
Member
467 posts
Joined: 3月 2014
Offline
Tanto
In the example you just uploaded, the sphere is not scaled. It's just getting further from the deformed part of the lattice, so it becomes less affected. Just make sure to adjust the padding before you make any edits to your lattice cage.

Ok, thanks for taking the time, but thats what I was afraid of because how do you know how much padding you need before deforming the lattice or if you need to adjust or even replace the geometry after deforming the lattice ?

And why complicate a basic lattice deformer so much that its even less "procedural" then any other 3d app. Houdini, a shiny Tesla body with the engine of a Trabant ;-)
User Avatar
Member
449 posts
Joined: 11月 2016
Offline
Not sure what you mean, your padding needs to be sufficient before you deform the lattice. How would it be any different in another 3d app?
User Avatar
Member
467 posts
Joined: 3月 2014
Offline
Tanto
Not sure what you mean, your padding needs to be sufficient before you deform the lattice. How would it be any different in another 3d app?


I've used lattices in Lightwave, Maya, Modo, XSI, Blender etc. , and in all of those no "padding" is needed. Just add a lattice, deform it and move on, all geo that's outside the bounding box, even when using Blendshapes or replacing the geometry, is handled by some kind of automatic "padding" I suppose.

So that's why I was kind of expecting a basic feature like this to work in a similar way or at least as good in Houdini, but it seems like the lattice deformer in Houdini has not been updated since the 90's
User Avatar
Member
449 posts
Joined: 11月 2016
Offline
The padding is just for your lattice to be large enough. You don't need it, you can use a subdivided cube if you want. As to what happens to the geometry that's outside your lattice, very possible that it's behaving differently from other software. Check out the Lattice sop in Points mode, or Point Deform sop if you need a different behavior.
User Avatar
Member
467 posts
Joined: 3月 2014
Offline
Tanto
The padding is just for your lattice to be large enough. You don't need it, you can use a subdivided cube if you want. As to what happens to the geometry that's outside your lattice, very possible that it's behaving differently from other software. Check out the Lattice sop in Points mode, or Point Deform sop if you need a different behavior.

Ah, great. I checked the Points mode before, but forgot about t because that seemed even more primitive.

But that seems to work a little better after some tweaking. It seems at least the shape of the Lattice is not adjusted in some models, so you don't have to use a huge lattice and lose precision.

Muchas gracias !!

Another thing I noticed while experimenting with the Lattice ins Houdini, is that when I use the Tweak mode of the Edit SOP, I can only use it once on a bound SOP .

When I deactivate the Edit SOP, select some other geo, play the animation, and then need to edit some more, the Tweak mode of he edit SOP is no longer responding. All I can do is delete and replace it, add another Edit SOP, or revert to oldskool, select, move, rinse and repeat or .

Is that just me ?
  • Quick Links