Get translucency to be more apparent from point lights

So I have a PBR material that is set up to be translucent, but it does not seem to very effectively let light from point lights pass through it. It seems to work on the edges, but that might just me mixing from the godrays.

Any ideas on how to ramp this effect up or are point lights not something that works with the translucency?

Pinging @sebavan

Here is the PBR stuff:

var paper = new BABYLON.PBRMaterial("paper", scene)   
paper.albedoTexture = new BABYLON.Texture("assets/crane_textures/albedoColor_default.png", scene);
paper.reflectivityTexture = new BABYLON.Texture("assets/crane_textures/reflectivityTexture_default.png", scene);
paper.microSurface = 1.0; // Let the texture controls the value 
paper.useMicroSurfaceFromReflectivityMapAlpha = true;
paper.bumpTexture = new BABYLON.Texture("assets/crane_textures/bumpTexture_default.png", scene)
paper.ambientTexture = new BABYLON.Texture("assets/crane_textures/ambientTexture_default.png", scene)	
paper.backFaceCulling = false
				
paper.subSurface.isTranslucencyEnabled = true
paper.subSurface.translucencyIntensity = 2.0

paper.reflectionTexture = bgTexture

Do I need a thickness mask?

Could you share it a playground so that we can try out ?

By default the thickness is considered everywhere the same of size 1 which might be to large to represent paper, you should try to change the setup to make it thinner ?

Ill give that a shot and let you know how it goes!

1 Like

alll right, so it looks like it only supports 1 light.

https://playground.babylonjs.com/#RTQAW8#1

Also shouldn’t the light from a point light diffuse through the material as a circle not a square?

getting somewhere though! Sorry for the code structure, I was a copy and paste job and the playground hates tabs from Notepad++

https://playground.babylonjs.com/#RTQAW8#2

Also light radius seems to not do anything as well, unless I am mistaken on its usage.

light radius is only for specular it does not impact translucency. I am looking into the rest.

the god rays are creating the issues: https://playground.babylonjs.com/#RTQAW8#3

Now I will look into your transparency setup but as everything is homogenous I expect the full surface to be changed.

https://playground.babylonjs.com/#RTQAW8#5

Shouldn’t the lights come through the material though? Maybe I have stuff setup incorrect?

Ignore this post, I misread your last comment.

So point lights range in physical falloff do not reach the paper only lit by env here. You can see a better impact here:

https://playground.babylonjs.com/#RTQAW8#6

https://playground.babylonjs.com/#RTQAW8#7

So is it a proximity thing? Cause they seem to not work unless I crank the intensity to the max and then move the light closer to the paper.

Ideally a pointlight coming through a piece of paper should look like this:


Sorry for the bad photoshop job, and I’m sure the falloff would be different depending on the angle of the paper, but that is like the ideal 90 deg projection.

Update***
Actually after holding a piece of paper up to a light bulb, I guess you don’t see an actual shape huh… (unless its really close)
I might have to rethink this. I guess I was envisioning a stylised version of light and that’s not what we have >_<.

I mean it kinda works I guess?

So the intensity are lumens then, instead of a 0-1 value?

Here is a read about the intensity mode and light types in the PBR Material:

https://doc.babylonjs.com/how_to/physically_based_rendering_master#intensitymode

and the default is setup as follow:

        // get photometric mode
        let photometricMode = this.intensityMode;
        if (photometricMode === Light.INTENSITYMODE_AUTOMATIC) {
            if (lightTypeID === Light.LIGHTTYPEID_DIRECTIONALLIGHT) {
                photometricMode = Light.INTENSITYMODE_ILLUMINANCE;
            } else {
                photometricMode = Light.INTENSITYMODE_LUMINOUSINTENSITY;
            }
        }
1 Like

Thanks for your help, PBR is a lot to take in at once.

1 Like