I've found the 'how to render a world position pass' Q&A on here, but I'm stuck at how to render one that includes volumetric objects (smoke in a domain object), it does not show in the render layer I setup as per the above answer. Obviously, as there would need to be a separate shader feeding into the 'volume' input of the material output node, my question is how do you create a WPP shader for volumes? Or more to the point can you create one?

Edit- It looks like you can almost do it, but the smoke gets incorrect / different XYZ-RGB data compared to the meshes. If you look at this video, you can see that in Fusion you can pick 3D/XYZ position from the 2D render, but the smoke isn't in the same 'world' position wise. https://youtu.be/Ne9J2vyGOS4

The shaders are as follows- Mesh shader Smoke shader

Any ideas? How to get the smoke WPP shader to match the mesh WPP shader position wise?

  • $\begingroup$ It looks like it can almost be done- $\endgroup$ – MarkS Feb 11 at 1:41

Looks like (with the help of @iponoo @zeauro & @ kologe from blender artists & blenderchat), it is possible. Here's the smoke shader, that works with the mesh shader to produce a WPP for both smoke and meshes- Working smoke WPP shader

It works well enough for me to do a bit of 'deep' type comping- https://youtu.be/xgCA-D4ukJk

In the video the smoke seems to be respecting the same XYZ-RGB space as the meshes. So divide the vectors by 100 in the smoke shader seems to make things all work together.

And certainly work well enough with the 'volume mask' tool in Fusion for me.


| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.