39
$\begingroup$

I have been trying to create a transparent lens using the eevee rendering engine in 2.8 but the transparency slider has no effect. Has this feature not been implemented yet? I've looked all over the Web for an answer with no luck. I'm a noobee so am probably doing something wrong.

$\endgroup$
6
  • $\begingroup$ Blender 2.8 is under heavy development, it is not feature complete nor ready for testing, even less production work $\endgroup$ Commented Jun 21, 2017 at 18:07
  • 5
    $\begingroup$ I'm voting to close this question as off-topic because it is about an incomplete development version of Blender $\endgroup$ Commented Jun 21, 2017 at 18:08
  • 1
    $\begingroup$ Albeit Eevee is in heavy development Transparency was added just some days ago. I try to make videos of the progress of Eevee, you can watch some of the videos on youtube. youtube.com/watch?v=TMmJuIxOCB8 $\endgroup$ Commented Jul 13, 2017 at 17:52
  • 1
    $\begingroup$ Here is a video where he uses the alpha image and the transparency node with the principled bsdf. Check this video- google.com/url?q=https://m.youtube.com/… $\endgroup$ Commented Jun 14, 2018 at 8:58
  • 2
    $\begingroup$ Recommended reading: Cycles vs Eevee, 15 limitations on real time rendering $\endgroup$
    – user1853
    Commented Jul 8, 2019 at 13:34

7 Answers 7

68
$\begingroup$

Use these settings:

  1. Render → Screen Space Reflections - On
  2. Render → Screen Space Reflections → Refraction - On
  3. Material → Surface → Principled BSDF → Transmission - $1.000$
  4. Material → Surface → Principled BSDF → Roughness - Adjust to your needs
  5. Material → Settings → Blend Mode - Opaque
  6. Material → Settings → Screen Space Refraction - ON
  7. Material → Settings → Refraction Depth - Adjust to your needs, I generally suggest $0.8$ but depends on the thickness of the object.

Result:

enter image description here

(It's quite similar to Albert's answer but different)

$\endgroup$
6
  • 1
    $\begingroup$ Where are these settings in the latest beta? $\endgroup$ Commented Apr 3, 2019 at 8:09
  • 1
    $\begingroup$ I'm confused. Why does transparency work with blend mode set to opaque for the principled shader but needs blend mode set to alpha for transparent and other shaders? $\endgroup$
    – ecv
    Commented May 12, 2019 at 19:46
  • $\begingroup$ I don't think this is a truly transparent effect. I just tried it, there's somehow some strange refraction going on which when you look straight through it it looks as if you can see what's behind, but somehow it doesn't feel right. $\endgroup$
    – ecv
    Commented May 12, 2019 at 20:03
  • 2
    $\begingroup$ It does not look right because of the way eevee fakes transparency. I just added the last setting to the list. "Refraction Depth" allow you to tell eevee how thick the object is. (If it's set to 0 there only is one refraction event otherwise 2). To understand this watch this video youtube.com/watch?v=VB5kMlW2EBI (time: 17:00) from Blender Guru $\endgroup$
    – HomoVafer
    Commented Jul 5, 2019 at 15:18
  • 1
    $\begingroup$ Really the reason why setting the IOR below 1.0 breaks transparency is that IORs in real life can't reach those values (1.0 is the IOR of vacuum which turns out to be the lowest possible value since every other medium is slower for light to travel through, en.wikipedia.org/wiki/List_of_refractive_indices). Normal glass has an IOR of about 1.45 which is the default value in Blender. Setting a lower IOR makes the glass look thinner but it's not the right way of achieving that: you should set lower "Refraction Depth" values. $\endgroup$
    – HomoVafer
    Commented Aug 1, 2020 at 18:18
32
$\begingroup$

I succeeded in getting EEVEE viewport transparency to work in the following way:

  1. In the Material activate Use Nodes, switch to the Shading layout so you can see the material nodes easily. Add a Transparent BSDF shader and a Mix node. Link the existing Principled Shader and the Transparent BSDF to the input side of the Mix node, and the output of the Mix node to the Surface input of the Output node.

  2. Adjust the Fac setting of the Mix node to determine the amount of transparency.

  3. However, notice that you see transparency in Cycles, but not in EEVEE, until under Settings of the material, switch Blend Mode to Alpha Blend or one of the other Alpha options. While it remains in its default setting, Opaque, the material will not be transparent.

$\endgroup$
1
  • $\begingroup$ Oh man, thank you! This is a solution for a transparent cloud layer over Earth etc, by using an image texture set on non/color data and linking its color to the Principal Shader and Fac of the mixing node. $\endgroup$
    – Lumis
    Commented Feb 9, 2019 at 14:54
11
$\begingroup$

Change Blend Mode under Materials tab for transparency.

Check the Screen Space Refraction for glass materials, also not forget to turn on them at render settings tab.

enter image description here enter image description here

$\endgroup$
1
  • $\begingroup$ You sir are awesome! $\endgroup$ Commented Aug 16, 2019 at 17:10
9
$\begingroup$

I found that a mix of Mike Robinson's and HomoVafer's answers works best for me. Thanks to both.

That is:

  1. Render → Screen Space Reflections ON
  2. Render → Screen Space Reflections → Refraction ON
  3. Material → Principled BSDF and Transparent BSDF into Mix shader
  4. Material → Principled BSDF → Transmission 1.000
  5. Material → Mix shader Fac mostly all the way to Transparent
  6. Material → Settings → Blend Mode Alpha Blend
  7. Material → Settings → Screen Space Refraction ON
$\endgroup$
7
$\begingroup$

Eevee treats transparent objects differently than Cycles. They are sorted from front-to-back per object and do not receive any screen space effects.

This is fast and works fine for many cases, but it is only approximate and gives incorrect results for some object shapes. For more accurate results, enable Alpha Hashed transparency in the material. With a sufficient number of samples to resolve the noise, this gives accurate transparency.

$\endgroup$
2
$\begingroup$

I combined @ecv @strategaD and @elio-canaan answers to be able to accomplish transparency, but in my case I was modeling a hydraulic system that uses clear tubes. For this I applied a solidify modifier but the transparency was not calculating it. To accomplished a more realistic result, not quite as realistic as I was expecting, there were some other settings to consider... My settings are as follow:

  1. Render → Screen Space Reflections ON
  2. Render → Screen Space Reflections → Refraction ON
  3. Material → Principled BSDF and Transparent BSDF into Add Shader
  4. Material → Principled BSDF → Transmission 1.000
  5. Material → Transparent BSDF → Do not set the color to white, need to use a slightly darker hue.
  6. Material → Settings → Blend Mode Alpha Hashed *as suggested by @elio-canaan
  7. Material → Settings → Screen Space Refraction ON
  8. Material → Settings → Backface Culling → ON To smooth out back faces
  9. Material → Settings → Subsurface Translucent → ON

Everything I did differently or changes to previous suggestion are on bold. By the way, I'm still using Blender Version 2.8.2a still in case you are using a older or newer version and have different results.

enter image description here

$\endgroup$
0
$\begingroup$

I you just want to make an object gradually appear (without any glass effect), it is enough to configure Blend Mode: alpha blend, and if you don't want strange effects due to the back of the shape being displayed, uncheck Show Backface. No need to turn on screen space reflection or anything.

enter image description here

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .