0
$\begingroup$

I have been using three.js to display a model aircraft created in Blender. I used the program to add a transparent propeller to the model, using a built-in three.js texture called Basic Material and using a png file to create the propeller.

I am now trying to replace that propeller with an animated propeller created in Blender which uses the same png file (using the Principled BSDF shader). However, when I display the result in three.js, the propeller is much darker. Even worse, it becomes even darker when viewed in the direction of the light source - as if it is a shaded object. Is there a way to make the Blender version look more like the three.js version?

enter image description here

Note that the three.js version seems to get brighter and more transparent when viewed in the direction of the light source - which is what I want.

EDIT: The description of THREE.MeshBasicMaterial says that it is not affected by lights. Is there a way to create the same kind of material in Blender?

$\endgroup$

2 Answers 2

0
$\begingroup$

You could try adding a translucent shader mixed with a principled BSDF. To get less realism you could put specularity to 1 and roughness to 0. This could get you closer to your goal.

$\endgroup$
0
$\begingroup$

Joonas

Thanks for the suggestion. I ended up doing two things:

First, decreasing the opacity of the transparent texture - because it appeared to dark when facing away from the light.

Second, it turns out the the the three.js texture was not affected by light. So, to make the Blender material behave the same way, I increased the emission of the material in the Principled BSDF shader. This caused the texture to brighten when facing into the sun.

By trial and error, it appears that I get about the same result as in three.js when I decrease the opacity of the texture by 50% and increase the emission to about a0a0a0 (hex).

Phil

$\endgroup$

You must log in to answer this question.

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