Rokid JSAR 简介
对开发者来说,JSAR 就是个'技术转换器'。不用学新东西,用熟悉的 JavaScript、TypeScript 这些 Web 技术,就能做能放进特定空间的小程序,还能在场景里划块区域放 3D 模型、2D 界面,写的代码跟在网页里一样能跑,直接把 Web 开发经验套到空间应用上就行。
可嵌入空间:是指在当前场景中通过定义长宽高划定一块子空间给一个单独的应用程序使用,空间组件可以是一个 3D 物体,也可以是一个 2D 界面,当然也可以是带 GUI 的 3D 物体。
Web 运行时:代表 JSAR 可以运行基于 Web APIs 实现的 JavaScript / TypeScript 代码,同时也可以运行 WebAssembly。
开发环境搭建:基础地球项目开发
开发工具安装
- VS Code 安装插件 JSAR Devtools 和 glTF Tools
- JSAR Devtools:辅助 JSAR 项目开发,提供 AR 场景调试、状态查看及性能优化等功能,提升开发效率。
- glTF Tools:处理 glTF/GLB 格式 3D 模型,支持在开发环境中预览和简单编辑,方便模型使用。
项目资源准备
- icon.png 准备
- 通过 glTF 插件预览效果
main.xsml:JSAR 项目中用于定义界面结构、资源关联和 3D 场景布局的描述文件,连接项目资源与场景元素,搭建起应用的基础框架。
本地服务器搭建
- Web 浏览器运行安装
serve工具,使用serve工具启动静态服务器。 - 浏览器地址如下显示则表示成功启动服务器。
- JSAR 演示场展示:https://jsar.netlify.app/playground?url=填写本地服务器地址
JSAR 实战项目演练:从基础到创意
交互功能实践:碰撞检测实现
动效设计实践:动画缓动实现
创意开发:3D 时钟项目全解析
| 文件路径 / 名称 | 文件角色定位 | 核心功能说明 |
|---|---|---|
lib/clock.ts | 核心逻辑文件 | 封装坐标计算、时间获取、图形绘制函数,通过 startClock 实现模拟 + 数字时钟绘制 |
lib/main.ts | 项目入口文件 | 获取画布、初始化时钟,每秒更新绘制与画布,实现动态走时 |
package-lock.json | 依赖配置文件 | 管理 @yodaos-jsar/types 等依赖及版本,保障开发环境稳定 |
main.xsml | 3D 页面配置文件 | 定义画布立方体样式、引入脚本、创建 3D 载体,关联逻辑与空间布局 |
clock.ts封装了时钟绘制的核心逻辑,通过一系列函数如计算坐标的x2、y2,获取时间的 ,绘制圆形、线条、文字的 、、 等,最终在 函数里实现了模拟时钟(含时针、分针、秒针及表盘)与数字时钟的绘制。


