Skip to content

Materials#

This page is still a work in progress.

Overview#

SketchUp materials map one-to-one to Rayscaper materials. Rayscaper materials offer a wider breadth of options to create beautiful visualizations. Every SketchUp material in your model has a corresponding Rayscaper material with the same name. Renaming the material in SketchUp will rename the related Rayscaper material.

When you create a new material in SketchUp, a corresponding Rayscaper material is made. The Rayscaper material will have the same color, texture, and opacity as the SketchUp material. This gives you a starting configuration in Rayscaper. Subsequent changes to the material are not synchronized to Rayscaper. The philosophy is that you create a more sophisticated material setup in Rayscaper and don't want to destroy this setup with your changes from SketchUp. If you want to re-synchronize the changes from SketchUp, you can do this explicitly via the resync button. This overwrites the material configuration in Rayscaper.

Resync SketchUp material

How to resync the SketchUp material: Select the material (1), and click the resync button (2).

To correctly render your geometry in Rayscaper, every face in SketchUp must have a material painted on it. Using the default material won't work. This material must be painted on the front face, not the back one. When a face does not have a material assigned to it, Rayscaper will try to use the material painted on the object that contains the face. When the face doesn't have a material, it will render in clay color. So, clay-colored surfaces in the render are a warning sign that materials are not assigned in SketchUp.

Textures#

We can only really talk about materials after discussing textures first. Textures are essential to get realistic-looking materials. All materials in Rayscaper are configured via input textures. Textures allow creators to vary the properties of the materials based on the surface position. For example, using image textures to make the material look like wood based on a wood nerve image.

In Rayscaper, textures can appear in 2 flavors. First, as color inputs for materials, for example, each material has a base color. Second, they can appear as single configuration values; for example, a material's opacity is a single value. This will become more clear when we discuss the various texture types.

You can switch between texture types by clicking the arrow icon and then selecting a different texture type from the dropdown menu.

Changing texture type

Changing type texture type via the dropdown menu.

Constant Texture#

The simplest Rayscaper is the constant texture. It's either a constant color or a constant value. You can click the color in the user interface to display the color chooser. You can change a single value by sliding it.

Constant texture configuration

Configuration of constant colors and values.

Image Texture#

The texture you will likely use the most is the image texture. With image textures, you can vary a material property based on an image.

How does the render engine know which image pixel to apply where on the surface? For this, the render engine uses a technique called UV mapping. With UV mapping, every point on the surface has a two-dimensional coordinate value (e.g., (0.24, 0.54)), in addition to its three-dimensional coordinate. These two-dimensional coordinates are called UV-coordinates. The render engine uses these coordinates to map the surface position to the correct image pixel. SketchUp determines the UV mapping for every surface, but you can manipulate them in Rayscaper, as you will see later. For more information, look at this Wikipedia entry.

Constant texture configuration

Mapping from 3D coordinates to pixel values via the UV-map. Source: Wikipedia.

Because image textures are so important, we made it easy in the UI to configure an image texture input for a material. You can configure the image texture by switching to the image texture type for the input via the dropdown menu, clicking on the icon after the input name, or dragging and dropping an image on this icon.

Image texture creation

Different ways of creating an image texture. Either via the dropdown menu or the icon by clicking or dragging and dropping.

Image textures have various configuration options, we will go over them one by one.

Image texture configuration options

The configuration widget for image textures.

Image Path: You can change the image file for a texture via the Open Image... button. If you edited the image in an external program, you can reload the image via the Reload Image button.

Wrap Mode: The wrap mode determines what happens for UV coordinates that fall outside the pixel boundaries of the image we use as a texture. Rayscaper supports the following wrap modes:

  • Black: Color values outside the pixel boundary black, or zero for constant values.
  • Repeat (default): Repeats the image. This is how you create tiles of images. Note that the image must be _ seamless_, i.e., the left and right edges are symmetric, and the top and bottom edges of the image are symmetric. If the image is not seamless, you will see artifacts at the tile edges between repeated images.
  • Clamp: Clamp the outside value to the image's pixel value at the edge.

Color Space: Configures the color space color the image. Rayscaper needs to know this to correctly transfer the image to linear color space used for rendering. The options are:

  • sRGB: The image is using the sRGB color space. This is typical for low-dynamic range image formats like png, jpeg, etc. Rayscaper converts the image from sRGB to linear color space before using it for rendering.
  • Linear: The image is in RGB color space. This is typical for high-dynamic range formats like EXR and HDR. Rayscaper doesn't have to do any conversion before rendering these images.
  • Auto: Automatically detect the color space. Rayscaper assumes sRGB color space for low-dynamic range formats, and Rayscaper assumes linear color space for high-dynamic range formats. Rayscaper treats images used as normal maps special, regardless of the format, Rayscaper assumes that the image is in linear color space because normal maps

Invert: Inverts each color in the textures. The below image displays an inverted texture.

No transformation

Scaled

Texture Transformation: It's possible to transform the texture in Rayscaper. This modifies the texture's placement on the surface. We support the following transformations:

  • Rotation: Rotates the image around its center by the specified angle in degrees.
  • Scale: Scales the image in the X and Y directions.
  • Translate: Translates the image in the X and Y directions.
  • Shear: Shears the image in the x and Y directions.

The images below show the texture transformations:

No transformation

Scaled

Translated

Shear X

Shear Y

Checks Textures#

Checks or checkerboards are classic textures in computer graphics. People have been rendering spheres on checkerboards since the dark ages. So, without question, Rayscaper has a check texture.

Sphere on checkerboard

An all-time classic in rendering, a glass sphere on a checkerboard.

The below image shows the configuration of the checks texture:

Checks texture configuration

Configuration options for the checks texture.

Even texture: Input texture that controls the even checks on the checkerboard.

Odd Texture: Input texture that controls the odd checks on the checkerboard.

Texture Mapping/UV Transformation: Controls the placement of the checkerboard on the surface by transforming the UV-coordinates. The exact meaning of each transformation is explained in the image texture section.

UV Texture#

The UV texture is a utility texture that you can use to display the UV coordinates of your surface. This can help in debugging problems caused by invalid UV coordinates.

The red channel for the texture visualizes the U-coordinate value. The green channel of the texture visualizes the V-coordinate value. The RGB values are assumed in the range (0, 1), so it's impossible to display negative UV coordinates that will be black, or UV coordinates that exceed 1. Here's how to interpret some standard coordinates:

  • (0, 0) black
  • (1, 0) pure red
  • (0, 1) pure green
  • (1, 1) pure yellow

UV texture

UV texture applied to a cube.

The below image shows the configuration of the UV texture:

UV texture configuration

Configuration options for the UV texture.

Texture Mapping/UV Transformation: Transformation applied to the visualized UV coordinates. The exact meaning of each transformation is explained in the image texture section.

Mix Texture#

The name says it all: you can mix two textures with the mix texture. This can be handy for creating complex textures based on simple input textures.

Mix texture

Mixing a leaf and noise texture.

The below image shows the configuration of the Mix texture:

Mix texture configuration

Mixing texture configuration options.

Texture A: The first input texture to bring in the mix.

Texture B: The second input texture to bring in the mix.

Blend Amount: The blend amount between textures A and B. For example, zero means only use texture A, and one means only use texture B and 0.5 mean mix equally between both textures.

Perlin Noise#

The Perlin noise texture is procedural. This means that it calculates the noisy look of the texture at render time.

Info

Perlin noise gets its name from its inventor Ken Perlin. Ken Perlin invented this noise when doing the visual effects for the 1982 movie TRON. Ken Perlin won an Oscar (Academy Award for Technical Achievement) for developing Perlin noise in 1996.

The below image shows the configuration options for the Perlin noise:

Mix texture configuration

Perlin noise configuration options.

Type: Specifies the Perlin noise flavor to use. Currently, Rayscaper supports:

  • Fractal
  • Perlin
  • Turbulence

Perlin Fractal

Perlin Perlin

Perlin Turbulence

Color A: First texture used in the Perlin noise calculation.

Color B: The second texture is used in the Perlin noise calculation.

Frequency: The noise frequency controls the noise grain.

Turbulence Frequency 1

Turbulence Frequency 4

Turbulence Frequency 8

Roughness: Controls the roughness/smoothness of the noise.

Fractal Roughness 0

Fractal Roughness 0.5

Fractal Roughness 1

Texture Mapping/Transformation: Controls how the noise is applied to the surface. Unlike the other textures, noise used a three-dimensional transformation.

The below images show a couple of noise variations generated by modifying the transformation.

Noise Transformation 1

Noise Transformation 2

Noise Transformation 3

Global UV Edit#

Sometimes, you want to position multiple textures at once with the same transformation. For this you can use the Global UV Edit tool. You can activate the tool by selecting Global UV Edit in the Quick Edits menu.

Activate global UV edit

Perlin noise configuration options.

Once activated, every edit you make to the UV transformation will update all the selected textures. The tool closes after clicking the done button.

global UV edit

Global UV Edit tool.

Assigning PBR Textures#

Materials#

Common Material Settings#

Normal Mapping#

Normal mapping is a classic computer graphics trick to fake more detailed geometry than there is. We do this by modifying the shading normals, i.e., the normals used in the light calculation of the surface, without changing the underlying geometry. A normal map encodes the normal's XYZ coordinates in the image's RGB channels. Z is the dominant normal direction for most normal maps, hence their typical blueish color. The below image shows a normal map.

UV texture

Example normal map.

The below images show the effect of applying the above normal map on a sphere.

Sphere with Normal Map

Sphere without Normal Map

There are several configuration options for normal maps.

UV texture

Normal map configuration options.

Normal Map Type: Switches between normal mapping and no normal mapping.

Texture: This is the image texture used for normal mapping. Not every image will give the expected results, the image needs to be a normal map encoded in tangent space.

Normal Maps and Color Space

Selecting the wrong color space for image textures that are used as normal maps can lead to rendering artifacts. When in doubt, leave this to Auto unless you know that the normal map you use was explicitly sRGB encoded.

Flip Red: Inverts the color of the red channel.

Flip Red: Inverts the color of the green channel.

Swap Red and Green: Swaps the red and green channels of the normal map.

Opacity#

Opacity controls how opaque or transparent the object is we apply the material to. 0 means fully transparent and 1 means fully opaque. The below images show the same material, with different opacity settings.

Opacity 0.2

Opacity 0.2

Opacity 0.9

Opacity 1

Opacity for Foliage

Opacity makes it very easy to create leaves without having to model them. Just put your leaf image on a simple plane and use the texture's alpha channel to cut out just the leaf.

Leaf with opacity
Using opacity to create leaves.

Emission#

In Rayscaper, every material can emit light. You can configure this via the emission configuration. Rayscaper support 2 different emission types, diffuse emission, and blackbody emission.

Diffuse Emission#

Diffuse emission emits a constant color in all directions. Emission only happens on the front of the surface unless the Two Sided option is checked.

Diffuse emission configuration

Configuration options for diffuse emission.

On: Turns emission on and off.

Color: Controls the emission color.

Power: Controls the power emitted by the emitter.

Diffuse emission power 0.1

Diffuse emission power 5

Diffuse emission power 100

Two Sided: Emits on both sides of the surface, as opposed to only emitting on the front side of the surface.

Fake Emitter: Gives the material the brightness of an emitter, but the geometry this material is applied to won't act as a light in the scene. Using this option can reduce render times.

Diffuse fake emission on

Diffuse fake emission off

Blackbody Emission#

Blackbody emitters are physically perfect emitters that radiate electromagnetic radiation based on their temperature. At lower temperatures, light is emitted in the red wavelengths. At higher temperatures, this shifts to the blue wavelengths. The sun and stars are examples of blackbody emitters.

Blackbody emission configuration

Configuration options for blackbody emission.

On: Turns emission on and off.

Temperature: The temperature of the blackbody in Kelvin (K). Lower temperatures result in red colors, higher values will give blue colors.

Blackbody emission 2000K

Blackbody emission 6000K

Blackbody emission 9000K

Blackbody emission 12000K

Power: Controls the power emitted by the emitter.

Two Sided: Emits on both sides of the surface, as opposed to only emitting on the front side of the surface.

Fake Emitter: Gives the material the brightness of an emitter, but the geometry this material is applied to won't act as a light in the scene. Using this option can reduce render times.

Disney Material (PBR material)#

The Disney material is Rayscaper's PBR (Physically Based Rendering) material. The material has intuitive controls and can emulate a large number of real-world materials.

Info

The name Disney material comes from the fact that the PBR material was invented at Disney for the movie Wreck-It Ralph by Brent Burley and his collegues. In other render engines this material is known as PBR material or principled material.

Changing texture type

Configuration options for the Disney material.

Color: Controls the base surface color of the material. A PBR diffuse map can be used as the input.

Metallic Controls how much the material looks like a metal. Zero is a dielectric, one means fully metallic. A PBR metal map can be used as the input.

Metallic 0

Metallic 0.5

Metallic 1

Roughness: Controls the roughness of the surface. Zero means perfect smooth and one means very rough. Highlights will become blurrier with increased roughness. A PBR roughness map can be used as the input.

Roughness 0

Roughness 0.2

Roughness 0.5

Roughness 1

Index of Refraction: Index of refraction (ior) of the material. This controls at which angles reflection and refractions happens on the material surface.

Index of Refraction 1

Index of Refraction 1

Index of Refraction 1

Anisotropic: Controls the amount of anisotropy for specular highlights. Higher values elongate the highlights in the tangent direction.

Anisotropic 0

Anisotropic 0

Anisotropic 0

Anisotropic 0

Sheen: Sheen can be used to model cloth, it's a subtle effect that creates a white shimmer near the edges and folds of the cloth.

Sheen 0

Sheen 0.5

Sheen 1

Diffuse Material#

Glass Material#

Coated Material#

Metal Material#

Material Preview#