Scene Viewer:是否支持透明度?

Scene Viewer: Is transparency supported?

我正在使用 Scene Viewer (https://developers.google.com/ar/develop/java/scene-viewer) 在 AR 中显示模型。

该模型有透明玻璃 material,它在我试过的任何 GLTF 模型查看器中都可以很好地呈现,但 Scene Viewer 本身似乎使 material 不透明。至少我可以从 android 用户提供的一些屏幕截图中看出这一点。

https://modelviewer.dev/editor/ 的验证报告似乎没问题。


编辑:

更准确地说:模型格式是 GLTF 2.0 并且它使用 KHR_materials_transmission 扩展名。玻璃 material 是单面的,alpha 模式是 BLEND.

Alpha Blending 和 Transmission 是两种不同类型的透明度 – 您可以将它们结合使用,但通常没有必要。 Transmission 是两者中更新和更先进的,Scene Viewer 很可能还不支持它。 Alpha Blending 比较老,应该可以在任何地方使用。

要单独使用其中任何一个,您可以按照以下步骤操作。我将使用 Blender 的术语,但希望其他软件中的步骤类似。

阿尔法混合

  1. Principled BSDF material 上,设置 Alpha ModeAlpha Blend
  2. Alpha 设置为 <1 的值,或连接基色纹理的 Alpha 通道。
  3. 导出到 glTF 2.0

传输

  1. Principled BSDF material 上,设置 Alpha ModeOpaque
  2. 传输设置为>0
  3. 的值
  4. 金属度设为0
  5. 导出到 glTF 2.0