VrayVolumeGrid Motion Blur problem

Hello everyone,

I’m facing an issue on Vray Next so I switched to Vray 5 and the issue is still there :

Everytime we make an Volume we render the volume with no motion blur because the gain is minimal (just the motion blur from camera).
But sometime when we render animated objects with trails and we need the motion blur to work to fit the object. Here i’ve made a simple phoenixFD simulation with velocity and try to render in with motion blur. It was a total failure.

I’ve made the simulation with the velocity channel on, put the motion blur on on camera (motion blur samples set to default) :
My objects are motion blurred but not the volume.

What did I do wrong ?

Tony



Seems to work fine on my end with the same setup. Check your VRayVelocity RE to see if there’s actual data there. Also, if the effect does not seem visible enough, you may boost it by increasing the Motion Blur multiplier of the VolumeGrid (Rendering>Motion Blur).

I should not have to boost mb to get the same amount as the ball, right ?

Nothing come in the vrayvelocity channel (even in the alpha channel too), but if i show the vel in the grid Voxel preview you can see the information is here

That’s odd. Could you attach the scene and a cache file so we can take a look?

You can download the scene here : https://drive.google.com/file/d/1xIsY0uCWH2MO0lGRUTW9DLGp1ofNYKox/view?usp=sharing

i’ve included 3 frames of the simulation around frame 10

Hi,

Thank you for the scene file. It looks like the current MB algorithm doesn’t work well with your specific case with a longer duration of this effect. Can you try the following;
Select the Volume grid node > open Maxscript listener and type this:
$.mbgrid = 1
and execute it.

then start a new render in the VFB

The duration on camera was raised on pupose to see clearly that the mb isn’t working. The maxscript command do the trick for a duration of 2 but when i put it back to 0.5 like we always render the $.mbgrid maxcript command doesnt not work

It’s just very faint, i think.
In the attached images, the first has moblur active with 0.5f duration, and the sphere geo isn’t being rendered (it’s only the cache, in other words.).
On the left, a 2X sped up cache, on the right a frame close enough at 1X speed.
Notice both are motion blurred, when compared to the other attached image without MB, and that the left one has twice the speed of the right one, as well it should.


Yes its faint but i should match the sphere i used for the simulation.

Add an offset of -0.5 to the camera shutter duration, the geo should match the sim.
Notice i’d think this as expected as the sim has no data to interpolate to in the half-frame duration, whereas the sphere isn’t discrete in its geometric data across the interval (i.e. it’s a spline animation.).

It’s clear it’d be better to be able to offset the sims themselves, as this may throw a number of spanners in people’s work. Thank you, we’ll investigate this.

Thanks for the future investigation, what is the problem offsetting the camera shutter ?

Matching a plate comes to mind, or marrying “normal” elements with offset ones.

Speaking of which on a recent project I really wished we had pet object motion blur offsets. This would be great to have in VRayProperties!

@tdugard If you simulate with Phoenix, you have the opportunity to do it in a much easier way - parent the grid to the moving ball. This way the emitted fluid would not struggle to keep up with the movement of the emitter, and thus you wouldn’t have to compensate for this with increasing the steps per frame. This should also help the motion blur look better.

Unfortunately it isn’t possible in many cases when the ball is deforming and the ball source animation is a cache and with that other problem i’ve mentionned before (since we didn’t switch to vray 5 and the issue is resolved with last updates) : https://forums.chaos.com/forum/v-ray…grids-in-scene

Oh, the motion blur issue with more than 10 Simulators in Volumetric mode is at least solved in the latest Phoenix 4 nightlies (I believe it was not part of the latest 4.41 release) and also in Phoenix 5. Maybe you could use Phoenix Simulators instead of VRayVolumeGrids to work around it?

Yeah i know but the downside of using phoenixFD node is that you need a sim licence to modify shading or parameters so it isn’t convenient for artist that need to tweak the look if needed

Hmmm, true. Now that we have the separate Voxel Shader node, we need just a new Cache Loader node to work around this… Right now a Simulator would also work for that purpose - it could load the data and if you don’t need any changes to the Input rollout or preview settings, you wouldn’t need a license. And the Voxel Shader will not ask for a Phoenix license, so you can change the render settings. It’s getting complicated though, but just a setup I though of in case it’s helpful.

That Voxel shader is a great idea but its too bad that the preview setting needs a licence, when i’m set dressing a shot, i need to preview the volume to place it correctly and then switch of the preview for faster viewport performances. The licence should be only for simulation purpose

Yess, this will happen eventually, I hope to be able to break the Simulator up into separate nodes for simulating, writing caches, reading caches, previewing, meshing, converting from grid to particles, particles to grid, etc… the separate Voxel Shader was the fist step in this direction. This would allow the licenses to be engaged in the proper circumstances.