@ar-js-org/artoolkit5-js

中文文档
0.3.2发布于 2025/11/01LGPL-3.0TypeScriptCommonJS近 30 天下载 3065

Aratolokit5的ES6模块端口

中文使用文档
文档目录10 节
  1. 安装
  2. 浏览器
  3. 节点.js
  4. ES6 导入
  5. 使用量
  6. 1) 创建控制器实例
  7. (2) 添加要跟踪的标记
  8. 3) 开始跟踪
  9. 其他ARTolkit API方法
  10. 目前的限制

校对:soup

这是AR.js项目的Artoolkit5-js分叉.

ES6 模块端口 aratoolkit5 (英语)基于(现已失效的)原件 标记到 JavaScript 端口 财务报告和审定财务报表 改进 以 沃尔特·佩尔丹。 。 。 .

这个构件是用WASM来进行尽可能最佳的性能,被设计成(或多或少地)作为前作jsartoolkit5的倒置替代. 先前API的某些部分被重构,以实施Async接口而不是之前基于回调的接口.

安装

这个 校对:soup 软件包可通过国家预防机制安装:

npm install @ar-js-org/artoolkit5-js

该模块以UMD格式构建,可以用于不同的环境:

浏览器

<script src="/path/to/ARToolkit.js"></script>

节点.js

const ARToolkit = require('artoolkit5-js');

ES6 导入

import ARToolkit from 'artoolkit5-js';

使用量

1) 创建控制器实例

首先,你需要创建实例 ARController数字 :

ARController.initWithDimensions(640, 480, '/data/camera_para.dat').then(controller => { ... });

这将创建一个 AR 控制器 , 期望 640x480 维度的源图像 。 第二个参数是一个相机定义文件,它描述了您图像/视频输入设备的特性. 如果您不知道要使用哪个文件, 请使用默认 相机 para.dat 包含在本存储库中.

还有一个替代的初始化器 initWithImage 以方便方法接受 HTMLImageElement 或者说 HTMLVideoElement 而不是宽度 / 高。 然而这显然只在浏览器(或MonkeyPatched)环境中有效.

(2) 添加要跟踪的标记

您接下来需要加载标记文件以跟踪您的控制器 。 在这个例子中,“ Hiro” 标记的图案文件被加载:

controller.artoolkit.addMarker(controller.id, '/data/hiro.patt').then(hiroMarkerId => { ... });

3) 开始跟踪

// track with 60 FPS
const FPS = 60;

setInterval(() => {

  const result = controller.detectMarker();
  if(result !== 0) {
    // ARToolkit returning a value !== 0 means an error occured
    console.log('Error detecting markers');
    return;
  }

  // get the total number of detected markers in frame
  const markerNum = controller.getMarkerNum();
  let hiroFound = false;

  // check if one of the detected markers is the "Hiro" marker
  for(let i = 0; i < markerNum; i++) {
    const markerInfo = controller.getMarker(i);
    if(markerInfo.idPatt == hiroMarkerId) {
      // store the marker ID from the detection result
      hiroFound = i;
      break;
    }
  }

  if(hiroFound !== false) {
    console.log("You have found the HIRO marker");
  }

}, 1000 / FPS);

其他ARTolkit API方法

您可以访问所有公开的 ARTolkit 方法 和这样的类常数 :

  // for the full API documentation see
  // https://github.com/artoolkit/artoolkit5
  artoolkit.detectMarker( ... );

  console.log(artoolkit.AR_LOG_LEVEL_DEBUG);

目前的限制

由于时间限制,该建筑不执行多标记支持(yet). 增加支持应该是微不足道的,尽管所有的基础已经奠定。 一旦时间允许,我会执行它 但公关当然欢迎!

版本与发布记录

@ar-js-org/artoolkit5-js 共发布 8 个版本,首次发布于 2021/04/21;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.3.2latest2025/11/011 年前
0.3.12024/11/261.9 年前
0.3.02023/01/253 年前
0.2.02022/10/294 年前
0.1.32022/02/164 年前
0.1.22021/11/184 年前

关于 @ar-js-org/artoolkit5-js 的常见问题

@ar-js-org/artoolkit5-js 是什么?

Aratolokit5的ES6模块端口

如何安装 @ar-js-org/artoolkit5-js?

在项目目录运行 npm install @ar-js-org/artoolkit5-js,或使用 pnpm add / yarn add / bun add。

@ar-js-org/artoolkit5-js 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ar-js-org/artoolkit5-js 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@ar-js-org/artoolkit5-js 可以商用吗?

@ar-js-org/artoolkit5-js 使用 LGPL-3.0 许可。弱 Copyleft:作为库被调用时通常不要求开源你自己的代码,但修改库本身需以 LGPL 开源;前端打包合并后的适用边界存在不同理解。以上为概括,不构成法律意见,请以许可原文为准。

@ar-js-org/artoolkit5-js 的下载量有多少?

根据 npm 官方下载统计,@ar-js-org/artoolkit5-js 在 2026/10/07 – 2026/11/05 这 30 天内被下载 3,065 次,日均约 102 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ar-js-org/artoolkit5-js 还在维护吗?

最新版本 0.3.2 发布于 2025/11/01(1 年前);至今共发布 8 个版本,其中过去 12 个月发布了 0 个;首次发布于 2021/04/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。