Jump to content
Vinz9

Exporting dynamic fracture object to maya, problem with changing point

Recommended Posts

Hi,

The new dynamic fracture objects are very cool, but since geometry is created during the solve, it causes some trouble when exporting, FBX creates one single object with a bunch of points stacked at (0 0 0) until the frames the sub objects are created where they jump into place, which is not good for motion blur.

I had a a quick try with rayfire in 3ds max which also does dynamic fracturing, but everything is baked during the sim and when you go back to frame 1, the object is already fractured in lots of pieces, but they are in place.

I guess it can be done with some scripting in Houdini, ie when new pieces are created, copy them, store their transform and so on, so that at the end of the sim everything can be inverted back in place.

Will probably have a go at this when I have some time and update this post, just wondering if some of you tried something similar.

Thanks,

Vincent

Share this post


Link to post
Share on other sites

Hi,

The new dynamic fracture objects are very cool, but since geometry is created during the solve, it causes some trouble when exporting, FBX creates one single object with a bunch of points stacked at (0 0 0) until the frames the sub objects are created where they jump into place, which is not good for motion blur.

I had a a quick try with rayfire in 3ds max which also does dynamic fracturing, but everything is baked during the sim and when you go back to frame 1, the object is already fractured in lots of pieces, but they are in place.

I guess it can be done with some scripting in Houdini, ie when new pieces are created, copy them, store their transform and so on, so that at the end of the sim everything can be inverted back in place.

Will probably have a go at this when I have some time and update this post, just wondering if some of you tried something similar.

Thanks,

Vincent

yeah, Houdini 11 Wishlist I asked something like this and some one pointed me in the right direction, you export your channel info to chops.

From there if you want you can write out a clip or channel file, then you can export it to maya to do some animation tweaks and bring it back as an fbx, and your dynamic simulation is a lovely key frame animation on one set of geometry no enormous cache of geo, you need a little python to help the process. You can do it all in Houdini too if you like.

Share this post


Link to post
Share on other sites

yeah, Houdini 11 Wishlist I asked something like this and some one pointed me in the right direction, you export your channel info to chops.

From there if you want you can write out a clip or channel file, then you can export it to maya to do some animation tweaks and bring it back as an fbx, and your dynamic simulation is a lovely key frame animation on one set of geometry no enormous cache of geo, you need a little python to help the process. You can do it all in Houdini too if you like.

Hi, thanks for the answer, but I knew about the dynamic chop, but with the voronoi dynamic fracture this gets a bit more complicated :

I have a cube which falls on the ground, until it hits the ground, I have only object and can get the transforms with the dynamic chop.

When it hits the ground, at frame 30 for example, it's automatically shattered in let's say 10 pieces which then roll on the ground, and so on.

With the dynamic chop I can get the curves for the 10 new objects only from frame 30, since they didn't exist before.

What I did by hand was extract the transform of the first box between frame 1 and 30 and drive my 10 pieces with that for the first 30 frames (and prior to that I inverted the transform they had at frame 30).

This works but it's not really practical that's why I was wondering if no one did a script which performs that. Will do my own when I find the time.

Vincent

Share this post


Link to post
Share on other sites

I realize this is an old thread, but did you ever come up with a script to solve this issue? I'm wrestling with the same thing now... I've got a dynamic fractured object, and trying to export to maya. The problem is that at the frame of impact, the pieces don't exist (they're created on the *next* frame) - but the pivot channels seem to contain data for the frame of impact, so that's the frame I need to export geo on.

mitch

Hi, thanks for the answer, but I knew about the dynamic chop, but with the voronoi dynamic fracture this gets a bit more complicated :

I have a cube which falls on the ground, until it hits the ground, I have only object and can get the transforms with the dynamic chop.

When it hits the ground, at frame 30 for example, it's automatically shattered in let's say 10 pieces which then roll on the ground, and so on.

With the dynamic chop I can get the curves for the 10 new objects only from frame 30, since they didn't exist before.

What I did by hand was extract the transform of the first box between frame 1 and 30 and drive my 10 pieces with that for the first 30 frames (and prior to that I inverted the transform they had at frame 30).

This works but it's not really practical that's why I was wondering if no one did a script which performs that. Will do my own when I find the time.

Vincent

Share this post


Link to post
Share on other sites

I realize this is an old thread, but did you ever come up with a script to solve this issue? I'm wrestling with the same thing now... I've got a dynamic fractured object, and trying to export to maya. The problem is that at the frame of impact, the pieces don't exist (they're created on the *next* frame) - but the pivot channels seem to contain data for the frame of impact, so that's the frame I need to export geo on.

mitch

Hi,

Nope, I hadn't much time to think about it so in the end I did it the old fashioned way : prefracture the geo and glue/constrain them until they break apart for the constant piece count. I still think it's doable with a script though ;) If you find the time to make one, it would be great if you share it!

Share this post


Link to post
Share on other sites

Here's a real stupid question.

Can Maya load geometry that has a radically changing topology over time like you have with dynamic fracturing?

Where is the real problem and then perhaps a better approach to getting dynamic fracture geometry over can be developed.

Share this post


Link to post
Share on other sites

maybe you can use Realflow plugins to

1. Export Mesh .BIN files of the dynamically shattering geometry, it's .BIN per frame so changing point count is not a problem

2. Import Mesh .BIN files to maya which should work just fine

I am not sure however if you need realflow license for doing such thing even though fully functional plugins are available with Realflow demo

Edited by anim

Share this post


Link to post
Share on other sites

I've just finished a job where I also struggled with this problem.

In the end I had to export my geo as an obj sequence and read them back into maya using a plugin.

Luckily I didn't need motion blur! (fracturing was happening in slow motion)

It was also very slow to read a new file each frame in maya, but at least it worked!

As far as I can tell Maya has big problems reading radically changing typology.

Sounds like the best solution would be the rayfire approach mentioned in a previous post...

basically you need to eliminate the "changing point count factor" through some sort of baking process.

It's an awesome tools, just needs that one last step.

anim: great suggestion... Hadn't thought to try that! Would the bin file store velocity correctly and would maya/vray render the motion blur?

Would love to know if anyone has had any success with this!

Cheers

Pav

Edited by pgrochola

Share this post


Link to post
Share on other sites

Anyone have any luck with this?

I just exported a .bgeo sequence from Houdini to Maya (reading it in via BgeoReader plugin). I can't compute motion vectors :(

I'd like to try the baking technique, so I can get a sequence with the final (maximum) amount of pieces for the entire simulation, so that Maya (or rather Mental Ray for Maya) doesn't wig out and fail on the motion vectors due to changing topology / vertex count.

Does anyone have any advice or a tutorial on how to accomplish this?

Share this post


Link to post
Share on other sites

Hi Mitch, it's Matt.

First off, you smell.

Second, I found this:

"Unfortunately, we can’t simply calculate the motion vectors for the points on the Pwrapper mesh. Since the mesh point order is constantly changing, it would not be valid to compare the position of any point index from one frame to the next.

The easiest workaround is to transfer the RGB motion vectors from the nearest particle(s) to the mesh, where the data can be written to a CAV map. If desired, the sampled color attribute can be smoothed, by increasing the number of particle sample points.

Now that we have a CAV map, the vectors can easily be brought into the render tree and written to a custom buffer come render time."

via a discussion regarding a similar situation in Softimage's ICE module here: http://blog.blackredking.org/?p=5

I wonder if it would be possible to sample the entire sequence, convert it to a constant point cache (based on some volumetric voodoo or some fancy stuff i don't understand), then somehow transfer that over to the variable topology mesh that we are ultimately going to render in mental ray.

It would appear that Mental Ray does not really support changing vertex counts, though so ... er ... not sure what to do at this point. Maybe some kind of custom shader.

In any case I can make and LED blink with an arduino, so hit me up when you're ready to tackle this.

m

I realize this is an old thread, but did you ever come up with a script to solve this issue? I'm wrestling with the same thing now... I've got a dynamic fractured object, and trying to export to maya. The problem is that at the frame of impact, the pieces don't exist (they're created on the *next* frame) - but the pivot channels seem to contain data for the frame of impact, so that's the frame I need to export geo on.

mitch

Edited by dangerweenie

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

×