Vector Displacement is still unfamiliar to many in VFX Industry. How does it work? What is FlipAndSwitch number in ZBrush? Why exported maps are giving the wrong results? I had all these questions in my head, so I thought I should learn this in detail. after getting sufficient knowledge, I thought of creating a tool out of it.
Let's say we already have an asset done in Katana/Renderman, and we need to convert that to Maya/Arnold. Now, straight away, the existing Vector Displacement Map will not work for Maya/Arnold and need to be regenerated from ZBrush. The main purpose of this tool is to convert existing Vector Displacement Maps to other DCCs/Renderers. So artists don't have to worry about the technical part of it.
I wanted to explore tools creation in Nuke and how the thing works in the backend, as any Lookdev artist will always have access to the Nuke, and it's best for exporting images with the right Colorspace and desired file format.
A Vector Displacement contains XYZ 3D Space Coordinates which have positive as well as negative values. The Coordinate spaces have to match with the DCC/Renderer which is being used, as each DCCs/Renderers uses its own combination of 3D Coordinates. So there are 2 combinations that are used to get the right 3D Coordinate Space.
Hence, ZBrush used FlipAndSwitch Term. If we start having combinations out of these, we will get 48 combinations/ 48 Coordinate Spaces.
On top of that, there are 2 types of Vector Displacements, and both of them have their specific use cases.
You must have this information before doing the conversion.
Once you have this information, you are all set to use this tool. Here are the basic steps.
Reset - Revert back everything to default values.
World/Object
Tangent
ZBrush FlipAndSwitch
It's all about FlipAndSwitch number. If Input and Output requires same Coordinate Spaces, then it will give a warning saying "NO NEED TO CONVERT !". This simply means you don't need the conversion and you can use your existing map directly.