Announcement

Collapse
No announcement yet.

possible to override textures only in vray scene file?

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

  • #16
    1) Swapping textures : like I said there is a much more user friendly way of doing it using a dedicated plugin (which I happen to also be the author). In the latest release, you should see nodes like VRaySceneGeometry, VRaySceneMaterial and VRaySceneTexture node.
    Either email me (christophe.cot@chaosgroup.com) an example of what you want to do with a vrscene or I can send you a super basic example so that you can see what can be achieved.

    2) For path remapping, ok clear. This is already available as a command line option for the VRayStandalone so I will look at how to port in into Nuke and plug to the preferences options.
    Christophe COT
    Software Developer - Chaos
    christophe.cot@chaos.com

    Comment


    • #17
      Here is a quick example related to point 1 on a new workflow to parametrized VRayScene elements :

      Click image for larger version  Name:	2019-07-12 00_26_47-parametrizedPorsche.nk [modified] - NukeX.png Views:	1 Size:	498.2 KB ID:	1042369

      In this example :
      - the red car on the right side is directly a vrscene file exported from another host (Max or Maya). You can see the VRayVRScene node on the DAG graph connected on input 3 of the Scene/Merge node.
      - the car of the left side is basically the same vrscene file loaded via a VRaySceneGeometry node. The "magic" is in one additional plugin definition - VRaySceneAsset plugin - which allows to parametrize various elements in this case of the various shader setup.
      For instance, I parametrized the car body diffuse and reflection color texture, the seat and the rims material.
      All this is controlled via the VRaySceneGeometry node - It parse the VRaySceneAsset plugin and translate it into a Nuke user interface generated dynamically. From there parameters can be easily controlled via Nuke property panel or via dedicated input depending on the type of parameter.

      No need for override snippet, no need to go into language syntax and property, it's all about being done in a familiar Nuke environment. You have knobs and inputs.

      Here is how look the property panel in this case :
      Click image for larger version  Name:	2019-07-12 00_31_58-parametrizedPorsche.nk [modified] - NukeX.png Views:	1 Size:	15.1 KB ID:	1042370

      The real aim of the VRaySceneAsset is to create and reuse customizable asset from a vrscene file. So especially if you want to reuse existing asset but slightly modify some aspect of their shader setup, or if you want to extract a given geometry from a vrscene for reuse, or even if you want to reuse an existing material or texture from a vrscene and apply it to a different object, you will see a clear benefit of using this solution.

      For more details, you can contact me directly.
      Christophe COT
      Software Developer - Chaos
      christophe.cot@chaos.com

      Comment


      • #18
        again, sorry for the tardy reply. This is perfect Christophe, and it was right in front of my eyes too. In my current scenario I just need the material pipe in the actual VrayVRScene node, but I just had a nosy around the VraySceneGeometry node - it's fantastic to be able to be able to filter out assets with this. I have a vray scene file with a bunch of birds that I want to reuse in other shots, so with these nodes it will be super simple to only grab the ones I want out of the flock and re-texture them a little bit as needed without bothering the 3D guys again - perfect.

        Comment


        • #19
          As I said, I can send you an example of how to use it or if you can it might be better to send me an email with your concrete vrscene and what you want to customize inside and I will compose what you need to test that directly in Nuke.
          Just let me know what you prefer.
          Christophe COT
          Software Developer - Chaos
          christophe.cot@chaos.com

          Comment


          • #20
            thanks Christophe, it's all working at the moment, cool!

            Comment


            • #21
              OK, I am a bit surprised because to make it work it requires for now to manually write the asset definition in the vrscene file.
              Otherwise you can simply load the invidual Node plugin as asset and use the global material override but it is a bit different and more restricted this way.
              Anyway if you need help feel free to ask me.
              Christophe COT
              Software Developer - Chaos
              christophe.cot@chaos.com

              Comment


              • #22
                I just tested selecting individual parts in the vray scene via the dropdown list as per your screenshot. Is that what you mean?

                Comment


                • #23
                  Not exactly - you basically have 2 different way of using the VRaySceneGeometry node :

                  1) Node plugin asset workflow:
                  As you do now, you load a vrscene file, check the "Filter all assets" checkbox and then under the VRScene asset drop down you will get a list of all 'Node' plugin from the vrscene file (the Node plugin being a top level instance to represent any kind of shadeable object).
                  From there you can select one Node and use the 'mtl' node input to basically override the material applied on that particular object.
                  It is very easy and can fit some scenario if you want to completely change the shader applied on a particular object.
                  There are 2 major limitations to that workflow however :
                  - Your desired "asset" for reuse must be contained within a single Node plugin. If your "asset" is composed of multiple Nodes that you bind together then you will get quickly limited.
                  Ex: Take the car model I use in a previous post, there are lots of parts/Node plugins with each a different shader. All this cannot be loaded within a single VRaySceneGeometry node.
                  You could take the hard road and generate a single VRaySceneGeometry per Node plugin you want to use, and then change just the shader you want. It would work but might force you to generate quite a lot of them. (The "Extract all assets" button does just that by the way, for the entire vrscene file).
                  - As mentioned you can only change the entire shader used by a particular Node plugin. If like in your case, you just want to tweak some texture or specific parameter of the shader tree, you can't. You will be forced to rebuild from scratch the shader tree which might actually not be possible if the vrscene was exported from another host (Max, Maya,...).

                  2) VRaySceneAsset workflow:
                  This is what I show in the screenshot with the car model.
                  This workflow will allow you to define a set of plugins from the vrscene as an reusable asset so it can work with a single or multiple Node plugins at once. Then for this asset we add some basic definition again in the form of a particular plugin - either this plugin is manually added to the original vrscene file or a much better idea is to have this plugin as a separate vrscene file which "includes" the original vrscene file so that way the original vrscene can change without losing the asset definition plugin. This definition will determine which parameters from the asset can be modified - from there it can be anything, a property, a color, a float, a texture,...
                  The VRaySceneGeometry node will parse the data from the asset definition and generate dynamically a UI in the node properties panel so that you can change those parameters via regular knobs or via dedicated node input.
                  This is the most advanced solution but require some manual effort at this stage to write the asset definition.

                  That is why I was proposing some help in the VRaySceneAsset direction, but of course if you manage to do whatever you want just with the Node plugin asset workflow, then it's great.
                  I will pm you a separate early video we recorded to demo this internally. It will help you see what you can do.
                  Christophe COT
                  Software Developer - Chaos
                  christophe.cot@chaos.com

                  Comment


                  • #24
                    aah, I see now. What you are outlining sounds great for sure, will check the video.

                    Comment

                    Working...
                    X