LogoLogo
ThreeKitDeveloper HubForumsSupportStatus
  • Guides
  • Documentation
  • Releases
  • Platform Documentation
  • Project Data
    • Platform Landing Page
    • Basic Concepts
      • Environments
      • Organizations
      • Attributes
        • Arrays
      • Tagging
      • Naming Conventions
      • Players
      • Branching
      • Alerts and Warnings
      • Supported Browsers
      • ThreeKit Platform Architecture
    • Catalog
      • Items
        • Item Bulk Edit
        • Item Variants
      • Data Tables
      • Item Rules and Logic
      • Publishing
    • Assets
      • Asset Management
        • Importing Assets
        • Exporting Assets
        • Folders
      • Asset Editor
        • Editor Layout Modes
          • Layout Editor
            • Local vs Global Transform
          • Logic Editor
      • Nodes
        • Common Properties
          • Node Tags
        • Helpers
          • Nulls
          • Model References
          • Connectors
        • Lights
          • Point Light
          • Directional Light
          • Spot Light
          • Area Light
          • Hemisphere Light
          • Shadow Plane
        • Cameras
        • Shapes
        • Annotations
        • Layout Containers
      • Scenes
      • Materials
        • Physical Material
        • Proxy Materials
        • Multi Material
        • Gem Material
        • JSON Configuration
      • Textures
      • Canvases
      • Composites
    • Operators
      • PolyMesh Operators
        • Array
        • Bend Deformer
        • Map Override
        • Stretch
        • Physics (Collision Detection)
      • Material Operators
        • Falloff
        • Tiling Override
        • Triplanar Mapping
        • Template Override
      • Image Operators
        • Canvas Composite
        • Canvas Fill
        • Canvas Linear Gradient
        • Canvas Text
        • BlackWhite
        • Posterization
      • PostEffects Operators
        • Bloom Pass
      • Comp Layer Operators
        • Vray Normals Properties
        • Vray Bump Normals Properties
    • Stages
      • Stage Effects
        • Turntable
    • Logic
      • Conditions
      • Actions
      • Queries
        • Node Queries
        • Metadata Value Query
        • Asset Query
        • Datatable Query
      • Custom Scripts
    • Virtual Photographer
      • Create Renders
      • View Renders
      • V-Ray Integration
    • Augmented Reality
      • AR Settings
  • Org Setup
    • Admin & Security
      • Org Profile
      • Users & Permissions
        • Threekit Sign-in
        • Members
        • User Profile
      • Tokens
      • Service Accounts
      • ISO Certification
      • Org Migration / Data Transfer
    • Jobs System
    • Orders
      • Orders List
      • Configurations
    • Analytics
      • Advanced Buyer Analytics Reports
      • Player Views
    • Project Settings
      • Features
      • Languages
Powered by GitBook
On this page
  • Description
  • Properties
  • Color
  • Attenuation Distance
  • Roughness
  • Index of Refraction
  • Abbe Number
  • Requirements

Was this helpful?

Edit on GitHub
  1. Project Data
  2. Assets
  3. Materials

Gem Material

PreviousMulti MaterialNextJSON Configuration

Last updated 1 year ago

Was this helpful?

Description

The Gem material allows for a semi-realistic representation of gem materials in real-time WebGL only. It uses a simplified ray-tracing method for calculating the refractions, and thus it produces results very similar to the way the gemstones would look in real life, or rendered with a ray-tracing engine like Vray.

The Gem Material is not exportable to GLTF or AR.

Properties

Color

Defines the color of the gem’s refraction. This color works in conjunction with the attenuation value described below - the darker the color, the stronger the attenuation effect.

Attenuation Distance

This property represents how easily the gem material can be penetrated by light. The larger the distance, the more transparent the gemstone would be. The shorter the distance, the more opaque the gemstone would be. The size of the gemstone mesh has a direct relationship to the usable range of attenuation. The larger the mesh, the larger the attenuation values will need to be.

The value is expressed in terms of meters. The range of 0.001 to 0.1 may prove the most useful for small, regular sized gemstones.

A value of 0 attenuation represents a backwards compatible representation of attenuation, to support shaders that were created prior to this property being added. To have a more realistic 0 value for attenuation, you can use very small values above 0.

Roughness

This property represents how rough the reflections are on the surface of the gemstone. You can use the Roughness Factor in conjunction with the Roughness Image Asset to represent either a very clean and shiny surface, or a dirty surface with fingerprints. Breaking up the specular this way can produce a more realistic result, as long as the effect is kept subtle.

Index of Refraction

The index of refraction or IOR describes the way the material refracts light. A higher IOR looks like a more intense reflection. It is a standard property in PBR materials. Lists of accurate IOR values can be found online. The Gem operator’s default values are equivalent to a basic diamond: Default Value: 2.417, representing Diamonds

Gemstone
Refractive Index

Diamond

2.417-2.419

Ruby

1.762-1.778

Sapphire

1.762-1.778

Topaz

1.609-1.643

Emerald

1.565-1.602

Amethyst

1.544-1.553

Amber

1.539-1.545

Glass

1.440-1.900

Abbe Number

This property becomes available when the Dispersion option is checked ON.

Increases or decreases the dispersion effect of light in the refractions.

This can be adjusted for visual effect in order to create rainbows of color, or to reproduce the realistic dispersion of light through this medium.

High values represent low dispersion, while low values represent high dispersion.

Default Abbe Number: 55

Requirements

In order for the gem shader to work correctly and efficiently, there are a few requirements that need to be met by each gemstone mesh.

  1. The geometry MUST be a single convex hull. This means that you cannot apply the Gem material to a mesh that represents a set of combined gemstones.

  2. The gemstone meshes need to have uniform scale. Stretching the geometry non-uniformly will produce visual artifacts.

  3. In order to conserve memory and increase performance, each similar gemstone should be instanced. This means that for the duplicated gemstones around a band, each gemstone should have its transform relative to the 0,0,0 location. This will allow ThreeKit to detect each of these stones as instances, and use a single stone to represent all of them, instead of detecting them as separately unique stones. Failure to do this can have a very significant impact on performance.

The number of unique stones in a selection is visible in the stats panel. Deselect everything in order to see the total number of unique stones in the current asset.

Attenuation = 0.001
Attenuation = 0.01
Attenuation = 0.1
No Roughness
Roughness Added with Texture
Abbe Number = 10
Abbe Number = 55
Abbe Number = 300