I have several meshes where the transparency turns opaque depending on the camera angle. Opacity is set with an opacity map in SDMaterial.
Could this issue be related to rendering functions via Three.js (i.e. renderOrder)? When the transparency is opaque, it seems to be trying to match the colour of lowest (z plane) mesh (ground or created plane). My main problem is when there is a shadow cast over the mesh.
This could be related to the rendering order if both meshes are overlapping. Try moving the ground mesh a bit lower and let me know if that solved the problem.
I tried moving the ground plane further away and this behaviour did not change. It seems to be related to the camera position in relation to the mesh and the opacity map. The behaviour is very consistent. In relation to the mesh, it looks like when camPosX is negative the opacity turns opaque. I think I’m missing something trivial…
Thank you for the example and reporting the issue with rendering of transparent objects. I was also able to reproduce it and I’m really sorry for this. The fix will come with the new upgraded viewer later this year.
As a workaround, set the ground mesh to fully opaque and maybe play with the lights intensity to achieve similar slight shadow effect or use the default ground plane in the model settings.
The model in question is set up for the best render of the product. The low light intensity is necessary for realistic product textures and the opacity in the ground plane was the only way I could find to achieve a white ground while casting a slight shadow from a directional light. I think my best workaround will be to remove the mesh that falls under this shadow as it doesn’t make sense to favour an effect over the product.