LogoLogo
ThreeKitDeveloper HubForumsSupportStatus
  • Guides
  • Documentation
  • Releases
  • Community Home
  • Changelog
  • Getting Started
    • Project Prep
      • 1. What Should I Expect During Onboarding?
      • 2. Getting Ready for Your Threekit Project
      • 3. Org Provisioning & Adding Users
      • 4. Intro to Support
      • 5. Training
      • 6. Requirements Checklist
      • 7. Customer Resources & Onboarding Checklist
    • Managing Your Implementation
      • Implementation Design Review
      • Requirements Traceability Matrix (RTM)
      • Project Delivery Checklist
      • Daily Stand-up Meeting
      • Status Report Template
      • Stakeholder Meeting
      • Customer Roles and Responsibilities
      • Internal QA
      • Customer Support Handoff Doc
      • Post Implementation Training Agenda
      • Managing the Discovery Process
      • What is a Quality Workshop?
      • Project Update/Exam Template
      • Consulting Methodology - Presentation Consulting Methodology - Presentation
      • Task Estimation
    • Implementation
      • UAT Planning
      • Earned Value
      • User Stories
      • Milestone Signoff / Project Acceptance Document
  • Learn
    • Platform Overview
    • Workflows
      • Basic Visualization
      • Best Practices
        • General 3D Content Creation
        • Performance Guidelines
        • 3D Asset Naming Conventions
        • Usage of Shadows With AO & SSAO
        • Camera Set-up Best Practices
        • Reference Image Guidelines
      • Text Personalization
      • Image Upload Personalization
      • V-Ray Workflow
        • 1. VRay Requirements
        • 2. VRay Asset Preparation
        • 3. VRay Asset Export
        • 4. VRay Scenes
        • 5. VRay Models
        • 6. VRay Materials
        • 7. Vray VFB Presets
        • 8. Vray Operators
        • 9. Vray Light Linking
        • 10. Vray Compositing
        • 11. Vray Render Workflow
        • 12. Vray Troubleshooting
      • Template Assets
    • Training
      • Self-Led Training
        • Basic Renders
        • Adding Pricing
        • Adding Additional Languages
        • Rules
        • Data Tables
        • Dimension Annotations
        • Stages
        • Metadata
        • Proxy Materials
        • Image Annotations
        • Upcoming Training Videos Outline
    • FAQ
      • General FAQ
      • Threekit Glossary
      • What are the different types of Visualization?
      • What are Material Scans?
      • What is Layered Rendering?
    • Trio Talks
      • October 20, 2022 - Augmented Reality
      • September 15, 2022 - Order of Operations
      • August 18, 2022 - Performance & Model Optimization
      • July 21, 2022 - Collision Detection & Drag and Drop
      • June 16, 2022 - Virtual Photography
      • May 2022: Conquering APIs: 10 Useful API Options You May Not Know About
      • April 21, 2022: Adding Bling: Falloff, Glass, Iridescence, Bloom
      • March 17, 2022 - Treble
      • January 20, 2022 - Modular Configuration
  • Tools
    • General Apps
      • Republish Items
      • Apply Metadata Pattern
      • Render to vrscene
      • Filter Saved Configurations
      • Performance Dashboard
      • Asset History
  • Feedback
    • Want to give us feedback on the Threekit Community? Click Here!
Powered by GitBook
On this page
  • Overview
  • The Goal
  • Layers
  • Features
  • Override Groups
  • Capturing Shadows
  • Assigning Composite Assets to Items
  • Layer Logic
  • Additional Info

Was this helpful?

Edit on GitHub
  1. Learn
  2. Workflows
  3. V-Ray Workflow

10. Vray Compositing

Previous9. Vray Light LinkingNext11. Vray Render Workflow

Last updated 9 months ago

Was this helpful?

Overview

The configuration workflow for a project that requires Vray renders is very similar to the workflow used by the Webgl setup. The main difference lies in the use of the Template Override operator instead of the Map Override, and the additional configuration that is typically done in the Composite Asset.

The Composite Asset can be used with either Webgl renders or Vray renders. This asset is critical in controlling the amount of renders that need to be produced.

The Goal

Layering is the main method for reducing the total render count.

For example, let’s say we have a chair that is configurable in three ways:

  • Fabrics for the cushion - 500 fabrics

  • Wood type for the frame and legs - 10 different woods

  • Background setting - 3 different backgrounds

Without any layering we would need to render a total of 15000 renders for just this one chair.

This can be reduced to a total of just 513 renders if we layer the background image, the wood frame, and the fabric components on their own separate layers. In addition to this reduced count, the end client would also be able to load configuration changes faster, since the wood frame and fabric renders may be a smaller part of the overall image, and would result in significantly smaller file sizes.

Layers

The comp asset is composed primarily of layers. Each individual layer represents an image sequence. The order of the layers is also important, as it determines how these image sequences get layered on top of each other.

Here is what the composite asset may look like for the example listed above:

Features

Order

The order of each layer determines how the resulting images get layered in the 2D player. The layer ordering is from top to bottom representing background to foreground. In the example above, the Backdrop Layer will be displayed first, then the product Shadow Layer, with the Legs Layer on top of that, and the Fabric Layer displayed on top of the Legs Layer.

Layer Type

There are currently three types of layers available: render layers, image layers and solid color layers

  • Render Layers - This type of layer will use the Vray or Webgl render engine to pre-generate the image sequence with system jobs.

  • Image Layers - An image layer has a Texture target and this allows the user to reference texture assets directly. For example, the user has a photograph that should be used as the background image of a configuration. This layer will take into consideration the alpha channel of the texture asset.

  • Solid Color Layers - Allows the addition of a slid color to the composite asset, which can be blended and masked with the other layers. This opens up the ability to add custom color tinting to the renders presented by the 2D player.

Attribute Targets

Each render layer can be associated with a set of attributes. Image layers do not have this association.

An association with an attribute means that a new image will be generated for this layer for every possible value of that attribute. In our scenario, if the Legs Layer would be associated only with the Legs attribute, then it would generate a total of 11 renders (the 11th is for the case where no value is selected).

For every additional attribute that layer is associated with, the number of possible combinations would grow exponentially, as it would need to create unique renders for each combination of attribute values.

AOV Operators

The render layers can be assigned an additional AOV (render pass). The ThreeKit platform currently supports an Ambient Occlusion, Normals and Bump Normals pass. The AOV pass is available to be added through the Operators button, as the Vray AOV Properties operator. The resulting render task will generate a separate image for each pass.

Important!

This additional set of images is not currently usable by the composite asset. These images are only available for download, using the Download button available on a render job in the Renders Section.

Override Groups

Each render layer can also have a practically unlimited number of Override Groups associated with them. These override groups allow the user to specify which items should appear on that layer, and how they should appear. This system is similar to the Collections feature in Maya’s Render Layers.

Layer Visibility

Use the "Render Layer" checkbox to toggle the visibility of a layer in the 2D player. This does not affect the rendering process of render layers.

Layer Opacity

This layer option controls the alpha channel value of the given layer. Very useful to control shadow layer opacity without the need to bake the opacity in the render itself.

Blending Mode

Each layer can have its own blending mode for compositing on top of the previous layers. The list of blending modes currently includes the following operations:

Masking

The Mask with Layer option on Layers allows us to mask a layer with another layer. You are given the option to choose between Alpha and Luminance based masking. This feature is useful in certain scenarios where isolating a particular object or shape on its own render is impossible without the use of a separate mask.

Override Groups

The Override Groups, as mentioned above, allow the user to specify which objects will be used to render that particular layer. Similarly to the Collection feature in Maya’s Render Layers, the user can specify any number of these Groups, and assign overrides to them.

In order to specify which objects should be included in these groups, the users can reference them by Node Tags, in the group’s Targets.

For example, on the Legs Layer we would like to render only the wood components of the chair. However, on the legs mesh we need to ensure that we see shadows and GI cast by the Fabric and Floor components. If the legs go through the floor a little bit, we also need to mask that portion out. For this purpose the Legs Layer has three Override Groups listed under it:

Legs

This group targets all of the objects that should render as normal, with no overrides applied to them. This would be the objects tagged with the tag LEGS, and those tagged LIGHTS

Floor Masking

Fabric

Capturing Shadows

In order to capture shadows, such as on the Shadow Layer listed above, we would need to use the Material Wrapper override on a set of meshes that needs to receive the shadow. In our case it would be the meshes tagged with the FLOOR tag.

The override would look like this:

Assigning Composite Assets to Items

In order for the composite asset to take effect, it has to be assigned to Catalog item. In our case above with the Chair, this composite asset could be assigned to the Chair catalog item using the Default Composite reference as seen below:

The Composite Asset can be referenced this way by any number of different product items. It will work correctly as long as they pass the same attributes. There could be, for instance, other chair products, or any other furniture products that share the same attributes Fabric, Wood, and Background, and they would all need to be rendered in the same manner, with the three separate layers.

A central Composite Asset linked to all of them would make the maintenance of the compositing much simpler.

There are also cases where the user needs to ensure that the node-tags entered inside the Override Groups are working correctly with a given Catalog Item. For this purpose, the user can choose to load any Catalog Item directly inside the Composite Asset as shown here:

Once a Catalog Item has been loaded this way, clicking on the individual Layers will preview the objects loaded in all the Override Groups inside that Layer. The Viewport will update the changes only when selecting a different Layer than the currently selected one.

Layer Logic

There will be instances where it becomes necessary to apply different changes in the render setup, based on which layer is currently being rendered. As a simple example, let’s say that we would like to use a different VFB file for the Fabric Layer, as opposed to the Wood Layer. The logic for this cannot exist on the Composite Asset, since there is no direct connection between this and the Scene Asset where the VFB is specified. The Composite asset is only a child of the catalog item, and it receives the 3D assets for rendering. Instead, the logic would currently have to exist on the 3D assets. We can use the Layer condition in our rules, to detect which layer is currently being rendered. This allows us to change properties or swap assets per layer. In the example below, we create the Layer condition, and check against the Fabric Layer of our chosen Composite Asset. In this case, we are applying a different set of Vray Post Process corrections for the Fabric layer.

Additional Info

This group includes the meshes rendered below the Legs layer. In our case it is everything tagged with the tag FLOOR. However, in order to mask these meshes out of the Legs, we need to apply a Material Wrapper override to this group with the following settings:

The purpose of this override group is to display the shadows and GI cast by the fabric components on the Leg components. For this purpose, we would target only the objects tagged FABRIC. The override on this group would also be a Vray Material Wrapper, with the default options, and only the Primary Visibility option set to OFF.

For more information please visit the page in the platform documentation section.

Composites