Announcement

Collapse
No announcement yet.

Instancing V-Ray fur through instancer

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

  • Instancing V-Ray fur through instancer

    Hey guys,

    We're working on a scene with many instances of geometry and wanted to add V-ray fur on top of those. We're using Maya's instancer node (particle instancer) to have fast scene management with the amount of instances we're handling. Though at this stage we were unable to render these instances (going through an instancer) with V-Ray fur. This is what we've tried:

    1. Add the V-ray fur preview shape under the transform that's being instanced. This does not render, yet it (funnily enough) does show in the viewport. During rendering we get this error message:

    Code:
    // Warning: V-Ray : Unable to export instancer node 'VRayFurPreview1'! //
    2. Run a post-translate python script that would instantiate the V-ray fur copies on top of the transformations that are in the instancer. Though this didn't work because getting the "instances" parameter results in an error.

    Code:
    # Error: line 0: A parameter with name "instancer" doesn't exist for plugin "instancer1".
    # Traceback (most recent call last):
    #   File "<maya console>", line 1, in <module>
    #   File "C:/Program Files/Autodesk/Maya2016/vray/scripts/vrayExecPostTranslateScript.py", line 8, in <module>
    #     exec script
    #   File "<string>", line 5, in <module>
    #   File "C:\Program Files\Autodesk\Maya2016\vray\scripts\vray\plugin.py", line 122, in get
    #     res = pluginmodifier._getParam(self._name, paramName)
    # Exception: A parameter with name "instancer" doesn't exist for plugin "instancer1". #
    Tested with Post Translate Python Script:

    Code:
    from vray.utils import * 
    
    nodes=findByType("Instancer") # Get all Node plugins
    for node in nodes:
    	print node.get("instances")
    ---

    Any ideas on other possible optimal and manageable solutions here?

  • #2
    As it is now in Max, instancing VRayFur(A) with source object A to an instanced VRayFur(B) and an (from source object A) instanced object B, still results in VRayFur(B) pointing to source object A.
    So if you instance lots of VRayFur's (incl. their source objects!), all the instances have source object A, resulting in all new instanced source objects without fur.
    Last edited by trick; 21-02-2017, 03:54 PM.

    Comment


    • #3
      Hey Trick,

      Just to understand completely, you are basically saying that also in Max there is not a supported workflow to tackle this particular problem? Or am I missing an hidden message in your post?

      Comment


      • #4
        Instancing a VRayFur object does not make sense since the instances will all point to the same source object.
        So instancing both the VRayFur object AND the source object will leave the NEW source object without fur!! It only results in twice the fur rendering over each other on the original source object.

        The only thing that could make sense is that all parameters, except the source object slot, are instanced, but then it is not a real instance.

        You can however tackle this problem by wiring parameters between VRayFur objects.

        You can also write an exception in your routine for VRayFur objects being copies, not instances, and point them to the newly created (instanced) source object.
        Last edited by trick; 23-02-2017, 05:36 AM.

        Comment


        • #5
          This is actually not supported. It's on the to-do list.
          Alex Yolov
          Product Manager
          V-Ray for Maya, Chaos Player
          www.chaos.com

          Comment


          • #6
            It might be possible with a VRayScene node, but I haven't actually tried it.

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

            Comment

            Working...
            X