You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AR.js中NFT图像追踪无法显示3D物体的代码排查请求

AR.js图像追踪3D物体不显示的问题排查

以下是针对你代码的问题分析及修正建议:

1. 3D模型位置与缩放参数异常

你的<a-entity>设置的position="50 150 100"和scale="5 5 5"数值严重偏离NFT标记的坐标系原点(标记位置为0,0,0),导致模型完全超出摄像头视野范围。

  • 建议调整为贴近标记的参数,比如:
    <a-entity gltf-model="../model/Batleth.gltf" scale="0.5 0.5 0.5" position="0 0 0"></a-entity>
    

2. 事件监听绑定错误

全局绑定markerFound/markerLost事件无法正确触发,AR.js的这类事件是绑定在<a-nft>元素上的,修正后的代码:

document.querySelector('a-nft').addEventListener('markerFound', () => {
  document.querySelector("#check-detect").innerHTML = 'marker found '
})

document.querySelector('a-nft').addEventListener('markerLost', () => {
  document.querySelector("#check-detect").innerHTML = 'marker lost'
})

3. 资源路径与完整性验证

  • 确认url="../image-markers/aquaa"指向的NFT描述文件(aquaa.fset/aquaa.fset3/aquaa.iset)存在于对应路径,路径是相对当前HTML文件的位置,不能出错。
  • 检查gltf-model="../model/Batleth.gltf"的模型路径正确,且模型文件完整(包含关联的.bin纹理文件),可通过浏览器控制台查看是否有资源加载失败报错。

4. 版本兼容性优化

你使用的A-Frame是旧commit版本,可能和AR.js存在兼容性问题,建议替换为官方稳定版本组合:

<script src="https://aframe.io/releases/1.4.2/aframe.min.js"></script>
<script src="https://raw.githack.com/AR-js-org/AR.js/master/aframe/build/aframe-ar-nft.js"></script>

额外排查步骤

  • 打开浏览器开发者工具(F12),查看控制台是否有语法错误、资源加载失败等提示。
  • 确认NFT标记是通过AR.js官方工具生成,文件完整无损坏。
  • 测试时保证标记在摄像头清晰视野内,光线充足无反光。

内容的提问来源于stack exchange,提问作者Fauzi Hamdani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 19:15:38