Material Series
Version 1.0, Updated May 2025 using Octane 2025.1
~6,550 words, average read time: 30 min
About this guide
This guide is a deep dive into subsurface scattering in materials. Part I covers the physics behind SSS, Part II goes into how Octane implements it (mostly DCC-agnostic, but there are a few C4D screenshots in there), and Part III is a deep dive into the Scattering and Random Walk mediums.
Downloads
All materials created using this guide can be 💾 found here
This guide is also available in 📄 PDF format here
Introduction
Subsurface scattering is a natural phenomenon that happens when light enters a translucent object. The light bounces around and gets absorbed, and we’re left with a nice diffuse glowy look. This is usually seen in organic material like skin and muscle, plastics, gels, minerals, marble, wax, and other things like that.
Simulating SSS is a GPU-intensive process that relies on a lot of things going right. Setting up an SSS material isn’t a one-and-done proposition. Every time it’s added into a new scene, the lighting and environment needs to be considered, and the material will probably have to be customized for each scene (and possibly each object in the scene.)
Brace yourselves, lots of fiddling is coming.
Part I
SSS in the Real World
The Physics
It’s a good idea to get an overview of how light and mediums work in the real world if we have any hope of understanding all the different settings we’re going to have to dink around with when trying to simulate it
Overview
The light produced by an emitter (lightbulb, candle, sun, etc.) is made up of lots and lots of photons that all move at the same speed in a vacuum. Each of these photons are traveling on a particular wavelength read to us as specific colors.
Different light sources emit photons with different ranges of wavelengths which is why some light (warmer) looks more yellowish, some more bluish (cooler), and some pretty close to pure white (full spectrum).
If an emitter is turned on in a perfect vacuum, these photons will travel indefinitely along the same path. It’s pretty rare that we directly observe this unless we spend a good deal of time in space or a very expensive physics lab.
The rest of the time, our emitted light interacts with what we call a medium which is a volume of… uh… stuff. This can be a gas (the air around us being the most common one), liquid, solid, plasma or some kind of exotic matter state.
When light interacts with a medium, a few things can happen.
- It can bounce off a reflective surface.
- It can be redirected through a transparent/translucent object via refraction.
- Some or all of the individual wavelengths can be absorbed into the object.
- Some or all of the individual wavelengths can scatter around inside the object.
- Some combination of all the above things can happen.
If all of the different wavelengths absorb or scatter equally, the object stays the same color, but it appears brighter or dimmer depending on what’s happening inside. If the medium splits the wavelengths up and absorbs or scatters some, but not all, then the apparent color of the some or all of the object changes.
Transmission vs. Translucency vs. Transparency
If a medium allows energy of some sort to pass through it (even wavelengths that we can’t see like IR or UV), it’s said to have transmissive properties.
If it allows visible light through, it’s said to be translucent.
If we can pretty clearly see things on the other side, it’s said to be transparent.
Transparency is a subset of translucency which in turn is a subset of transmission.
Subsurface Scattering
Subsurface scattering is what happens when we have a translucent object that scatters light about inside its medium as it’s absorbing it, which gives a material a fuzzy, glowy, diffuse lighting effect.
Technically SSS would just refer to the scattering portion, but as we’ll soon see, absorption plays a huge role in this, so in this guide we’re going to avoid getting pedantic about it and just refer to the whole effect as SSS.
Factors that Influence the SSS Effect
Lighting
Getting a nice look is just as much about the lighting as it is the material.
The strongest effect comes when there’s a bright light source behind or to the sides of the object relative to the camera. This gives the rays a chance to bounce around and do their thing before showing up on the side of the object we’re looking at.
If our SSS object is the hero object in the scene, we’ll want to cater the lighting to it and experiment with different setups to get a nice look. It’s easier to control this with individual lights than environmental lighting, but often we’ll need both, especially if the material is more transparent.
The rest of the lighting in the scene also makes a difference. If we have most of our light in front of the object, it’s going to wash out the effects of the light coming in through the back and the effect won’t be very strong. Similarly, even if all the light is behind the objects, if none of it is really directly hitting the SSS material, it’s not going to stand out.
Simplifying the lighting as much as possible will make it more efficient to adjust as we’re developing a material. It’s far easier to boost or lower one or two lights than try to strike a balance between five or ten plus whatever’s reflecting around the scene.
Scale
Probably somewhere around a quarter of all the guides in this series have some blip about how real-world scale is important. Dealing with transmission-based materials is one of those times where it _really_ matters.
The more time light spends in a medium, the more it interacts with it. This gives the medium more of a chance to absorb or redirect the light so it doesn’t get through to the camera.
In the example above, the two objects are made out of the exact same material and have the same light source in the same position behind it. The 18 cm tall statue lets through a lot more light than the 325 cm tall one.
If we don’t start out with plausibly-sized objects to start with, it’s going to take hours of fiddling with literally everything in the scene to get the balance right again. Efficiency is key here considering the render times.
Obstruction
There are other scene-related things to watch out for. If the SSS object is being blocked by another object, or it’s embedded in a non-transmissive or emissive object (or one is embedded in it), then the effect is also going to be pretty weak.
There are tricks we can do to help bring out the effect if a button has to be embedded in a housing, but it’s important to know that SSS isn’t a one-and-done situation - the materials will likely have to be tweaked in every scene.
Density
The density of the material affects how much the light scatters and absorbs. If we have two objects of the same size that are lit the same, the one made of a denser material like muscle or marble scatters and absorbs the light more than one made of light foam or cloudy glass. Less light gets through, giving it a more solid appearance.
Part II
How Octane Implements SSS
Overview
Octane is a realistic physics simulator, so much of what we learned in the previous section is directly transferable here.
In order to get a SSS effect in a material, an Octane material needs:
- To be a type of material that supports mediums like the Universal or Standard Surface material.
- Its Albedo, Metallic, and Emission properties set to either none (0/0/0 float 0) or a very minimal amount so it doesn’t block transmission.
- Its Transmission properties set to a non-zero value (a gray or color). SSS works with either Diffuse or Specular type transmission, not Thin Wall.
- A Random Walk or Scattering medium fed into the Medium channel (and set appropriately).
Once we have a material with all that and put it on a model, Octane will create a volume inside it. We can think of this volume as having a bunch of little particles in it. Every time a light ray enters the medium and strikes one of those particles, it can trigger a scattering and/or absorption event.
The medium has several controls to determine how many particles are inside, what exactly happens on a strike, and how far into the model light will travel before it starts triggering events. This applies to both the Scattering and Random Walk mediums, but they work in different ways as we’ll soon see.
Important: Recently, Octane introduced the Standard Surface material, which as of this writing (Octane 2024.1.2), overriding the default medium has not been implemented in Cinema 4D. This guide will be updated to explore that more when this changes, but for now the focus will be on the Universal Material and Scattering/Random Walk mediums.
Transmission
Since light needs to enter a material for it to be able to absorb and scatter, it needs to have Transmission properties, and it’s important to know a little bit about how this channel works before we even get into the medium itself.
Octane has four total transmission modes: Diffuse, Specular, Thin Wall Diffuse, and Thin Wall Specular.
Diffuse Transmission
Diffuse Transmission is for translucent materials (lets light through) that are not transparent (lets us see stuff on the other side clearly). It’s good for simulating materials like ABS or PETG plastics and biological material (flesh/organs/dense food/etc). Anything where there aren’t any clear see-through parts of it.
Important: Diffuse transmission itself looks a lot like it has SSS, but it isn’t really - all the scattering we’re seeing is on the surface of the material. The color variation we’re seeing inside the model has to do with parts of the geometry blocking other parts, or the angle the light rays are entering the model. No absorption is happening, and no scattering is happening inside the model. It’s not SSS.
We can’t control the surface scattering of diffuse transmission, but we can control how much light gets through using the Transmission color. If we’re using the HSV color model, the V slider (Value) lets in more or less light. If we’d rather control this in a linear fashion on a 0-1 scale we can use a Float texture instead.
Again, this is happening on the _surface_ of the model - similar to putting a tinted film over a pane of sandblasted glass. Nothing is happening inside the volume of the model until we apply a medium.
Important: The Roughness and IOR channels do not affect Diffuse Transmission. If we need more fine-tuned control of the surface, we have to use Specular Transmission instead.
Specular Transmission
Specular Transmission is for translucent objects that are both translucent and transparent. It’s usually used for glass, acrylic, liquids, oils, and other substances that we can pretty clearly see through. We can then add a medium to it to introduce subsurface scattering to simulate materials like jade or cloudy liquids.
Unlike Diffuse Transmission, a material with Specular Transmission is affected by the Roughness and IOR (Dielectric) channels. IOR has a pretty big impact on Scattering when using Specular Transmission, so it’s one of those things we’re going to always want to play with as we’re developing our materials.
If we take the roughness up to 1 and the IOR down to 1, we’ll get something that looks like Diffuse Transmission. It’s pretty close, but uses different calculations and operates differently, especially after a medium is applied.
Important: Specular transmission + IOR + Roughness + a Scattering medium is easily one of the most brutal things we can do to our poor, overworked GPUs because of all of the extra calculations involved. If we’re going to include a material like this, we’d better make sure we’re getting a LOT of value out of it that’s worth the amount of sampling and other mitigation we’re going to have to do to get a clean render.
Also Important: The same IOR value controls both specular transmission and specular reflection. If we want to separate these out, we should zero out the specular channel and add something into the coating channel instead which has its own IOR value.
Thin Wall Transmission
Thin wall Diffuse and Specular transmission do not allow for a medium (and therefore can’t be used with SSS), so we’re just going to skim over them here.
Thin Wall Diffuse ignores the volume of the model and only concentrates on the walls of the mesh itself, making the effect very fast, but not super controllable. We’d use this for simulating very thin translucent (but not transparent) things like leaves, fabrics, and paper/parchment.
Thin Wall Specular also ignores the volume of the mesh, and therefore IOR has no effect on the transmission (but still affects specular reflection found in the Specular channel). Because the path tracing rays don’t have to deal with the intricacies of going through the volume of the object, it’s a very fast effect as well. It’s really good for thin blown glass, thin membranes, balloons, cellophane wrap, and other transparent objects like that.
Color from Transmission
The Transmission color affects both the tint of the transmission itself AND how much light can pass through. Black means no light gets through, white means 100% of the light passes through. If we’re using an HSV color model, the Hue and Saturation determine the color of the transmission, while the Value determines the amount of light that can transmit.
We’ll look at SSS coloring soon, but it’s good to know up front that the Transmission Color can have a big impact on our overall look.
By combining Transmission color with Albedo/Radius (Random Walk) or Scattering/Absorption (Scattering), we can achieve a variety of effects, but it can also get in the way and be yet another variable we have to tweak.
It’s best to think of the Transmission color as a way of “tinting” the overall material. Where it's most effective is if we have a look we kind of like already and want to change the overall cast as seen in the last three panels above (almost like color correcting it). We could achieve the same effect by picking different colors in the medium, but in this case if we wanted several variations of the same basic material, we could just apply a bit of transmission tinting to do that quickly.
When we’re first starting out, we really just want to leave it white so it’s not interfering, and then look at it again later on after we’ve worked on our material for a bit.
Kernel Settings for Transmission
When we’re setting up our material for SSS, we have to choose either Diffuse or Specular type Transmission (Again, Thin Wall doesn’t take the volume of the mesh into consideration, so adding a medium doesn’t do anything).
The best kernels to use for SSS are either Path Tracing if caustics aren’t a concern, or Photon Tracing if they are. Both have Diffuse Depth and Specular Depth settings.
If we chose Diffuse type Transmission, then the Diffuse Depth will control how many times light will bounce around inside our object after the medium is applied. Specular Depth will have no effect on the transmission, but it still will affect the surface (specular reflections/coating/etc.) if any of that is turned on.
If we chose Specular type Transmission, then Specular Depth will control how many light bounces occur inside the object, and Diffuse Depth will no longer have any impact on the Transmission.
Since this guide is focusing on SSS, we’re going to assume our hero object in the scene will have the SSS material, and therefore start with a relatively high Specular or Diffuse depth (depending on the Transmission type). 8-16 for Diffuse Transmission and 16-24 for Specular Transmission are good starting points, and after we get a little further into the lookdev process, adjust it to see if it makes a noticeable difference.
The Scatter Depth setting is also important, but we’ll look at that later after we learn a bit more about how scattering works in Octane.
Aside from bounces, we’ll likely need more max samples than we’re used to get a clean render (start with 1024, probably end with more than that), keep the GI Clamp at 1,000,000 (default), and probably use a denoiser.
The new Open Image Denoiser often does a better job than the original AI Denoiser with SSS (cleaner result with fewer samples), so it’s worth trying both to see.
Mediums: Overview
Ok, finally time to get into the actual scattering part of this :)
Octane currently has five dedicated medium nodes, only two of which are interesting to us in this guide:
The Absorption Medium is great for liquids and gases where we’d rather not waste render cycles on the tiny amount of scattering in them. This is covered in the Universal Material Channels guide. Absorption is baked into the Scattering and Random Walk mediums, so we’ll still talk about it here since it’s important, but we don’t use the actual Absorption medium node when doing SSS.
The Volume and Standard Volume Mediums are only used for voxel-based volume data like SDFs like cloud and smoke sims. There’s a whole other Introduction to Volumetrics guide, so we’re not going to cover them here. We just need to know to avoid them for materials.
The Scattering Medium and the Random Walk Medium are the two we’re going to use for SSS. These just go directly in the Medium pin of the material. Easy peasy (this is the last time this guide is going to use that expression, so savor it).
The Algorithms
The Scattering and Random Walk mediums aim for the same effect, but use two different algorithms to get there. Picking between them comes down to the look we’re trying to achieve.
The Scattering medium is sharper and more contrasty, and is great for things like replicating the look of a 3D printed piece, stamped plastic, stylized characters and other non-photoreal applications. It gives us a little more granular control and lets us add emission into the medium itself to self-illuminate, but it’s more difficult to work with and isn’t as realistic.
The Random Walk medium is softer, smoother, more realistic and better for things like organic matter (especially skin, wax, and food), and it also tends to do better with polished marble and semi-translucent stones like jade. It lacks the ability to add emission, and can take longer to calculate than Scattering (longer render times).
Medium Settings Overview
Even though this is a true volumetric effect, we don’t get the same controls that we do using an SDF volume (fog, fire, smoke, etc).
This means that many of the controls in the scattering section of the medium nodes do not affect materials as we can see above.
Good news is that this makes our lives a lot easier now that we know this. We only have a few things to mess around with to get the look we want and we can concentrate our efforts there.
Let’s have a look at the settings in more detail:
Common Properties
Both the Scattering and Random Walk mediums share some similar properties, even though they work a bit differently from one another.
Before we get into the complexities of color, let’s get an understanding of the basic properties using only single value scales (0-1, or grayscale - not HSV/RGB).
Absorption
Absorption controls how much energy is sapped from a light ray as it travels through the medium.
After a light ray enters a medium, at some point it starts striking particles. When absorption is present, each particle that it strikes causes it to lose a little energy (get dimmer). The thicker the part of the model the ray is traveling through, the more particles will occur in that region and the more chances the light will have to lose energy, meaning the whole object will appear darker.
When the absorption value is at the maximum, Light will be absorbed very quickly upon entering the medium. We’ll only see it get through on the thinnest parts of the model. This is further complicated when we adjust the color of the absorption which we’ll see in the next section.
As we reduce the absorption, each particle strike will have less of an absorbing effect and have a better shot of letting the light all the way through. Somewhere in the middle here there’s a sweet spot for our look.
When absorption hits zero, it has no effect, thereby turning it off.
Scattering has a large effect on this because it’s redirecting the rays inside the model, so even if a ray came in at a thin part, it may be redirected toward a thicker part and get absorbed more (or vice-versa).
Scattering
When it comes to the actual scattering itself, we can control the color, direction, and how far into the model the scattering starts to happen. The two mediums handle this in very different ways, so we’ll explore that more when we get to the next section.
Density
Density increases or decreases the amount of particles in the medium that light rays interact with. The more particles there are (the higher the density), the better the chances the light will strike one as it’s bouncing around and trigger an absorption and/or scattering event.
Practically this means that it amplifies the effect of scattering and absorption and makes the object feel more, well, dense. This generally presents as a darker and/or more saturated look with less light coming directly through.
The bulk of how our SSS material is going to look has to do with striking a balance between absorption, scattering, and density.
Important: The higher the density, the more calculations Octane is forced to do. This means it’s going to take more samples to get a cleaner result, and the render times will get longer.
Scattering Depth
The Path Tracing, Photon Tracing, and PMC kernels all have a slider for Scatter Depth, which greatly affects the look of the SSS (both with the Scattering and Random Walk mediums, as well as volumes).
After we pick a Transmission type and determine how many bounces we’re going to allow with either the Specular Depth slider (for Specular type transmission) or Diffuse Depth slider (for Diffuse type transmission), we then use the Scatter Depth setting to determine how many of each of these bounces produce scattering events.
Important This means that the Scatter Depth is capped by the number of either Specular or Diffuse bounces we have. If our material uses Specular transmission and we set the Specular Depth to 16 like in the illustration above, anything past 16 in our Scatter Depth will not affect our scene. Same goes if we’re using Diffuse type transmission in our SSS material and have our Diffuse Depth set to 16.
So really what we want is our Scatter Depth to match our Specular Depth if using Specular Transmission, or Diffuse Depth if using Diffuse Transmission, and then adjust BOTH settings (Diffuse/Scatter or Specular/Scatter) up or down depending on how good we need it to look vs. how long we’re willing to wait for it to render.
If the SSS material is not the hero in the scene, we can lower the Scattering Depth to save some render time.
Part III
Medium Deep Dive
The Scattering Medium
The Scattering Medium has discrete controls for absorption and scattering, as well as emission (which we won’t cover here) and phase for tweaking the look.
The medium node itself doesn’t do much out of the box - we need to drive both the Absorption and Scattering values with some sort of texture. The most common ones are Float or RGB Spectrum to get a uniform appearance, but we can also feed in image textures or patterns to get interesting looks.
Absorption
Absorption is more easily observed using Diffuse transmission, so all the examples here have the transmission set to Diffuse, and Scattering set to none.
Grayscale
If we assign a grayscale value (Float Texture) to the absorption color, every time a ray hits a particle, all the wavelengths are lose power equally, so the light stays the the same color as it absorbs into the medium, it just appears dimmer after it passes through. If it hits enough of these, all the energy is lost and it goes completely extinct (blacks out).
If the Invert Absorption checkbox is OFF, and we use a lighter gray, it loses more power each time it hits a particle, and dies out faster. If we use a darker gray, it loses less power per hit and the odds of it making it through the other side are greater. If the Invert Absorption checkbox is ON, the opposite happens.
Important: Using a Float texture is different than using the Value in the HSV model to pick the gray. 50% or 25% Value in HSV won’t match up to 0.5 or 0.25 Float because HSV is a nonlinear model and Float is a linear scale. Just something to be aware of when adjusting the sliders. More on that in the Color Management guide if you search for “picker”
Color
If we color the absorption, we now have a few different variables to consider. This is easiest to describe using the HSV (Hue/Saturation/Value) color model.
One interesting thing here for the more nerd-minded of us is that the Gaussian Spectrum node actually allows us to directly pick the wavelength, width, and power values to get very specific light wavelengths, but HSV is a pretty good approximation of this and a lot easier to use and understand as an artist.
Important: The HSV color model can really start to cause us a headache here if we don’t know what’s happening. Because it’s a non-linear scale, the difference between 100 and 90 is VERY different from the difference between 0 and 10 for the Saturation or Value. There’s a 10 point difference in both cases, but because of the nature of the scale, our eyes, and our monitors, each point toward the lower end makes a much larger visual difference than each point at the higher end.
Absorption: Hue
The Hue targets the wavelengths along the visible spectrum that make up that particular hue. Absorption drains energy from just those wavelengths we specified and lets the rest through.
If “Invert Absorption” is checked, it inverts the color we picked, and that color is let through while all the others have energy removed. So basically if nothing else is interfering with the color and we choose a pick absorption color and invert is off, our model looks more blue. If we tick “invert absorption” and choose the same red, our model looks more red.
The reason this tickbox is there is that it’s just easier to think “I want this thing to look red, so I’m going to chuck a red color in there” rather than busting out our color wheels to try to figure out the inverse of what we really want. As we’ll soon see, it’s also very useful when we want to make the Absorption color the inverse of the Scattering color.
Absorption: Saturation
Saturation widens the range of affected wavelengths, using Hue as the center point. The wider the range (less saturation), the more wavelengths are absorbed and the darker and closer to gray the model looks. If it’s at 0, it affects all wavelengths equally since it’s now gray.
Again, “Invert Absorption” will flip this, so higher saturation numbers will make the model appear more gray and lower ones will make it look more saturated.
Absorption: Value
Value does the same thing that grayscale absorption does - it reduces the power from all the wavelengths equally. If it’s at full strength (100%), then it absorbs all the wavelengths at full strength except for the ones specified by the hue/sat. As we darken it the value, it weakens the absorption and lets more of everything through which brings the overall color closer to white. If the Value is at 0, there’s no absorption.
Scattering Coefficient
Just called “Scattering” in the UI, this controls how deep into the medium the rays travel before scattering.
Scattering is a tricky thing to isolate - most of the time it’s just one more effect in the stack, but if we want to really see what it’s doing, it takes some work. In the examples below, the new Null Material was used which has no surface properties, so it just shows the medium. A Scattering medium was fed into the Null material, and Absorption was disabled (set to black with invert turned off) so we now will only see the effects of the scattering itself.
Grayscale
If we use a grayscale value (Float texture or the Value (V) slider in HSV), then we can further isolate the scattering effect without worrying about what color does to it (we’ll explore this next).
Setting the Scattering Coefficient (Scattering) to black - or zero - completely disables scattering. All light passes through the medium unhindered and it just appears fully transparent to us.
Very low values mean that light travels all the way into the thickest part of the model before it starts to scatter. This means that in the thinnest parts (like the elephant’s ear), light can travel all the way through without ever hitting a particle and triggering a scattering event (so it doesn’t show up at all). It’s only in the thickest parts that we see any kind of scattering going on.
As we get closer to 1 (or white), light scatters earlier as it enters the medium and bounces around more, making more of it visible and more dense looking. When we hit 1, it scatters immediately upon entering the model. If no absorption is present, it makes it look almost solid except for the thinnest parts where it scatters out of the model.
Color
Just like absorption, setting the Scattering Coefficient to an RGB spectrum color gives us three values (H, S, and V) to play with to adjust the look.
Important: The apparent color of the final material relies a LOT on the model itself, the density, transmission type, transmission color, and how long we give the render to resolve itself. The difference between 32 and 2048 samples will provide VERY different results, so the one of the keys to SSS is patience.
Scattering: Hue
As light travels in toward the center of the medium, the Hue acts as kind of a filter that tells which wavelengths to scatter more (splitting the light).
When we pick a hue color, the light spectra that make up that hue start scattering sooner as it enters the medium, while the inverse (the spectra left over) travels deeper into the model before scattering, giving the appearance in the illustration above.
Scattering: Saturation
At 100%, Saturation splits the wavelengths in a very sharp manner - the ones specified by the hue scatter immediately and the leftovers wait until they get most of the way in before scattering. When we start to lower our scattering color’s saturation, it gets closer to gray, and the colors will start to blend together more and lessen the splitting effect. When Saturation hits 0%, The color becomes a shade of gray, and all the wavelengths scatter the same.
Scattering: Value
As we learned earlier, the lighter the value of the scattering color, the sooner it starts to scatter as it enters the medium. If we’re using grayscale scattering, this just means the lighter the gray, the sooner the rays scatter and the more dense the overall appearance is.
If we’re using colored scattering, things are a bit different. Our particles are splitting the wavelengths, so as the value darkens, we start to lose the inverse color completely as it travels through the medium without scattering. As we go even darker, fewer scatter events happen, and the whole thing looks less solid and more dim until it hits 0 and no scattering occurs.
Using Scattering and Absorption
We looked at both the Scattering and Absorption colors individually, but by assigning a color to both the Scattering and Absorption properties, we can control what color scatters and what’s “left over”.
In the above example, the left panel shows what happens when our Absorption is 0 (black) and not inverted. It scatters the wavelengths that make up our orange color and lets everything else straight through deeper into the medium.
If we apply the same color to our absorption and invert it (or know the inverse color and apply it without inverting it), it scatters our orange wavelengths just as it did before, but it now absorbs all the other ones so we don’t see any blue. What we see instead is that the orange wavelengths dim as they travel further into the model and go extinct
If our absorption is any other color than the inverse of the scattering or grayscale, then we’ll see whatever’s left over tint the front of the model, and the orange will be even less apparent since some of that is going to get absorbed as well.
This makes this medium kind of tricky to really dial in a good color combo (especially if we’ve inverted the absorption). If we’re looking for something that’s not one of the two scenarios above. It becomes a lot of trial and error.
Phase
This controls the direction that the rays scatter when light hits a medium. 0 (default) means that the scattering goes in all directions equally. Positive values means it’s more likely to keep going in the direction it was going, and negative values mean that it’s more likely to go back toward the direction the ray came from.
Practically this means that when we’re using negative numbers and front lighting, the effect will be brighter and sharper, and if we’re using positive numbers the effect will be softer and more dim. If we’re using backlighting, the opposite is true and positive numbers will direct more rays at the camera while negative numbers scatter the rays back.
If we’re using colored scattering or absorption, this will change how much of each color we see a little bit too.
How much of an impact phase will make depends on the density, colors, lighting setup, and transmission type, so it’s best to set it at the very end of the process after all the other settings have been dialed in.
The Random Walk Medium
Random Walk is a little easier to understand. Rather than two discrete settings, both Scattering AND Absorption are affected by both the Albedo and Radius controls. They’re linked in a realistic fashion, so we don’t have to think about inversion or which wavelengths are left behind vs. which are blocked. We set a couple of colors and it just works how we’re expecting.
Random Walk Albedo
This is similar to the scattering color in the Scattering medium, only it also has inverse absorption baked in, so whatever Albedo color we specify, we’ll only see that as it travels through the model since the other wavelengths will get absorbed. This makes working with Random Walk a lot easier, since we’re not worrying about fiddling with absorption.
It still scatters out like the Scattering Medium (though using a different algo), so it gets darker toward the front of our model when we have a single light source in the rear.
Random Walk Radius
If the radius is grayscale, it determines how far into the volume light travels before it starts to scatter AND absorb. This is a key difference between the Random Walk and Scattering mediums.
A Radius of 0 (or black) means that light can’t travel into the medium at all and effectively turns off the scattering completely.
A Radius of 1 (or white) means light rays can go fully into the center of the medium before starting to get scattered and absorbed, giving an overall brighter appearance.
The higher the radius, the less likely scatter and absorption events will happen, which means thinner parts of the model may scatter/absorb very little or not at all.
If the radius is colored, it does two things:
The Value slider in HSV still controls how deep the light travels before scattering, so lighter colors will start the scattering later than darker colors.
The Hue and Saturation both affect the absorption and let other wavelengths through. The really nice part about this is that we don’t have to know any color theory to make this work, we just pick a color, Octane does the back-end calcs, and we’re left with that color after all the albedo color wavelengths are scattered out/absorbed.
Note: As of this writing (Octane 2025.1), The default control for Radius in the C4D Plugin is a 0-1500 slider, and it defaults to 1. Values above 1 don’t do anything, so it really should be a 0-1 float. This can be overridden with an RGB Spectrum or Float Texture to make it easier to control until this is fixed.
Bias
Bias is a tweaky setting that we can use after we dial in the rest of the Random Walk settings to skew the result a little more toward the radius color (negative values) or a little more toward the albedo color (positive values).
Just like the Phase setting in the Scattering medium, how much of an impact phase will make depends on the density, colors, lighting setup, and transmission type, so it’s best to set it at the very end of the process after all the other settings have been dialed in.
Textures
We’re not just limited to single colors though - adding textures into the various parts of the medium creates some really interesting effects.
In the above examples, different noises were put into either the Albedo or Radius channels. We could put different noises or other textures into both, but it quickly becomes difficult to predict results, so it’s best to keep things as simple as possible.
Note: This isn’t just limited to the Random Walk medium - we can put textures into the Scattering and Absorption pins in the Scattering medium as well. The results will be different from the Random Walk ones because of how the mediums work, but we can achieve some interesting effects.
You can download the materials in the example above in the download section at the top of this guide.
Wrap Up
If you’ve made it this far, you should have a pretty good understanding of what SSS is, how to get it going in Octane, and what the important controls and external factors are.