跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
TypeScript大前端

基于 Web 技术栈的 Rokid JSAR AR 开发实战指南

Rokid JSAR 允许开发者使用 JavaScript 和 TypeScript 等 Web 技术栈构建空间应用。文章涵盖开发环境搭建、核心 API 应用及 3D 时钟创意项目流程。通过 VS Code 插件配置、本地服务器启动及 xsml 文件布局,实现 3D 物体与 2D 界面的空间嵌入。重点解析了时钟项目的文件结构、逻辑实现与空间布局关联,展示了碰撞检测与动画缓动等交互功能。该方案降低了 AR 开发门槛,适合 Web 工程师快速切入空间计算领域。

ByteFlow发布于 2026/4/9更新于 2026/10/2787 浏览
基于 Web 技术栈的 Rokid JSAR AR 开发实战指南

基于 Web 技术栈的 Rokid JSAR AR 开发实战指南

图片

前言

随着 AR 技术在消费级场景的普及,开发者对'低门槛、高兼容'AR 开发工具需求愈发迫切。传统 AR 开发往往依赖专属引擎或复杂语法,导致 Web 开发者难以快速切入。Rokid 推出的 JSAR 技术打破了这一壁垒:以'可嵌入空间的 Web 运行时'为核心,让开发者无需学习新的开发范式,仅用 JavaScript/TypeScript 等熟悉的 Web 技术栈,就能快速开发出支持 3D 物体、2D 界面的空间小程序。

本文围绕 JSAR 技术展开实战指南:从基础的开发环境搭建到核心特性原理解析,再到地球项目、超级马里奥复刻、碰撞检测、动画缓动等场景的实战演练,最终以'3D 时钟'为创意案例,深入拆解 JSAR 项目的文件结构、逻辑实现与空间布局关联。

Rokid JSAR 介绍

图片

JSAR 是'技术转换器',不用学新东西,用熟悉的 JavaScript、TypeScript 这些 Web 技术,就能做能放进特定空间的小程序,还能在场景里划块区域放 3D 模型、2D 界面,写的代码跟在网页里一样能跑。

  • 可嵌入空间:是指在当前场景中通过定义长宽高划定一块子空间给一个单独的应用程序使用,空间组件可以是一个 3D 物体,也可以是一个 2D 界面,当然也可以是带 GUI 的 3D 物体。
  • Web 运行时:代表 JSAR 可以运行基于 Web APIs 实现的 JavaScript / TypeScript 代码,同时也可以运行 WebAssembly。

Rokid JSAR 开发环境搭建:基础地球项目开发

开发工具安装

  1. VS Code 安装插件 JSAR Devtools 和 glTF Tools
    • JSAR Devtools:辅助 JSAR 项目开发,提供 AR 场景调试、状态查看及性能优化等功能,提升开发效率。
    • glTF Tools:处理 glTF/GLB 格式 3D 模型,支持在开发环境中预览和简单编辑,方便模型使用。

项目资源准备

  1. icon.png 准备
  2. 通过 glTF 插件预览效果
  3. main.xsml JSAR 项目中用于定义界面结构、资源关联和 3D 场景布局的描述文件,连接项目资源与场景元素,搭建起应用的基础框架。

本地服务器搭建

  1. Web 浏览器运行安装 serve 工具,使用 serve 工具启动静态服务器。
  2. 浏览器地址如下显示则表示成功启动服务器。
  3. JSAR 演示场展示:https://jsar.netlify.app/playground?url=填写本地服务器地址

JSAR 实战项目演练:从基础到创意

交互功能实践:碰撞检测实现

动效设计实践:动画缓动实现

创意开发:3D 时钟项目全解析

图片

文件路径 / 名称文件角色定位核心功能说明
lib/clock.ts核心逻辑文件封装坐标计算、时间获取、图形绘制函数,通过 startClock 实现模拟 + 数字时钟绘制
lib/main.ts项目入口文件获取画布、初始化时钟,每秒更新绘制与画布,实现动态走时
package-lock.json依赖配置文件管理 @yodaos-jsar/types 等依赖及版本,保障开发环境稳定
main.xsml3D 页面配置文件定义画布立方体样式、引入脚本、创建 3D 载体,关联逻辑与空间布局
  1. clock.ts 封装了时钟绘制的核心逻辑,通过一系列函数如计算坐标的 x2、y2,获取时间的 getTime,绘制圆形、线条、文字的 drawCircle、drawLine、drawText 等,最终在 startClock 函数里实现了模拟时钟(含时针、分针、秒针及表盘)与数字时钟的绘制。
  2. main.ts 则作为项目入口,获取画布并借助 startClock 初始化时钟绘制,再通过 setInterval 每秒钟调用一次 startClock 并更新画布,从而让时钟实现动态走时效果。
  3. package-lock.json 配置 JSAR 3D 时钟项目的依赖树。
  4. main.xsml 项目页面配置核心,通过样式定义 #canvas 立方体的缩放与旋转,引入 main.ts 脚本,并以 <cube> 为载体,构建出 3D 时钟在空间展示的基础结构,关联样式与核心逻辑。

总结

Rokid JSAR 最核心的价值就是帮 Web 开发者'零门槛'切入 AR 开发,不用学新引擎、开发流程清晰、项目架构可复用,不管是练手基础功能,还是做 3D 时钟这类创意项目都能高效落地,真正实现 Web 技术和 AR 空间场景互通。

  • 技术门槛低:JSAR 核心是复用 Web 技术,无需学专属 AR 引擎语法,Web 开发者用 JavaScript/TypeScript、Web APIs 即可开发空间应用,且 main.xsml 场景定义、Canvas 纹理绘制等操作熟悉,大幅降低跨领域学习成本。
  • 开发流程清晰可复现:地球项目从工具配置、资源准备、服务器搭建到演示场验证,每步有具体操作与反馈,能快速搭环境;后续项目还提供场景模板,减少功能开发试错成本。
  • 项目架构可复用:3D 时钟项目的文件拆解逻辑、入口、布局等分离提供通用结构参考,契合模块化思维,可直接复用到其他 JSAR 项目。

目录

  1. 基于 Web 技术栈的 Rokid JSAR AR 开发实战指南
  2. 前言
  3. Rokid JSAR 介绍
  4. Rokid JSAR 开发环境搭建:基础地球项目开发
  5. 开发工具安装
  6. 项目资源准备
  7. 本地服务器搭建
  8. JSAR 实战项目演练:从基础到创意
  9. 交互功能实践:碰撞检测实现
  10. 动效设计实践:动画缓动实现
  11. 创意开发:3D 时钟项目全解析
  12. 总结

更多推荐文章

查看全部
  • C++分布式调度系统瓶颈分析与底层优化策略
  • AI Agent 生产级框架实战:架构设计与核心实现
  • 基于 Go 语言与 DeepSeek 大模型的 AIOps 监控系统构建
  • C++ STL 常用算法详解:序列、排序与数值处理
  • 大疆无人机日志导出与解析实战指南
  • 15 个提示词降低 AIGC 检测率,让写作更像人类
  • Clawdbot 飞书机器人配置与调试指南
  • C++ string 常用函数详解(三)
  • 电商平台高峰时段 Java 性能优化策略与实践
  • 4G Cat.1模组赋能AI教育机器人:政策驱动下的算力与物联网机遇
  • Flutter modular_core 鸿蒙适配:依赖注入与模块化管理实践
  • Redmine 基于 Docker 的部署与插件配置指南
  • 基于大模型的智能体开发:从入门到实战的思路与技巧
  • Web 可访问性最佳实践:构建包容性的数字体验
  • Llama-AVSR 论文精读:基于 LLM 的视听语音识别新框架
  • RMBG-2.0 企业级集成:API 封装、Flask 后端与前端拖拽上传方案
  • VR-Reversal 实现 3D 视频转 2D 播放及录制教程
  • 网络安全攻防:黑客攻击简要流程
  • Linux/C++多线程编程入门:核心概念与常用函数详解
  • AI 时代产品经理工作流:从需求挖掘到上线管控全流程

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online