Mar 2007
1 / 11
Mar 2007
Dec 2021

Hello. I was curious as to what methods people are using to apply motion blur to fluids within maya. I like the idea behind isolating the blur as a seperate motion vector pass to be used by the compositor ( via the "real smart motion blur" plugin) but the shaders built for that plugin do not work with the fluids volume shader. Any ideas/help on this would be greatly appreciated.

Cheers,
Landis

  • created

    Mar '07
  • last reply

    Dec '21
  • 10

    replies

  • 14.2k

    views

  • 12

    users

  • 3

    links

1 year later

QUOTE(landis @ 03/06/07, 10:19 AM) [snapback]261665[/snapback]
Hello. I was curious as to what methods people are using to apply motion blur to fluids within maya. I like the idea behind isolating the blur as a seperate motion vector pass to be used by the compositor ( via the "real smart motion blur" plugin) but the shaders built for that plugin do not work with the fluids volume shader. Any ideas/help on this would be greatly appreciated.

Cheers,
Landis

When it comes to motion blur fluids can be tricky. Maya's motion blur looks like an overall blur pass so you are left with mental ray. Mental ray will motion blur fluids very nicely, except this: If you are in the fluid, the render calculations time will kill you. If you also have more than one container, the render calcs. will be significantly higher, so it depends on what you are trying to produce. I had a dog fight sequence and what works real well (without even the vector pass) is a plugin called Furnace. I hope this helps.

Jim

4 months later

Is there a way to disable 3d motion blur on fluids only (mental ray, maya 8.5) ?
It is needed on the mask elements.

It seems that the renderstat motionblur option is not avaible on a fluid contener.

i suggest you to render your fluid in a separate layer without the global motion blur.
That will help you anyway to apply the realsmart motion blur on it in comp.

By the way, you don't need the vector to use the realsmart MB, it is better to have it, but i have done many things without. It is good enought. really.

cheers
Jaz

6 months later

There are few methods for applying motion blur to fluids, depending on what effect you are trying to achieve.

For instance, if you're flying through a clouds generated with Maya fluids and the clouds are done by animating a texture offset inside the fluid container, then what you can do is animate the fluid container shaking on sub-frames along the direciton of motion, so that it doesn't look like it's moving on whole frames, but renderers like Mental Ray will still get the motion information and apply it.

That cheats the directional blur. For other scenarios different methods are used.

If you're concerned about motion blurring the whole container and not the fluid inside of it (a moving fluid-based torch flame for instance), then what you can do is make a cube matching the shape of the fluid container and apply 2DMV shader to it, to get a motion vector pass for use with ReelSmart Motion Blur in comp.

You have to understand that the fluid container voxels contain no actual motion information unlike verticies in geometry. Every frame of the fluid container, it's essentially a different fluid. There is nothing to interpret the motion information from other than fluid velocities of voxels. What you can do is take the voxel velocity, pass it through camera inverse matrix and override the color of each voxel based on voxel velocities. Then you'll have a 2D motion vector pass, but even then you'll have to do some additional scripting, to help the RSMB plugin interpret transparency.

The way RSMB works is it looks at the color of the motion vector pass. Green color represents Y direction. Red represents X. The range of values is from 0 to 1. 0 in red channel, for instance, means the pixel is moving to the left at maximum speed. 0.5 in red means the object is not moving. 1 means the object is moving at maximum speed to the right. 0 in green means down. 0.5 in green means stationary. 1 means up.

What if there is transparency? That means the color you see is not really indicative of the direction. You have to divide it by alpha value of the pixel to know what the actual motion vector is... A good example to illustrate the limitations of the 2D motion blur would be a moving window. Make a semi-transparent plane in Maya. Put a sphere behind it. Animate the semi-transparent plane moving by the camera, obstructing the view of the sphere. Set the motion blur to 2D in render globals and hit render. You'll see that the sphere behind our virtual "glass plane" got blurred, even through it shouldn't have, because the motion vector pass doesn't interpret transparency. Change the blur type in render globals to 3D motion blur and only the glass will get blurred, but not the sphere seen through it.

I've written a proprietary motion blur tool for maya fluids, but unfortunately I cannot post it due to contractual obligations to my employer. I can answer any questions you may have to help you write your own tool. Also, I can instruct you on how to program RSMB-like plugin, if you don't have access to the legit thing.

1 year later

Hi BESTenemy,
sorry if i take this discussion after one year, but only now i've needed it! I understand your contractual obligations, ...can you just instruct me to start on the correct way? Have you made a python node? Or a simply MEL(or)Python script?

Thanks lot,

Pa

1 month later

I wouldn't know the exact steps, but if you would have particles follow along with the fluid, use spheres on those particles and apply a motionvector material to those geometric particles. Then you could apply the motion blur to your fluids in post.

9 months later

I am asked to do a fluid motion blur tool at the moment so a hight level description of what you are using and sharing your experience would be awesome. We are thinking of  a vector shader to start off.

1 year later

hi im trouble with fluid. When i moved object , the fluid appears like dots . Even if used moption streak tab does not work.
any one know how to solve this problem? thank you

8 months later

Use ReelSmart if time is a crunch, It's worked for me a bunch of times.   I'd love to try bestEnemys script.