armory3d / armortools

3D Content Creation Tools
https://armorpaint.org
Other
3.32k stars 340 forks source link

Transparency in ArmorPaint / Alpha-Blend / Alpha export #1649

Open ikonnow opened 1 year ago

ikonnow commented 1 year ago

ArmorPaint 1.0 alpha-e114a20, Windows

Transparency in ArmorPaint A feature that is currently missing in armorpaint: transparency support. This feature is essential for using alpha blend with textures that have alpha channels. There is the Open issue #265 from 2020 - then I have already submitted a feature request on this issue in 2022 (#1371 ), but it has not been implemented yet. I would like to know if there is a possibility to add this feature now, in 2023, as it would greatly improve the workflow and the quality of the results and also add a wide range of new assets to texture.

PBR assets use alpha blend to create transparent or semi-transparent materials, such as glass, water, or foliage. Alpha blend means that the opacity of the material is controlled by the alpha value (mostly embedded in the alpha channel of the albedo map). The higher the alpha value, the more opaque the material is. The lower the alpha value, the more transparent it is. Alpha blend allows for realistic rendering of light and shadows on transparent materials.

However, it is complicated in terms of sorting, because the order of rendering affects the final appearance. To avoid artifacts, backface culling and double sided rendering might be necessary, depending on the material properties and the camera angle. Also, the index of refraction, which determines how light bends when passing through the material, has to be taken into account for accurate refraction and fresnel effects. Substance Painter is a great reference - they added a additional PBR Metal Rough with Alpha shader back in 2018. Thank you for your attention and your work on armorpaint.

ikonnow commented 1 year ago

image This is a example where it would make soo much sense to actually see the transparency of the jars. - I can provide the .blend / .arm file if you need.