Announcement

Collapse
No announcement yet.

Material Stylesheet issues with alembic vrayproxy

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

  • Material Stylesheet issues with alembic vrayproxy

    Hi,

    I have a question regards to material stylesheets and whether they are even working at all in conjunction with proxies..
    The advantage of using stylesheets is being able to wildcard assign materials to primitives or packed primitives inside a packed geo, using target or sub-target. For V-Ray to perform optimally I understand geos should be read in as vrmesh vray-proxy or abc vray-proxy. Now Once it is read in this format why does using a stylesheet subtarget like : @path==*geoName* , for example no longer work ? I understand why it wont work directly assigning primitives but we should at least be able to target sub primitives inside the abc proxy to get assignments on the primitives surely.

    I would appreciate a developer shedding some light on this matter since material stylesheets are quite an important feature for assigning materials more procedurally.. And if it doesn't work even for an abc proxy, I think the feature is largely un-useable in large production scenes. Unless there are other workflows I am unaware of.

    Thanks,
    Chris.

  • #2
    Hi Chris,

    Fellow user here, and welcome to the VFH forums

    I understand geos should be read in as vrmesh vray-proxy or abc vray-proxy.
    You're referring to the to the native V-Ray node "V-Ray Proxy Import". No, you don't need to load geometries with this node, in fact you can use any node you want, anything else other than alembic packed primitives will just be written into the render scenes - vrscene files. But for optimal use you should use the "Alembic" SOP node (native Houdini Alembic node), its default settings are perfect (it loads by default as "Alembic Delayed Load Primitives"). This way your alembics will load with a "path" attribute so you can use for your material stylesheet assignments or regular material assignments.

    Now Once it is read in this format why does using a stylesheet subtarget like : @path==*geoName* , for example no longer work ?
    This is because the "V-Ray Proxy Import" node doesn't load the path attribure, in the geometry spreadsheet you should be able to see that your geometry has no attributes loaded, you should be able to see the attributes if you use the "expand primitives" option.


    Additionaly, V-Ray needs shop_materialpath attribute on the primitives or a material assignment on the object level to export materials (material stylesheet too, although this is not something we use). Materials paths inside a packed alembic, won't get materials exported for the render. For this, you need to use the "Force Materials" field in the V-Ray ROP to define which materials to export for you packed alembics (this workflow is not ideal). A hack you can use to get around this is to export your alembics using the "shop_materialpath" as the path attribute for hierarchy, and then when loading, change the "Add Path Attribute" from "path" to "shop_materialpath".

    Best,
    David.
    David Anastácio // Accenture Song - VFX
    https://www.accenture.com/us-en/serv...visual-effects

    Comment


    • #3
      Hi David,

      Thanks for the welcome.

      So my assumptions were wrong, are there no speed improvements reading alembics through this "V-Ray Proxy Import"? That's cool you can just use packed alembics straight. And its interesting that expand primitive options doesn't expand my path attribute from the proxy.

      Stylesheets, specifically global stylesheets, not many people use them, but it is a superior way to assign materials , where one can procedurally assign a material based on wildcarding primitive attributes or any condition you like based on attributes in the scene. It is faster than manually assigning a shop_materialpath attribute through sop level material / wrangle, or setting materials on the object level.. Another benefit is you can see all your assignments for the scene in a single place the data tree. I suggest you give them a go if you haven't done so yet.

      Style sheets are working for alembics and packed alembics targeting and sub targeting primitives. As long as packed alembics are the same speed as vray proxy, I'll just use that instead.

      Cheers,
      Chris

      Comment


      • #4
        Hi again Chris,

        As long as packed alembics are the same speed as vray proxy, I'll just use that instead
        .
        They are, at least based on my talks with the QA team, this came up some time ago and they said that the difference between alembics and vrmesh formats was very small. And loading an alembics via the gray proxy node is exactly the same same.

        And its interesting that expand primitive options doesn't expand my path attribute from the proxy.
        My mistake probably.
        Expand Primitives – When enabled, primitives are expanded on a per-object basis.
        Been a while since I used this and I think it's not supposed to load the attributes just load the objects in it individually.

        Stylesheets, specifically global stylesheets, not many people use them, but it is a superior way to assign materials
        That's a great sales pitch.
        For our current workflow/pipeline with assets we rely on material paths. We can wildcard all the material assignments based on the path attribute too, and the artists found this workflow simpler/easier than using material stylesheets. I think that had something to do with the stylesheets interface/workflow and the ease of looking at a material node vs looking throught the stylesheet manager to find a material. We are not performing material overrides in shots (this would be a case where the stylesheets would definitely be a plus).

        Best,
        David.
        David Anastácio // Accenture Song - VFX
        https://www.accenture.com/us-en/serv...visual-effects

        Comment


        • #5
          Hi David,
          Great thanks for the clarification on format speed comparisons, good to know.

          Originally posted by david.anastacio View Post

          That's a great sales pitch.
          For our current workflow/pipeline with assets we rely on material paths. We can wildcard all the material assignments based on the path attribute too, and the artists found this workflow simpler/easier than using material stylesheets. I think that had something to do with the stylesheets interface/workflow and the ease of looking at a material node vs looking throught the stylesheet manager to find a material. We are not performing material overrides in shots (this would be a case where the stylesheets would definitely be a plus).
          Yes, I guess it depends on your purpose. Single assets and publishing , probably sop based material assignments are best for their simplicity. It is advantageous for large environment or whole scene assembly to have global materials overrides all in one place in a simple list. We are thinking of having a de-coupled look publishing system, that exports a global style sheet per look with a matnet to go with it. So looks, decoupled from the assets.

          Cheers,
          Chris

          Comment

          Working...
          X