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/ 的验证报告似乎没问题。
Scene Viewer
是否支持透明度?
- 或者它是否可能取决于设备、android 版本或
ARCore
版本?
编辑:
更准确地说:模型格式是 GLTF 2.0
并且它使用 KHR_materials_transmission
扩展名。玻璃 material 是单面的,alpha 模式是 BLEND
.
Alpha Blending 和 Transmission 是两种不同类型的透明度 – 您可以将它们结合使用,但通常没有必要。 Transmission 是两者中更新和更先进的,Scene Viewer 很可能还不支持它。 Alpha Blending 比较老,应该可以在任何地方使用。
要单独使用其中任何一个,您可以按照以下步骤操作。我将使用 Blender 的术语,但希望其他软件中的步骤类似。
阿尔法混合
- 在 Principled BSDF material 上,设置 Alpha Mode → Alpha Blend
- 将 Alpha 设置为 <1 的值,或连接基色纹理的 Alpha 通道。
- 导出到 glTF 2.0
传输
- 在 Principled BSDF material 上,设置 Alpha Mode → Opaque
- 将传输设置为>0
的值
- 将金属度设为0
- 导出到 glTF 2.0
我正在使用 Scene Viewer
(https://developers.google.com/ar/develop/java/scene-viewer) 在 AR 中显示模型。
该模型有透明玻璃 material,它在我试过的任何 GLTF 模型查看器中都可以很好地呈现,但 Scene Viewer
本身似乎使 material 不透明。至少我可以从 android 用户提供的一些屏幕截图中看出这一点。
https://modelviewer.dev/editor/ 的验证报告似乎没问题。
Scene Viewer
是否支持透明度?- 或者它是否可能取决于设备、android 版本或
ARCore
版本?
编辑:
更准确地说:模型格式是 GLTF 2.0
并且它使用 KHR_materials_transmission
扩展名。玻璃 material 是单面的,alpha 模式是 BLEND
.
Alpha Blending 和 Transmission 是两种不同类型的透明度 – 您可以将它们结合使用,但通常没有必要。 Transmission 是两者中更新和更先进的,Scene Viewer 很可能还不支持它。 Alpha Blending 比较老,应该可以在任何地方使用。
要单独使用其中任何一个,您可以按照以下步骤操作。我将使用 Blender 的术语,但希望其他软件中的步骤类似。
阿尔法混合
- 在 Principled BSDF material 上,设置 Alpha Mode → Alpha Blend
- 将 Alpha 设置为 <1 的值,或连接基色纹理的 Alpha 通道。
- 导出到 glTF 2.0
传输
- 在 Principled BSDF material 上,设置 Alpha Mode → Opaque
- 将传输设置为>0 的值
- 将金属度设为0
- 导出到 glTF 2.0