Hi,
One of our FX artists was testing out the volume rendering and bumped into an issue. Looks like the velocity motion blur in the volumeGrid shader isn’t working as you expect it.
His words:
“As the renderings clearly shows, the velocity cannot be read. I tried different scattering method inside the shader. Backwards makes it a bit better but still not really present. I changed the sampling as well as the mblur multiplier to see if something is happening. I tried different mblur settings on the vray render node.
The Geo node has velocity mblur active, the shader is set to volumetric geometry, vray has mblur enabled and the vectors have been split and corretly mapped to the shader under “fields”. Not sure if its a bug, wrong implementation or my mistake.”
Test scene attached.
V-Ray build: **V-Ray:**4.30.03 - 11th May
V-Ray render:
Mantra render:
Volume properties:
Best,
David.
vel_volume_vray.rar (51.2 KB)
Hi again,
Any idea about this @chakarov or @Gosho.Genchev ?
Hey David,
motion blur for volumes in V-Ray is computed differently compared to Mantra which is causing the renders you’re seeing. The problem boils down to the fact that there is velocity information present only at the shell of the converted geo, ie. the very edges of the volume. Simulations don’t present this issue because the bounding box of the sim is always filled with velocity data.
Anything you do to add velocity information in the empty voxels will resolve this.
I’ve attached an example file showing one way to do this here: https://drive.google.com/file/d/1O9som5btGIuH8ant8QPWtWGevzo6LJoQ/view?usp=sharing
I am re-creating the velocity by sampling the source geometry as a point cloud and filling the voxels. It looks like this:
There is more detailed information here, I’m copying the relevant info in the quote below:
https://forums.chaosgroup.com/forum/…e-from-houdini
[1. By tracing the velocity for a specific voxel backwards and stretching the content for the newly found voxel at position (current voxel + velocity*-1). This is the closest to what Mantra seems to be doing, which is directly stretching the content for the currently shaded voxel. If you’d like to set up V-Ray to render volumetric motion blur this way, you need to set an option on the volume grid, like this: " setAttr “VRayVolumeGrid1.mbgrid” 1; ". By default, this is set to 0.
Please give the option above a shot. It won’t look exactly like Mantra but should produce good results. You may also need to tweak the Motion Blur Multiplier option.
2. The default option expects grid velocity information to be present around the content (e.g. density) of the blurred voxel. This works really well for simulations where the entire velocity grid’s bounding box contains velocity information but may give you trouble if you’ve generated a VDB with a random velocity field right around the edges of the density. In such cases, the density will be stretched as far as the velocity vectors go, and will abruptly end there.
We’re looking into improving this - I’m really hoping we could simply make the Backward Trace do exactly the same as Mantra.
Hope that helps!
Hi,
Yes it did help.
And thanks for the example file @Gosho.Genchev , was very usefull. You guys should post this kind of stuff in the Tutorial section of the Vray for HOudini help page: V-Ray for Houdini
The improvement to the backward Trace comming up soon or something for later?
Best,
David.
Indeed, I’ll update the docs with the info above.
One of the devs on the V-Houdini team is looking into the backward trace - I don’t want to bore you with technical details but I’m hoping resolving one minor problem that we found recently will make the Backward Trace method close to equivalent to Mantra.
I’ll keep you updated on this one.
Best regards!
HI @Gosho.Genchev , that’s very good to hear. We are looking forward to that.
Thanks,
David.