Fluid Type Motion from Maya to Houdini!

   10570   9   0
User Avatar
Member
74 posts
Joined: March 2006
Offline
Hi All! I was wondering, trying to solve this task, on how to pass maya's fluid motion to Houdini. One thing i thought, but have not tryed yet to accomplish via particle generation and assigning locators to particle's centroid, then exporting those locators to houdini via text format, like Boujou sends it's tracking locators to Houdini. But i lack some mel knowledge, and not quite confident yet to start on solving this task. So my question is, would that really allow those exported locators in Houdini to assign particles to each locator and then use Metaballs as geomtery which constraints to particles in Houdini? I mean it may sound stupid, but i saw one of the tv commercial, where it stated that they did Clouds in Maya fluid simulation, then they exported that motion into Houdini, where they rendered, i guess with Renderman. Does it make any sence, not quite sure, maybe because of the speed issue, concerning Fluid simulation plus rendering times. Does anyone have any idea on how to solve this task, i am asking for theories, maybe workflow to share? Thanks, hope some of ya got the sence what i am talking about !
User Avatar
Member
31 posts
Joined:
Offline
You have two options:

convertFluidsToPoly command, then bake the generated polySurface frame by frame in OBJ, load it in Houdini.

Or - use the fluids as particleFields, then use a softbody or simple expression to attatch curve to your particles, then extrude the curve along Y axis ( the offset must be some big value - you need to make sure that all points created by the extrusion are far away from the original particles ). Export the generated polySurface in OBJ's.
Then load it in Houdini and apply a deleteSOP ( boundingBox option ) and position it so it deletes the set of points generated after the extrusion of the curve in Maya - in this way you will have your maya particles representing the fluid sim in Houdini.

Or write a script storing Maya points in .geo format - i wrote one simple .geo exporter long time ago, but dont use it anymore - the second approatch works really well for me.
User Avatar
Member
74 posts
Joined: March 2006
Offline
I've tryed first option, didn't quite work for me, i did import into Houdini, but didn't have any animation, even i had sequence of objects. Second option i think i will need to check that, i was worried about using animCurve on particles, cuz it may generate way too many curves, but i need to try this.
Thanks!
User Avatar
Member
31 posts
Joined:
Offline
Are you sure you are using padzero expression inside your fileSOP ?
I am asking because i know that it works for sure.

About the second approatch - i am not talking you about animCurves - i am talking you about nurbsCurve primitive. The regular way to “emit geometry” along with particles.
User Avatar
Member
74 posts
Joined: March 2006
Offline
Yeah that's what i meant is to create Nurbs Curve along particle motion and extrude the goemetry.
User Avatar
Member
35 posts
Joined: July 2005
Offline
hi peship, can you post a simple maya scene and a simple houdini scene with this worflow or screenshot cause im a bit confuse with the export part from maya using curve )
thx again!
User Avatar
Member
31 posts
Joined:
Offline
sure,

you have two options:

The first one is to export consistent point count from Maya to Houdini.
It requires little more work in Maya and in general is slower, but the exported data is mutch more usable later in Houdini.

open this file in Maya ( you will need 7.0 ): http://petershipkov.com/temp/mayaToHoudini_consistentPointCount.ma [petershipkov.com]
load the objExport plug-in, select the “extrude” node ( look in Outliner ) and then execute the next script in the scriptEditor:
http://petershipkov.com/temp/mayaToHoudini.mel [petershipkov.com]
note: in most cases you will edit the paths to where you want Maya to spit out the file sequence.
launch Houdini and open this scene: http://petershipkov.com/temp/mayaToHoudini.hipnc [petershipkov.com]
point the fileSOP to where you saved the stuff from Maya.

Here you can check the results:
http://petershipkov.com/temp/inMaya.mov [petershipkov.com]
http://petershipkov.com/temp/inHoudini.mov [petershipkov.com]

————————

The second option is to export inconsistend point count to Houdini, then you can make the process mutch easier ( and less usable later ). Check this file - all the geometry emission is handled by Maya ( which is faster and easier to set-up ):
http://petershipkov.com/temp/mayaToHoudini_inconsistentPointCount.ma [petershipkov.com]
again, select the “extrude” node and execute the same http://petershipkov.com/temp/mayaToHoudini.mel [petershipkov.com] script
done


The process can be fully automated. At least i did it in my previous studio.
User Avatar
Member
35 posts
Joined: July 2005
Offline
thank you very much i'will investigate your scene
ben. D
User Avatar
Member
523 posts
Joined: July 2005
Offline
Hello,


how did you make the particles follow the fluid sim in Maya? (like in the maya-movie)

Is there a mel script ?



thanks
User Avatar
Member
31 posts
Joined:
Offline
just use the fluidContainer as force field.
in fact, if the velocity method is set to dynamic/static grid, the fluidContainer acts as vector field for the rest of the dynamic elements in the scene ( if connected to it ).


There is and another way to export fluid motion:
create a point for each voxel cell, let the point read the properties of it's related voxel ( velocity, color, temperature, etc ), with a simple expressions or collect the data from all the points and dump it in a .clip format.
Build the same points in Houdini ( box or plane with the right amount of divisions ), then pipe the custom data exported from Maya to these points via CHOPs ) In this way you are basically recreating the fluids vector field in Houdini. The last step is attribute transfer the vector fields data to your particles.
This is very usefull approach, because the amount of IO data is very compact and most parts rely on Maya/Houdini ( faster and more reliable than custom coding ).
  • Quick Links