Jump to content
Sign in to follow this  
PepperRules34

Maya Lattice Information to Houdini SOP

Recommended Posts

Hello!

Normally I always find the answers to any Houdini issue that comes into my way, but this time I decided to finally communicate my current issue! My first question ever in odforce hehe :D

So well... I'm doing my graduation film, and is about a shepherd that transforms sheep wool into clouds for doing rain! After some previous phase of research, we decided to give the wool a "cloudy" look, more than giving clouds a "wooly" look. So I'm using volumes to recreate the sheep wool! Thanks to various threads made by countless users here in odforce, I was able to:

 *Create interesting noise density values for the VDBs, hence giving a "wooly" look to the volume. I wanted "puffy" looking volumes, so I scattered particles in the sheep mesh, and created VDB out of them.

 *Transfer spatial transformation data from an alembic animated mesh to a volume, this way helping me to maintain the overall noise that will have otherwise been calculated at each frame if I moved the mesh I used for the VDB creation directly.                                                                                                                                                                                                                                                                                                                                                                                                                                                       

 *Deform the noised volume through a volume lattice technique by Juraj Tomori and Matt Estela (I'm enormously grateful for having shared their hip files!!! They saved my life). The volume will keep its noise while being deformed by box, itself deformed by an edit or a bend node.                                                                                                                                                                                                                                                                                                                                                                                                             

Up until now! Everything is going well! The only issue I have is.... How can I assign the point cache information of an animated lattice in Maya to a box with the same dimensions and subdivisions in Houdini? I thought that maybe an attribute transfer I could transfer the P data.. But I don't know if I need some vex to grab the position of every point in the lattice an assign them to a new matrix... I have no idea.. But knowing how to do this will be excelent! This way any lattice deformations the animators will do in Maya will be directly fetched to the box in Houdini!                                                                                                                                                                                                                                                                                                                                                                                               

Any ideas? :D

Edited by PepperRules34

Share this post


Link to post
Share on other sites
On 11/22/2017 at 4:23 AM, PepperRules34 said:

How can I assign the point cache information of an animated lattice in Maya to a box with the same dimensions and subdivisions in Houdini?

You should be able to use the same animated lattice piped into a pointdeform.- just unpack it and put a time freeze into the 'rest' socket.

Share this post


Link to post
Share on other sites

Thanks Marty!

During the week I tried different options, but the one you proposed is by far the best. Only problem I encountered is that I have no idea of how exporting lattices from Maya... I tried to look up, but up until now I have nothing has shown, unless I dive into python or mel which I have certainly no clue of how they function.

Do you know how to export these lattices? Or exporting free-form deformers data is just a thing that no software does?

Share this post


Link to post
Share on other sites

no idea about Maya lattice sorry. Maybe you can deform a box that is exactly the same as the lattice then export that, but no idea tbh.

  • Thanks 1
  • Haha 1

Share this post


Link to post
Share on other sites

(haha, just saw Marty's comment...which is exactly what I did !!! didn't mean to copy your idea Marty)

if you try to export the Lattice itself from Maya (as Alembic), it will say error 'unsupported'....coz it doesn't like the Lattice as not a 'real' geo.

So you simply get creative....you create a box, a REAL box with the dim/div of the lattice you intend to export. Then you create a Lattice to deform that box....Then you export the animated box as you proxy lattice.

Attached is an example, my MayaProxyLattice is really just an animated box (that was deformed with a real lattice in Maya)

MayaLattice.hipnc

MayaProxyLattice.abc

Edited by Noobini
  • Thanks 1

Share this post


Link to post
Share on other sites

I had to match animated Maya lattice in Houdini once in past. I don't have that file anymore so only from memory:

I did it as Marty suggested. I exported box lattice from Maya naively as a couple of poly boxes that matched lattice division and inner structure with the same lattice applied to them as Alembic. That way I got exactly same point deformation on multiple cubes that in wireframe looked exactly as Maya lattice gizmo.

Then I had to recreate Maya's lattice functionality in Houdini as the algorithm in Houdini is a bit different (e.g. no extrapolation, different smooth functions etc.). I did it with vex at the end. Today it's probably easier to do it in a Deform wrangle. I think it is a really old algorithm, like from 1986 or so, you should be able to find the paper online.

  • Thanks 1

Share this post


Link to post
Share on other sites

Thanks so much for taking time to answer guys!!

Noobini,

It is an excellent and very tricky idea! It's so simple yet so effective!! I will try this method right away with the volumes I need to deform! The only thing that made me a little bit fearful is that the exported abc box has no information from points in the interior of the lattice, since it is just a mesh... But then I reflected and said: "any deformation done by points in the interior of the lattice will be reflected in the mesh anyways"...  A thousand thanks! 

Pezetco,

Your method is really cool too, I would try to write some vex as you did to replicate this method. And if I consider myself as being capable of writing such a thing is because things have gotten a lot easier from 1986 days! It will be a good challenge:D 

Share this post


Link to post
Share on other sites

ahh ok, you want internal points as well...I suppose you could create 'planes' in all 3 axis, then combine them to represent the internals of a box, then that's your new proxyLattice....

Share this post


Link to post
Share on other sites

Noobini!

Thankyou once again!! The grids technique was the winner! I had to create a separate asset to create deforming planes out of an input animated mesh, this way I didn't have to reanimate the "lattice" myself to get the deformations on my volume. I'll upload a video

 

BulgeLattice_OnVo2_001.mov

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
Sign in to follow this  

×