当前位置: 首页 > article >正文

JSAR 基础 1.2.1 基础概念_空间小程序

JSAR 基础 1.2.1 基础概念_空间小程序

  • 空间
  • 空间自由度
  • 可嵌入空间
  • 空间小程序

最新的技术进展表明,官网之前的文档准备废除了,基于xsml的开发将退出历史舞台,three.js和普通web结合的技术将成为主导。所以后续学习请移步three.js学习路径,哔哩哔哩这部分视频非常多,我就不再赘述。但是关于空间小程序还是有必要解释一下的,所以这估计是更新的最后一个jsar的文章了。

空间

官方的说法:
JSAR是可嵌入空间的 Web 运行时,它支持开发者使用类似于 Web 的技术来开发可嵌入空间的空间小程序。简单来说,它可以帮助你将 Web 技术嵌入到某个空间场景中独立运行。

任姐说:
最新的技术WebXR,就是vr世界里面的浏览器,打开它,就相当于打开了一个vr世界的浏览器,在这里你可以输入任何网址,打现有网络世界各种网站。

空间自由度

官网文档的小动画我觉得解释的挺清楚了,如果还不明白,请看下图:

0Dof
官方说法:
Zero Degree of Freedom)指的是当前空间中的观察者以固定视角观察虚拟空间。

任姐说:
可以理解为,在你眼镜前面整了个创可贴(可能是2D的,也可能是3D的),贴在固定的位置上,不管你脑袋怎么动,那创可贴永远跟着你,好像这样:

请添加图片描述

3Dof

官方说法:
3DoF(Three Degree of Freedom)指的是当前空间中观察者可使用3 个自由度,通常情况下,这3 个自由度指的是空间的姿态。

任姐说:
这感觉就好像你有一个大疆的无限电量的无人机,这个无人机的设定是在你脑袋那个高度的,左前方1米远,这个时候无论你是蹲下还是站起来,那个无人机都会立马和你的高度保持持平;无论是是向前走还是后退,那个无人机都会保持和你1米远;但是如果你整体不动,知识转头左右看,它是不会动的。

6Dof

官方说法:
6DoF(Six Degree of Freedom)指的是当前空间中观察者可以使用6个自由度,即位置(Position)和姿态(Rotation)加在一起共计6个。

任姐说:
其实就是虚拟现实,编程做出来的东西好像一个实体一样就放在那里,不管你怎么动它就好像你家的电视一样,就在那里它不动的。

可嵌入空间

官方说法:
可嵌入空间,或称为子空间,指的是一个完整的空间,它包含了一些物体,然后可以将这个空间嵌入到另一个空间中,作为另一个空间的一个组件。这样,我们可以:

在父空间内,随意地对子空间进行移动、旋转、缩放
在父空间内,可以直接与子空间的物体进行交互
在父空间内,可以将多个子空间组合在一起,形成更复杂的空间
而可嵌入空间的技术关键点在于,如何将一个空间(独立的应用)嵌入到另一个空间(主应用)中,而不影响到主应用的运行,我们将这称为空间安全性,更形象的比较就像:

在一个浏览器中,不同的网页运行在同一个 Web 浏览器中互不干扰,这就是浏览器的安全性。
在一个窗口操作程序中,不同的窗口运行在同一个屏幕上,窗口和窗口之间互不干扰,这就是窗口操作程序的安全性。
以上,这就是可嵌入空间的基础概念。

任姐说:
你可以理解为一个一个的房间,好像你站在一个玩具楼外面,玩具楼里面有各种独立的小房间。你能摆弄玩具楼不同房间里面的各种小家具,有的独立小房间还是个套间,又有不同的小房间组成,但是作为上帝的你依旧能各种开心的玩。

空间小程序

官方说法:
在了解了空间和可嵌入空间后,那么就很容易了解什么是空间小程序了,它就是用于开发可嵌入空间的技术方案,在本页顶部的图片中,蓝色小方块的部分就是空间小程序(即 JSAR)希望去嵌入到主空间中的部分,它可以是一个闹钟、一个日历、一本漫画书、一个小黄鸭等等。

任姐说:
以下说法不一定正确,就是我看文档这么多天的直观感受。
如果JSAR继续沿着xsml这个路线走下去的话,上面这种说法是成立的,但是就目前的官方发展趋势来看,很有可能以js为基础的这些应用将被折叠进WebXR,这就好像微信小程序了,有统一的程序入口,只能存在于固定的程序空间,而不是什么空间都能嵌入了。


http://www.kler.cn/a/578455.html

相关文章:

  • 【Kotlin】Kotlin基础笔记
  • C/C++中使用CopyFile、CopyFileEx原理、用法、区别及分别在哪些场景使用
  • Linux 命令 for循环
  • 【MATLAB例程】二维环境定位,GDOP和CRLB的计算
  • 机器学习12-视觉识别任务
  • linux | Vim 命令快捷操作
  • Mac 配置 Maven JDK
  • PH热榜 | 2025-03-09
  • centos7 yum安装jdk1.8(deepseek)
  • 1.4 单元测试与热部署
  • 大话机器学习三大门派:监督、无监督与强化学习
  • 数据类设计_图片类设计之2_无规则图类设计(前端架构基础)
  • 【Andrej Karpathy 神经网络从Zero到Hero】--2.语言模型的两种实现方式 (Bigram 和 神经网络)
  • MATLAB控制函数测试要点剖析
  • P8924 「GMOI R1-T1」Perfect Math Class 题解
  • STM32 内置的通讯协议
  • 在ubuntu20.4中如何创建一个虚拟环境(亲测有效)
  • 代码随想录-基础篇
  • .CSV file input into contact of outlook with gibberish. .csv文件导入outlook, 出现乱码
  • docker本地部署RagFlow