Announcement

Collapse
No announcement yet.

VRayproxy instance in all Xref

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

  • VRayproxy instance in all Xref

    We use a lot of xrefs on projects. We have same vray proxy on different xrefs.
    As far as I know, since they are not in one file and instance, Vray load them as seperate proxies while render.

    Is it possible to Vray behave all same vrmesh in xref files as one proxy geometry.

    May be a thick box in System Settings.
    --Muzzy--

  • #2
    Definatly +1

    Comment


    • #3
      Wrong assumption, methinks.
      A proxy is a file on disk.
      Whether you have instances in the same file, or xrefed, or even copies referencing the same file on disk, it makes no difference.
      It will load ONLY the needed parts of it when needed, and stay loaded in memory for as long as the dynamic memory limit is reached, at which point it will get unloaded.
      If you have different materials applied to your separate xrefed proxies, however, the proxy may have to sit as a new instance in memory.
      Not sure about the last part, but looks likely.
      Having the whole geometry as a single proxy would not change a thing, as the geometry would get split into voxels anyways, and only the needed parts would load, when needed.
      You're actually likely to cause hogging of drives/network as the size of the proxy on disk would become huge, and the access wouldn't be as efficient (loading the same, tiny mesh a thoushand times is a lot more efficient than transversing a humongous file for the one tiny part needed, however efficient the vray proxy format is).
      Of course, i stand to be corrected by the powers that be XD
      Lele
      Trouble Stirrer in RnD @ Chaos
      ----------------------
      emanuele.lecchi@chaos.com

      Disclaimer:
      The views and opinions expressed here are my own and do not represent those of Chaos Group, unless otherwise stated.

      Comment


      • #4
        Whether you have instances in the same file, or xrefed, or even copies referencing the same file on disk, it makes no difference.

        Actually, I think this statement is wrong (although I originally assumed the same as you); but they will be loaded twice as Vlado mentioned here:
        http://www.chaosgroup.com/forums/vbu...ht=xref+script

        Originally posted by vlado View Post
        If they are not instanced, the same information will be loaded twice and take twice the RAM.

        It is possible to write a script to replace proxies pointing to the same .vrmesh files with instances though - I know I wrote this once, but I have to find it.

        Best regards,
        Vlado


        There is a script Vlado wrote in that thread which will go part of the way to doing what you want, although of course the Proxies will need to be in the same file.
        I use it a lot though and it really helps to save memory.

        Comment


        • #5
          oh!
          And i also said said something quite wrong on the side of materials:

          Yep, it will only load it once; materials don't matter.

          Best regards,
          Vlado
          Now, my question is: Why is it like this and not the way i thought it would be? Is it a limitation of the max copy/instance code? Or a deliberate choice?
          Lele
          Trouble Stirrer in RnD @ Chaos
          ----------------------
          emanuele.lecchi@chaos.com

          Disclaimer:
          The views and opinions expressed here are my own and do not represent those of Chaos Group, unless otherwise stated.

          Comment


          • #6
            I was thinking the same way, load it once and use it many. But Vray doesn't think as we thought. May be max limitation as you said.

            In huge scenes, it makes difference.
            --Muzzy--

            Comment


            • #7
              You know what would be great? A VRayProxyAssembly. You construct something as you would by placing objects (in this case, VRrayProxies), then group them and save as Proxy Assembly. It would then spit out what would basically be a text file, with:

              Code:
              TreeBranch1: filepath
              Leaf5: filepath
              
              TreeBranch1 //references the name
              1 //instance
              Bark1 //material name assigned to this proxy
              0,5,10 //pos
              0,90,0 //rot
              100,100,100 //scale
              
              TreeBranch1
              2
              Bark1
              10,50,20
              0,80,0
              100,100,100
              
              Leaf5
              1
              Leaves
              5,1,8
              0,50,0
              100,80,80
              Then you can bring that whole thing in as a VRayProxyAssembly, but the beauty of it is, rather than being a 500k poly tree, its actually only 5 unique meshes of ~5000 polys each, instanced a few thousand times, so it renders fast, like my pants.

              Comment


              • #8
                Originally posted by muzzy View Post
                I was thinking the same way, load it once and use it many. But Vray doesn't think as we thought. May be max limitation as you said.

                In huge scenes, it makes difference.
                Indeed, when i had to render a good few tens of thoushand trees, they were all instances of the base proxies, with only srt/material differences.
                Xrefs or not, i don't think made any difference though (aside from not having thousand of entries in the hitbox when selecting)
                Lele
                Trouble Stirrer in RnD @ Chaos
                ----------------------
                emanuele.lecchi@chaos.com

                Disclaimer:
                The views and opinions expressed here are my own and do not represent those of Chaos Group, unless otherwise stated.

                Comment

                Working...
                X