Jump to content
Rival Consoles

Keeping displacement using rest pos

Recommended Posts

Hello all,

I have a simple question after trying hard and also looking into the web and SFX help cards with no success...

I have a simple quad mesh with unshared edges, then I connect that to a rest sop, pipe that into a bend sop for deformation and connect that to an attribute vop where I use an anti-alias noise to create displacement on the model. After the part is bent and with displacement applied, I would like to have it back to its original shape before the bend but keeping the displacement intact. I'm doing that as a way to have more control over the noise transformation.

Tried using a wrangle sop with @P = @rest; but "duh" enough.... the part comes back to the rest position and the displacement is gone. If I try that same procedure with Cd instead of displacement, it works.

Does anyone knows how to get the mesh back to its original shape after the deformation and displacement were applied to it?

@mestela mentioned this in his amazing cgwiki page, something like this:

Measure deformation

Can measure the distance between @P and rest with a wrangle like

@d = distance(@P, @rest);

And use that to colour the surface, or enable a displacement map to drive wrinkles, or push points along their normal to do hacky squash and stretch.

However, I don't have a clue on how to keep the displacement after the deformation and back to its original shape.

Any help is greatly appreciated.

Share this post


Link to post
Share on other sites

Hi,

one option -> point deform:

  • first input: deformed and displaced geometry
  • second input: deformed non displaced geometry
  • third input: rest geometry (rest node not necessary here)

Share this post


Link to post
Share on other sites

Hey Aizatulin,

 

Thanks for sharing some thoughts on this. I just found a solution, instead of creating the displacement on the first vop I created a noise Cd value and bind exported it. Then I pipe the Wrangle sop using @P  =@rest; After that I use the @Cd attribute to create a displacement in a new wrangle sop. Voi La, it is working perfectly. Thanks for chiming in!

 

Cheers

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×