Announcement

Collapse
No announcement yet.

Displacement in VrayProxy with multiple materials

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Displacement in VrayProxy with multiple materials

    Hi,

    I'm trying to apply a displacement to a proxy that I have in a scene. Since it's easier for our workflow to apply the material after the creation of our proxy, I can't create the displacement in the original mesh.
    I have 2 different materials in the proxy, and they don't even have overlapping UDIMs, but I can't apply the subdivision and displacement properties to just one of them.
    The other thing is that using the vray proxy, the <UDIM> tag is perfectly working, but if I apply the same material to the same geo, but imported, so not as proxy but mesh, then the texture is not recognized and renders as pure white.

    Any ideas on how to use vray displacement with proxies that have multiple objects inside?

    Thank you

    Gianluca

  • #2
    Hello pizzaia

    Would it be possible to send us a few example scenes of the issues you are facing along external assets like proxies, texture and etc.
    Thank you very much in advance.
    Svetlozar Draganov | Senior Manager 3D Support | contact us
    Chaos & Enscape & Cylindo are now one!

    Comment


    • #3
      Originally posted by pizzaia View Post
      I have 2 different materials in the proxy, and they don't even have overlapping UDIMs, but I can't apply the subdivision and displacement properties to just one of them.
      One way is to import the proxy twice and use the visibility list to render only one of the two objects in it with subdivision/displacement and then the other without that. It is not an ideal way, but I can't think of another one right now. It would have been maybe easier to export two separate proxies from the start, perhaps. Or maybe we can recognize if the sub-materials have displacement and split the proxy automatically...

      The other thing is that using the vray proxy, the <UDIM> tag is perfectly working, but if I apply the same material to the same geo, but imported, so not as proxy but mesh, then the texture is not recognized and renders as pure white.
      Maybe the UV set is not linked properly?

      Best regards,
      Vlado
      I only act like I know everything, Rogers.

      Comment


      • #4
        I am having a very similar issue. This is what I am trying to do...

        Make a Proxy model from an asset, the asset has multiple objects and multiple shaders. All objects and shaders can share a single vrayDisplacement attribute node. Each shader has a displacement map on it. The result is that displacement does not work, but all other aspects of the shader do.

        When I create a single object proxy and apply a shader with displacement, everything works as expected.

        When there are multiple objects and multiple shaders in a single proxy and the exact same shaders are applied to the objects through the ObjectName_proxy_vraymeshmtl tab in the attribute editor, all aspects of the shader work as expected, but displacement is ignored completely.

        The same happens if I have a single object, with a single shader, and apply the shader through the ObjectName_proxy_vraymeshmtl tab in the attribute editor. Textures work but no displacement. Only when I apply the shader directly to the vrayProxy in the viewport does that shader begin to work as expected once more.

        Is this expected behaviour? It's a bit annoying, because I would like to have multi objects and multi shaders with displacement in a single vrayProxy node, or at least be able to create multi vray proxys automatically and have the proper shaders applied, instead it becomes a lot of manual work.

        Thoughts?

        Thanks,
        Chris
        ------------------------
        Chris Smallfield
        Freelance VFX Supervisor / Senior 3D Generalist
        ChrisSmallfield.com

        Comment


        • #5
          Would it be possible to supply some simple scene to support@chaosgroup.com so that we can check what's going on?

          Best regards,
          Vlado
          I only act like I know everything, Rogers.

          Comment


          • #6
            I just sent a test scene.

            Thanks,
            Chris
            ------------------------
            Chris Smallfield
            Freelance VFX Supervisor / Senior 3D Generalist
            ChrisSmallfield.com

            Comment


            • #7
              Quick follow up for anyone who checks back at this thread, I recieved a reponse on my test scene from Chaos Group. Currently the function of having a single Vray proxy with multiple objects and with multiple shaders and muliple displacement nodes is not possible. The work around is to export all vray proxys as seperate proxys per object and then apply the shaders on each proxy manually.

              It should also be noted that if you automatically generate proxy models and it automatically assigns the previous shader onto the newly created proxy, this will also not support displacement via the ObjectName_proxy_vraymeshmtl tab in the attribute editor. Instead selecting the object in the outliner or viewport and assigning the shader as normal will fix this.

              I was told that this feature is on the list of things to fix at some point in the future.

              Hope that's helpful!

              Cheers,
              Chris
              ------------------------
              Chris Smallfield
              Freelance VFX Supervisor / Senior 3D Generalist
              ChrisSmallfield.com

              Comment


              • #8
                Hi there Vlado, Chris, and Gianluca.

                Hope its ok to reopen this thread again.

                I just wanted to add my +1 to having per-geometry displacement assignment within the VRay Proxy setup.

                For the last couple of years Ive been wanting to rewrite the way we handle animated assets in VRay at our studio(and also static ones really).

                Currently we are using alembic caches that we apply to our "Maya shading assets" (containing shaders and maya geometry) though the standard Maya alembic importer(deformer).
                Its a pain in the arse to be honest, and it becomes hard to update things properly with new versions of models, shaders and animation caches and it makes things less fun than it should be(and the scenes are "large").

                There are many things we could do smarter there, but one thing Ive been wanting to use is the VrayProxy node with a Alembic cache, re-assign shaders for the asset to the VRayMeshMaterial node, parring them up with the alembic geometry.
                But the one major issue I keep on hitting is the fact that we can't use Displacement on those assets (and Im unsure if the vray displacement/subdivision attributes are loaded from the Alembic cache.. gonna check that soon).

                It stalled my progress the last time, and at the time I was primarily focusing on vrmesh setups for static assets(and I do understand that the general idea behind vrmeshes conflicts with displacement and so on).
                This time around the focus is on alembic caches(so not removing any particular benefits by using displacement).
                For now I guess I will try to handle it though multiple VrayProxy nodes where I separate out the meshes with displacement to individual Proxy nodes using exclusion/inclusion lists(as Vlado suggested).

                But it would have been so extremely awesome if there would also be a "displacement" section on the VrayMeshMaterial so that individual Displacement nodes could be passed on to specific geometries within the Proxy.
                I guess the full set, adding VolumeShaders might also be nifty(if that concept works with V-Ray). Usability wise it then might be nice if the "ShadingGroup" that was the one attached to the VrayMeshMaterial node (and the Vray exporter would grab things from there)
                And off course getting subdiv and displacement attributes carried on though alembic into V-Ray would also be needed(if it doesn't already work off course).

                Anyway, that would be a very nice delayed christmas present for me(and to be honest it would bring me much more joy than any other present I received )

                If anybody has any suggestions to other ways of handling the displacement in this scenario I would be more than happy to hear from you

                Jimmi

                Comment


                • #9
                  +1 from here... we use also displacements on everything... would be great to get it working with proxy...

                  Comment


                  • #10
                    The way the proxy is implemented right now, it is difficult to do per-geometry displacement. Recently we've been looking at a more general implementation of a deferred rendering pipeline, potentially based on Alembic; the V-Ray proxy was originally designed for another purpose and it has already been stretched way beyond what the original code was intended for and some things are just not possible with the way the code is organized.

                    There's also the USD thing coming from Pixar which, from what I understand, attempts to solve the deferred rendering problem in a more general way. We might simply end up supporting that.

                    Best regards,
                    Vlado
                    I only act like I know everything, Rogers.

                    Comment


                    • #11
                      interesting idea to go with USD...
                      if thats the solution im fine...

                      Comment


                      • #12
                        looks like a first USD linux version is available...

                        http://graphics.pixar.com/usd/usdDownload.html

                        Comment


                        • #13
                          Originally posted by FSGFX View Post
                          looks like a first USD linux version is available...

                          http://graphics.pixar.com/usd/usdDownload.html
                          Yes, will be looking into it... if you have any comments or feedback about it, it would be great.

                          Best regards,
                          Vlado
                          I only act like I know everything, Rogers.

                          Comment

                          Working...
                          X