Project Icon

AR.js

Web增强现实开源库 支持多种AR交互模式

AR.js是一款开源的Web增强现实库,支持图像追踪、位置AR和标记追踪等功能。基于A-Frame和Three.js框架,开发者可直接在浏览器中创建AR体验,无需额外安装。该项目提供详细文档和社区支持,适用于多种AR应用场景。AR.js以其轻量级特性和便捷性,成为Web AR开发中广受欢迎的工具。

AR.js - 网页上的增强现实

CI 代码风格: prettier Gitter 聊天 Twitter 关注 Twitter 关注

你现在可以拥有 AR.js 的第一个提交了!👉OpenSea

AR.js 是一个轻量级的网页增强现实库,具有图像跟踪、基于位置的 AR 和标记跟踪等功能。

2021年12月30日更新:现在还有一个全新的开源 Web AR JS 库,名为 MindAR。 如果你需要出色的图像跟踪功能(包括多图像跟踪)和人脸跟踪,去看看吧! 目前,AR.js 仍然是唯一提供基于标记和基于位置的 AR 功能的库。

这个项目最初由 @jeromeetienne 创建,之后由 Nicolò Carpignoli 管理,现在由 AR.js 组织维护。

🚀要获取 AR.js 的频繁更新,你可以关注@官方 𝕏(Twitter) 账号并关注这个仓库!

标志由 Simon Poulter 提供。


⚡️AR.js 现在有官方文档了!⚡️

查看这里:AR.js 官方文档

如果你想初步了解 AR.js 的潜力,可以继续阅读这个 Readme。


⚡️ AR.js 有不同的构建版本。它们都在维护中,且互相独立。

请根据你的项目需求导入其中之一,不要同时导入两个:

你也可以通过将 master 关键字替换为版本标签来导入特定版本:

  <script src="https://raw.githack.com/AR-js-org/AR.js/3.4.5/aframe/build/aframe-ar-nft.js">

入门

🖼 图像跟踪

请按照以下简单步骤操作:

  • 使用以下代码创建一个新项目(或打开这个在线示例并直接跳到最后一步)
  • 在服务器上运行
  • 在手机上打开网站
  • 扫描这张图片,通过相机查看内容。
<script src="https://cdn.jsdelivr.net/gh/aframevr/aframe@1.3.0/dist/aframe-master.min.js"></script>
<script src="https://raw.githack.com/AR-js-org/AR.js/master/aframe/build/aframe-ar-nft.js"></script>

<style>
  .arjs-loader {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .arjs-loader div {
    text-align: center;
    font-size: 1.25em;
    color: white;
  }
</style>

<body style="margin : 0px; overflow: hidden;">
  <!-- 显示最小加载器,直到图像描述符加载完成 -->
  <div class="arjs-loader">
    <div>加载中,请稍候...</div>
  </div>
  <a-scene
    vr-mode-ui="enabled: false;"
    renderer="logarithmicDepthBuffer: true; precision: medium;"
    embedded
    arjs="trackingMethod: best; sourceType: webcam;debugUIEnabled: false;"
  >
    <!-- 我们使用 cors 代理来避免跨域问题 注意!你需要设置你的服务器 -->
    <a-nft
      type="nft"
      url="your-server/https://raw.githack.com/AR-js-org/AR.js/master/aframe/examples/image-tracking/nft/trex/trex-image/trex"
      smooth="true"
      smoothCount="10"
      smoothTolerance=".01"
      smoothThreshold="5"
    >
      <a-entity
        gltf-model="your-server/https://raw.githack.com/AR-js-org/AR.js/master/aframe/examples/image-tracking/nft/trex/scene.gltf"
        scale="5 5 5"
        position="150 300 -100"
      >
      </a-entity>
    </a-nft>
    <a-entity camera></a-entity>
  </a-scene>
</body>

🌍基于位置的示例

请按照以下简单步骤操作:

  • 使用以下代码片段创建一个新项目,并将 add-your-latitudeadd-your-longitude 替换为你的纬度和经度,不要包含 <>
  • 在服务器上运行
  • 在手机上激活 GPS 并导航到示例 URL
  • 环顾四周。你应该会看到文本朝向你,出现在指定位置,即使你四处查看和移动。
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <title>GeoAR.js 演示</title>
    <script src="https://aframe.io/releases/1.3.0/aframe.min.js"></script>
    <script src="https://unpkg.com/aframe-look-at-component@0.8.0/dist/aframe-look-at-component.min.js"></script>
    <script src="https://raw.githack.com/AR-js-org/AR.js/master/aframe/build/aframe-ar-nft.js"></script>
  </head>

  <body>
    <a-scene
      vr-mode-ui="enabled: false"
      arjs="sourceType: webcam; videoTexture: true; debugUIEnabled: false;"
    >
      <a-text
        value="此内容将始终面向你。"
        look-at="[gps-camera]"
        scale="120 120 120"
        gps-entity-place="latitude: <add-your-latitude>; longitude: <add-your-longitude>;"
      ></a-text>
      <a-camera gps-camera rotation-reader> </a-camera>
    </a-scene>
  </body>
</html>

🔲 基于标记的示例

请按照以下简单步骤操作:

  • 使用以下代码创建一个新项目(或打开这个在线示例并直接跳到最后一步)
  • 在服务器上运行
  • 在手机上打开网站
  • 扫描这张图片,通过相机查看内容。
<!DOCTYPE html>
<html>
    <script src="https://aframe.io/releases/1.3.0/aframe.min.js"></script>
    <!-- 我们导入不包含NFT但支持标记和基于位置的AR.js版本 -->
    <script src="https://raw.githack.com/AR-js-org/AR.js/master/aframe/build/aframe-ar.js"></script>
    <body style="margin : 0px; overflow: hidden;">
        <a-scene embedded arjs>
        <a-marker preset="hiro">
            <!-- 我们使用cors代理来避免跨域问题 注意!你需要设置你的服务器 -->
            <a-entity
            position="0 0 0"
            scale="0.05 0.05 0.05"
            gltf-model="your-server/https://raw.githack.com/AR-js-org/AR.js/master/aframe/examples/image-tracking/nft/trex/scene.gltf"
            ></a-entity>
        </a-marker>
        <a-entity camera></a-entity>
        </a-scene>
    </body>
</html>

重要提示!请注意,如果您在任何应用程序中引用外部资源,尤其是那些使用NFT的应用程序,如果这些资源不在代码的同一服务器上,您将遇到CORS问题。如果您无法看到跟踪效果,请打开浏览器开发者工具,检查控制台是否有CORS错误。如果有,您必须修复这些错误才能看到您的内容。正确的修复方法是将资源放在与代码相同的服务器上。

如果您无法做到这一点,您可以在任何地方托管一个代理服务器来解决这个问题(https://github.com/Rob--W/cors-anywhere)。 请注意,许多托管服务有不允许使用此类服务器的政策。在使用它们之前,请始终检查托管服务的政策,以避免账户被暂停。

AR.js官方文档上了解更多信息。

ES6 npm包

您可以使用npm安装AR.js,并在任何支持npm模块的兼容项目中使用(如React.js、Vue.js、Next.js或其他),安装命令如下:

// 使用npm安装
npm install @ar-js-org/ar.js
// 使用yarn安装
yarn add @ar-js-org/ar.js

有关一些示例,请阅读此issue

故障排除、功能请求、社区

您可以在旧的AR.js仓库issues中找到很多帮助。请搜索已打开/已关闭的issues,您可能会找到有用的信息。

贡献

从提交bug报告到创建pull请求:我们欢迎并感谢每一份贡献。如果您计划实现新功能或更改API,请先创建一个issue。这样我们可以确保您的宝贵工作不会白费。

Issues

如果您遇到配置或设置问题,请在StackOverflow上发布问题。 您也可以在我们的Gitter聊天室中向我们提问。

如果您发现了bug或有功能建议,欢迎在Github上创建issue。

提交更改

在得到一些反馈后,将更改推送到您的fork,然后提交pull请求。我们可能会建议一些更改或改进或替代方案,但对于小的更改,您的pull请求应该会很快被接受。

一些增加pull请求被接受机会的做法:

许可证

这全是开源的!artoolkit5-js使用LGPLv3许可证和附加权限。 而我在AR.js仓库中的所有代码都使用MIT许可证。:)

关于法律细节,请务必查看artoolkit5-js许可证AR.js许可证

完整更新日志:AR.js更新日志

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号