javascript - 如何将带有 Alpha channel 的 gltf 模型添加到 Aframe 和 AR.js?

标签 javascript blender aframe gltf ar.js

--更新-- I have added this code这似乎有所帮助。我可以看到玻璃现在是透明的,但仍然非常暗。

警告:我是 WebAR(以及一般编码)的新手......但请放心,我已经在互联网上搜索了好几天试图弄清楚这一点。

我正在尝试将 gltf 模型与 AR.js 和 Aframe 结合使用来打造 WebAR 体验。这是我的代码的一部分:

<script src="https://aframe.io/releases/0.8.2/aframe.min.js"></script> 
<script src="build/aframe-ar.js"></script> 
<script src="https://rawgit.com/donmccurdy/aframe-extras/master/dist/aframe-extras.loaders.min.js"></script>

<!-- marker -->
<a-marker type='pattern' url='https://raw.githubusercontent.com/merowell/Evidence-Collection-Procedures/master/assets/markers/patt/pattern-biological-1.patt'>

<!-- add .gltf model-->
    <a-entity gltf-model="https://raw.githubusercontent.com/merowell/Evidence-Collection-Procedures/master/assets/models/biological/biological.gltf" position="0 0 0" crossOrigin="anonymous" rotation="0 0 0" scale=".3 .3 .3">
    </a-entity>

我已经弄清楚如何让 gltf 模型与纹理一起使用,但我似乎仍然无法获得我想要的确切外观。大多数情况下,瓶子上的玻璃应该是透明的而不是不透明的。我在 Blender 2.82 中导入并编辑了模型。我正在使用 Principled BSDF 节点并将混合模式设置为“alpha 混合”

这是一个屏幕截图: Blender Screenshot

导出模型后,我在 gltf validator 中测试了它看起来我想要它。这是一个屏幕截图: gltf validator

不幸的是,事件标记不会以相同的方式显示它。也许我还需要做一些其他事情才能使 Alpha channel 正常工作?或者也许这是我的代码中的错误? 这是事件标记的屏幕截图: active marker

最后,我尝试将模型添加为 glb 文件,并列为 Assets 。但是,当我在 a-scene 标签中列出 Assets 时,网络摄像头将不会部署。不过,我读过其他人使用这种方法。

最佳答案

已编辑 - 问题仍然存在......这些模型仅相对于其他模型是透明的。但是您无法通过透明 Material 看到现实世界环境(就像使用波前对象一样)

This solved the issue ...我只需转到 blender 文件并使用较浅的颜色重新导出模型,即可使其看起来像我想要的那样。

关于javascript - 如何将带有 Alpha channel 的 gltf 模型添加到 Aframe 和 AR.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60242781/

相关文章:

javascript - 在两个之间使用javascript切换类

javascript - 如果值为 null,则防止调用 getJson

javascript - jQuery 隐藏和显示输入值

libgdx - 渲染 3d .g3db 模型时出现空白屏幕 [libgdx]

python - 是否可以使用 Python 以编程方式创建 Blender 文件 (.blend)?

javascript - A-Frame WASD 控件在移动设备上的替代品

aframe - 如何在A-Frame中实现动态反射

javascript - 为什么 array[array.length] 返回未定义?

python - 无法使用 pip 安装包 bpy

aframe - 我可以在本地运行 3d.io 场景吗(没有网络连接)?