Fluid Type Motion from Maya to Houdini!
10837 9 0- xcomb
- 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 !
- peship
- 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.
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.
- xcomb
- 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!
Thanks!
- peship
- Member
- 31 posts
- Joined:
- Offline
- xcomb
- Member
- 74 posts
- Joined: March 2006
- Offline
- benco
- Member
- 35 posts
- Joined: July 2005
- Offline
- peship
- 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.
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.
- benco
- Member
- 35 posts
- Joined: July 2005
- Offline
- Bernard
- Member
- 523 posts
- Joined: July 2005
- Offline
- peship
- 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 ).
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