The Visine bottle. It is a simple product example, but the plastic material it is made out of, known as HDPE, has proven to be one of the trickiest materials to reproduce realistically in CG. High-Density Polyethylene is used in a huge variety of products, so it should be no surprise that this has come up over and over in CG production... especially for those of us that do product visualizations regularly. I will explain what makes it difficult and cover the many solutions I have tried before finally landing one that looks spot on.
The HDPE Materials
As you can see on the HDPE Wikipedia page, this material is widely used in manufacturing. There are variations of this plastic that this will also be applicable to, such as Low-Density Polyethylene LDPE, Polyethylen (PE) or Polypropylen (PP), and even some Acrylics. They all have a few important properties that make them unique.
- It is clear plastic, but can also be cloudy or milky.
- It is refractive, but only creates slight or little distortion.
- It is reflective, but can have varying degrees of surface polish.
- It can be a color, but is most commonly clear or white.
- The thicker the material, the more it scatters light and the more dense it looks.
The problem with many of these material properties is that they seem to cancel each other out and it seems that everywhere, regardless of software, people had similar issues with this type of material. It's on forums everywhere for Keyshot, VRay, Mental Ray, etc. People get stuck trying to reproduce this material because if it is not right, it looks flat, or cheap, or isn't clear enough, etc. There always seems to be one aspect that is wrong. Long story boring, here's how I started to get there....
Attempt #1: SSS
The first thing I thought to try, was a simple Sub Surface Scattering or SSS material. It seemed like an obvious choice because I knew my bottle needed to be refractive and needed to be affected by thickness. This issues that remained were that I couldn't get the material clear enough and the elements inside weren't as visible as they needed to be. The basic function of the SSS seems to make it impossible to land at a good thin milky plastic result. Also, the thickness is very hard to predict an control. If you picture a thin tube of HDPE with a pencil in it, the pencil will still readable. Or if you have a label on the back of a Visine bottle which is visible from the front, that label should still be somewhat legible if the bottle is thin. With SSS, this isn't the case.
Attempt #2: Refraction and Fog
I figured, why not try a standard VRay material and just see if it is possible with refraction and fog... but I could not get the reflections to look correct at all. The material looked too clear, or too dull you can't have it both ways. Plus, VRay refractive fogginess of the material also can not be white, due to some odd limitation. So this got scrapped quick.
The solution is more complicated, but has aspects that are highly controllable, albeit, very slow.
Start With a VRay Blend Material. This will allow to create the layering of elements needed. As you can see, we'll use 3 layers to get it there.
In the first slot, add the base material. This will be the secret ingredient, VrayScatterVolume. This covers the white fog aspect of the HDPE, and will even be based on density. It is not possible to achieve this any other way. It is easy to control and adjust the fogginess separately form the other aspects of the material. Here are the setting I used. But this alone will look like a ghost, so you need more on top. Scatter Radius controls the density of the while volume fill. The higher the number the more the white fog dissipates. You can view my settings above.
In the First slot, add a VRayMtl. This will be the layer on top of the fog which produces accurate refraction and helps calculate a more accurate translucency. You can control blend amount as needed to get it right for your scene.... I just start at 50%. You can view my settings above.
In the Second slot, add another VRayMtl. This will be the reflective top coat. Note this material is totally clear with full reflectivity and is forced to look more plastic-like by reverting it to Phong. You can control how soft the reflections are with this material and how much the shininess blends. It's pretty versatile. You can view my settings above.
This combination gives you full control over all of the aspects needed to reproduce the HDPE material properties. Play around with settings till they fit your scene and lighting, it is surprisingly versatile. I can't show what I used it on, but I can show a simplified version of the material on some random objects.
Honestly, I didn't care about speed as these were for print anyway. However, I would love to hear if anyone has ideas for speed improvements? This material is extremely slow, but is the only solution I have found to accurately portray this material.
Hope this helps someone out. Peace.
Below is a link to a simple file with the annoyingly slow, but fairly accurate and highly tweakable material. Also note that: GI slows down this material 10 fold, likely due to the volume material.