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

news2025/3/13 22:08:24

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.coloradmin.cn/o/2314511.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Security的作用

一、概述 Spring Security是一个框架,提供认证(authentication)、授权(authorization)和保护,以抵御常见攻击。对 常见漏洞 的保护提供了全面的支持,它对保护命令式和响应式应用程序有一流的支…

数据结构与算法效率分析:时间复杂度与空间复杂度详解(C语言)

1. 算法效率 1.1 如何衡量一个算法的好坏? 在计算机程序设计中,衡量算法优劣的核心标准是效率。但效率不仅指运行速度,还需要综合以下因素: 时间因素:算法执行所需时间 空间因素:算法运行占用的内存空间…

数据类设计_图片类设计之4_规则类图形混合算法(前端架构)

前言 学的东西多了,要想办法用出来.C和C是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容 引入 接续上一篇,讨论图片类型设计出来后在场景中如何表达,以及图片的混合算法.前面的内容属于铺垫和基础,这篇内容和实际联系起来了. 背景图和前景图 这里笔者想先…

从零使用docker并安装部署mysql8.3.0容器

在开始使用docker到完成mysql的安装部署,中间有很多的坑等着 安装docker并配置 sudo yum install docker-ce 启动docker并设置开机启动项 sudo systemctl start docker sudo systemctl enable docker查看docker是否启动 sudo systemctl status docker 或者直接…

cpu 多级缓存L1、L2、L3 与主存关系

现代 CPU 的多级缓存(L1、L2、L3)和主存(DRAM)构成了一个层次化的内存系统,旨在通过减少内存访问延迟和提高数据访问速度来优化计算性能。以下是对多级缓存和主存的详细解析: 1. 缓存层次结构 现代 CPU 通…

基于Python+SQLite实现校园信息化统计平台

一、项目基本情况 概述 本项目以清华大学为预期用户,作为校内信息化统计平台进行服务,建立网页端和移动端校内信息化统计平台,基于Project_1的需求实现。 本项目能够满足校内学生团体的几类统计需求,如活动报名、实验室招募、多…

[多线程]基于阻塞队列(Blocking Queue)的生产消费者模型的实现

标题:[多线程]基于阻塞队列(Blocking Queue)的生产消费者模型的实现 水墨不写bug 文章目录 一、生产者消费者模型特点:二、实现2.1详细解释1. 成员变量2. 构造函数3. Isfull 和 Isempty4. Push 函数5. Pop 函数6. 析构函数7. GetSize 函数 三、总结与多线…

vue组件库el-menu导航菜单设置index,地址不会变更的问题

请先确认 1.路由已配置好 route-index.js如下, 2.view-ProHome.vue中已预留路由展示位 3.导航菜单复制组件库,并做修改 其中index与路由配置的地址一致 运行后发现点击菜单,url地址还是不变,查看组件库 Element - The worlds …

MySQL 优化方案

一、MySQL 查询过程 MySQL 查询过程是指从客户端发送 SQL 语句到 MySQL 服务器,再到服务器返回结果集的整个过程。这个过程涉及多个组件的协作,包括连接管理、查询解析、优化、执行和结果返回等。 1.1 查询过程的关键组件 连接管理器:管理…

智能对话小程序功能优化day1-登录鉴权

目录 1.数据库表构建。 2.完善登录相关的实例对象。 3.登录相关功能实现。 4.小程序效果。 最近尝试下trae加入claude3.7后的读图生成代码功能,可以看到简单的页面一次性生成确实准确率高了不少,想起来之前笔记中开发的智能问答小程序功能还是有些简…

MinIO的预签名直传机制

我们传统使用MinIo做OSS对象存储的应用方式往往都是在后端配置与MinIO的连接和文件上传下载的相关接口,然后我们在前端调用这些接口完成文件的上传下载机制,但是,当并发量过大,频繁访问会对后端的并发往往会对服务器造成极大的压力…

Qt开源控件库(qt-material-widgets)的编译及使用

项目简介 qt-material-widgets是一个基于 Qt 小部件的 Material Design 规范实现。 项目地址 项目地址:qt-material-widgets 本地构建环境 Win11 家庭中文版 VS2019 Qt5.15.2 (MSVC2019) 本地构建流程 克隆后的目录结构如图: 直接使用Qt Crea…

用python批量生成文件夹

问题描述 当批量生成文件夹时,手动右键创建文件夹是一个繁琐的过程,尤其是文件夹的命名过程。假设从3月10日到3月19日,每天要为某个日常工作创建一个名为2025031x的文件夹,手动创建文件夹并命名费时费力。 百度给出了以下四种方法…

【MySQL】基本操作 —— DDL

目录 DDLDDL 常用操作对数据库的常用操作查看所有数据库创建数据库切换、显示当前数据库删除数据库修改数据库编码 对表的常用操作创建表数据类型数值类型日期和时间类型字符串类型 查看当前数据库所有表查看指定表的创建语句查看指定表结构删除表 对表结构的常用操作给表添加字…

游戏引擎学习第152天

仓库:https://gitee.com/mrxiao_com/2d_game_3 回顾昨天的内容 这个节目展示了我们如何从零开始制作一款完整的游戏。我们不使用任何游戏引擎或库,而是从头开始创建一款游戏,整个开发过程都会呈现给大家。你将能够看到每一行代码的编写,了解…

考研数学非数竞赛复习之Stolz定理求解数列极限

在非数类大学生数学竞赛中,Stolz定理作为一种强大的工具,经常被用来解决和式数列极限的问题,也被誉为离散版的’洛必达’方法,它提供了一种简洁而有效的方法,使得原本复杂繁琐的极限计算过程变得直观明了。本文&#x…

故障诊断——neo4j入门

文章目录 neo4jQuickStartDemo neo4j QuickStart 详情可见博客:https://www.cnblogs.com/nhdlb/p/18703804,使用docker拉取最近的一个版本进行创建 docker run -it -d -p 7474:7474 -p 7687:7687 \ -v /disk5/neo4j_docker/data:/data \ -v /disk5/ne…

【JavaWeb】快速入门——HTMLCSS

文章目录 一、 HTML简介1、HTML概念2、HTML文件结构3、可视化网页结构 二、 HTML标签语法1、标题标签2、段落标签3、超链接4、换行5、无序列表6、路径7、图片8、块1 盒子模型2 布局标签 三、 使用HTML表格展示数据1、定义表格2、合并单元格横向合并纵向合并 四、 使用HTML表单收…

若依框架-给sys_user表添加新字段并获取当前登录用户的该字段值

目录 添加字段 修改SysUser类 修改SysUserMapper.xml 修改user.js 前端获取字段值 添加字段 若依框架的sys_user表是没有age字段的,但由于业务需求,我需要新添加一个age字段: 修改SysUser类 添加age字段后,要在SysUser类 …

前端监测窗口尺寸和元素尺寸变化的方法

前端监测窗口尺寸变化和元素尺寸变化的方法 window.resize 简介 window.resize事件是浏览器提供的一种事件,用于监听窗口大小的改变。这意味着当用户调整浏览器窗口大小时,相关的JavaScript代码将被触发执行。这为开发者提供了一种机制,可…