Maya 2020.4
Vray 5 hotfix 3 v5.00.23 from Sep 9 2021
We're testing a workflow for lighting at the studio and hitting a bit of a road block with our desired displacement method.
We're currently using vray proxy to import abc caches and then we are using the alembic layering options in the proxy to layer in the contributions from each department. ie UVs from Shading, Points and Normals from Animation. This works great so far.
We're also storing the subdivision attributes in the alembics. Now when we read in the abc via the vray proxy the objects that need to be subdivided are already treated as subdivision objects at render time.
This allows us to work without needing to maintain a separate vray subdivision set. We're very pleased to see this.
The only issue we are having to solve is around displacement.
We had hoped to avoid needing to maintain displacement sets where we add objects to the set and rather use displacement at a shader level to get around this.
This helps to make things portable across DCCs like into vray for houdini.
But the main reason for this is that we cannot selectively specify which objects inside the alembic hierarchy (in the vray proxy) get displacement. We can only add the whole vray proxy to the set.
So the hack is to duplicate the proxy and play a game of hiding the visibilities of the objects and only adding the proxy with the objects that need both displacement and have visibility turned on to the set.
This is really not a great solution.
Alternatively in Maya I can hook up the displacement shader to the displacement slot of the SG (shader group) for the vray material I'm using and vray renders this fine.(Yes this not the preferred method for vray users)
In this case we thought if we can control what's being displaced via the material then we can just have one proxy per alembic and wont need displacement sets and the game of duplicating and hiding visibilities would not be needed.
Based on the material assignments the objects that need displacement will get it.
In practice we are finding that although vray supports this displacement workflow for non proxies objects, assigning materials with displacement hooked up into the shader group gets ignored when using vray proxies.
Is this a bug or the intended outcome? I know we are using an older build and wasn't sure if this was logged as an issue or not. Or maybe changed in later versions
To replicate, create a sphere and assign a vray material.
Now in the shader group for the material and in the displacement slot hookup the maya displacement shader.
Use a checkerboard texture in that displacement shader, and make sure the checkerboard texture uses the red channel into the displacement shader
This will render as expected with displacement
Now export the sphere as .abc and import via proxy. Assign the same material as an override to the sphere in the proxy and the displacement is ignored while the other material parameters come through.
Would appreciate some insight into this. Hopefully the above instructions are simple enough that I don't have to supply a maya file to demo the behavior.
Regards,
David Eschrich
Global Head of 3d Zoic Studios
Vray 5 hotfix 3 v5.00.23 from Sep 9 2021
We're testing a workflow for lighting at the studio and hitting a bit of a road block with our desired displacement method.
We're currently using vray proxy to import abc caches and then we are using the alembic layering options in the proxy to layer in the contributions from each department. ie UVs from Shading, Points and Normals from Animation. This works great so far.
We're also storing the subdivision attributes in the alembics. Now when we read in the abc via the vray proxy the objects that need to be subdivided are already treated as subdivision objects at render time.
This allows us to work without needing to maintain a separate vray subdivision set. We're very pleased to see this.
The only issue we are having to solve is around displacement.
We had hoped to avoid needing to maintain displacement sets where we add objects to the set and rather use displacement at a shader level to get around this.
This helps to make things portable across DCCs like into vray for houdini.
But the main reason for this is that we cannot selectively specify which objects inside the alembic hierarchy (in the vray proxy) get displacement. We can only add the whole vray proxy to the set.
So the hack is to duplicate the proxy and play a game of hiding the visibilities of the objects and only adding the proxy with the objects that need both displacement and have visibility turned on to the set.
This is really not a great solution.
Alternatively in Maya I can hook up the displacement shader to the displacement slot of the SG (shader group) for the vray material I'm using and vray renders this fine.(Yes this not the preferred method for vray users)
In this case we thought if we can control what's being displaced via the material then we can just have one proxy per alembic and wont need displacement sets and the game of duplicating and hiding visibilities would not be needed.
Based on the material assignments the objects that need displacement will get it.
In practice we are finding that although vray supports this displacement workflow for non proxies objects, assigning materials with displacement hooked up into the shader group gets ignored when using vray proxies.
Is this a bug or the intended outcome? I know we are using an older build and wasn't sure if this was logged as an issue or not. Or maybe changed in later versions
To replicate, create a sphere and assign a vray material.
Now in the shader group for the material and in the displacement slot hookup the maya displacement shader.
Use a checkerboard texture in that displacement shader, and make sure the checkerboard texture uses the red channel into the displacement shader
This will render as expected with displacement
Now export the sphere as .abc and import via proxy. Assign the same material as an override to the sphere in the proxy and the displacement is ignored while the other material parameters come through.
Would appreciate some insight into this. Hopefully the above instructions are simple enough that I don't have to supply a maya file to demo the behavior.
Regards,
David Eschrich
Global Head of 3d Zoic Studios
Comment