Announcement

Collapse
No announcement yet.

Vray proxy shader update

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

  • Vray proxy shader update

    Ive got some trees in a scene that have been brought in as proxies. These proxies have been instanced around the scene. When I go back into the proxy maya file to update the tree shaders, those changes dont get passed downstream. So if I change the leaf shader to a 2 sided material, and then create a new proxy version, then in my master scene update the proxy to the new version, it still applies the old shaders and doesnt seem to load the new changes.

    Im using Vray 3.5 on Maya 2017.
    Website
    https://mangobeard.com/
    Behance
    https://www.behance.net/seandunderdale

  • #2
    Ok, so I found a workaround. I exported all of my updated shaders out and imported to the master scene. Then graphed the tree vrayMeshMtl and manually piped in all the new shaders. If there is a way to make these connections update automatically that'd be great to know.
    Website
    https://mangobeard.com/
    Behance
    https://www.behance.net/seandunderdale

    Comment


    • #3
      Anyone else have this problem of having to manually reconnect shaders when you try to update a proxy?
      Website
      https://mangobeard.com/
      Behance
      https://www.behance.net/seandunderdale

      Comment


      • #4
        Not sure I fully understood the setup. When you export a proxy (without the auto-create option), the file written contains the geometry + the shader connection list, but no materials are exported. If you enable "auto-create", this will automatically connect the existing shaders from the scene from which you're exporting to the created proxy, then you can reference the resulting scene (that contains the proxy + shaders) in another scene which will get all updates. At least that's what I recommend as a workflow.

        If update the shaders in a maya scene, where there's actual maya geometry, which you then export to proxy and just reload the proxy in the other scene, the shaders won't get updated (the shader list should update though, but that list only says what shaders with what names are expected). The proxy doesn't write down any shaders or textures.

        Correct me if I've misunderstood the setup.

        On the other hand, you could try using entire vrscene files, they will contain shaders, textures and lights that you can bring over to another scene. You can export your asset to a .vrscene file from one maya scene, then load the vrscene file with the VRayScene manager into another. Here's some info on the subject: https://docs.chaosgroup.com/display/...ay+Scene+Files

        Let me know if this is helpful.
        Alex Yolov
        Product Manager
        V-Ray for Maya, Chaos Player
        www.chaos.com

        Comment


        • #5
          Hey Yolov, cheers for the reply. Currently Im bringing an asset over from speedtree, prepping it with updated shaders and saving that asset as a maya scene. Next I create a proxy "Asset_Proxy_01.vrmesh" with that asset using auto create, and save that maya scene as Asset_Proxy.mb. Next I import that maya file and instance that proxy throughout the scene. These proxies all have shader connections and I am able to access the shaders and make amends to them. This so far is ok.

          The issue I have is when I go back to the master asset file and make shader changes, create an updated proxy and overwrite "Asset_Proxy_01.vrmesh". Id assume that when I re-open my master scene, that the instances all looking for "Asset_Proxy_01.vrmesh" would then have the new shader updates passed downstream. But instead it still contains old shaders. How do I get "Asset_Proxy_01.vrmesh" to refresh, so to speak, and pass down the different shader assignments Ive made without having to manually import the shaders and disconnect the old shaders and plugin the updated ones.

          I hope this makes sense. If not I can put together some screen grabs.
          Website
          https://mangobeard.com/
          Behance
          https://www.behance.net/seandunderdale

          Comment


          • #6
            How are you importing the Asset_Proxy.mb into the other maya scene for instancing? As File > Import? If yes, then I'd recommend bringing it in as a reference, because the reference can be reloaded, but if it's simply imported, it just becomes a part of the other scene.
            Alex Yolov
            Product Manager
            V-Ray for Maya, Chaos Player
            www.chaos.com

            Comment


            • #7
              Yes, I'm just importing it currently. I can use referencing and test that.

              So once the proxy becomes imported and part of the scene, it can't reload / refresh its shader connections to an updated / overwritten proxy file? As Ive said, so far I've been able to manually disconnect the old shaders from the instanced proxy and connect imported new ones which is fine for an asset that has under 10 shaders, but something like speedTree will export with 20-ish shaders and it becomes a mission to make changes to an asset and have them passed downstream.
              Website
              https://mangobeard.com/
              Behance
              https://www.behance.net/seandunderdale

              Comment


              • #8
                Yes, Once imported it becomes part of the scene. It's not because there's a vray proxy, it's just how maya behaves. If you would do the same thing with any other geometry piece it would be the same. Referencing, however, allows reloading the assets if/when they've been updated in their original scene.
                Alex Yolov
                Product Manager
                V-Ray for Maya, Chaos Player
                www.chaos.com

                Comment

                Working...
                X