开源
JanusWeb:用来构建元宇宙空间的框架
来源:元经纪     阅读:1087
网站管理员
发布于 2023-02-03 08:14
查看主页

概述

JanusWeb是另一个开源的、开发人员友好的metaverse编程框架。它专注于创建在web浏览器中运行的3D环境,渲染由Three.js或WebGL驱动。由于JanusWeb专注于3D世界的创建,其范围目前比XREngine更为有限,XREngine旨在成为开发人员的通用metaverse平台。尽管如此,如果创建3D世界是你的主要目标,那么JanusWeb是一个很好的起点。

特征

使用

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

有几种不同的方法可以使用 JanusWeb,具体取决于您希望对整个系统进行多少控制。

使用我们的查看器

我们的默认查看器始终在https://web.janusvr.com/上可用。您可以使用JanusVR 标记编写一个 HTML 页面,并将其托管在您通常托管静态网站的任何地方。任何常规的网络主机、AWS S3 静态站点、CDN,甚至更奇特的位置(如IPFS 分布式文件系统)都可以使用。您甚至可以将标记放在 PasteBin 或 PiratePad 等网站上。然后只需在导航栏中输入 URL 即可将 URL 加载到我们的查看器中,您可以直接链接到它,在社交媒体上分享,或者将我们的查看器直接嵌入到其他网页、博客文章或文章中。

另请参阅下面的使用特定版本的 JanusWeb

将我们的脚本拉入您的页面

使用上述方法,您的所有链接都将通过我们的服务器。如果您更喜欢链接到您自己的服务器,您可以将我们的 JS 拉到您的页面中,并通过其 API 将 JanusWeb 用作可编写脚本的客户端。这看起来像这样:

<html>
  <head>
    <title>My JanusVR Room</title>
  </head>
  <body>
    <script src="https://web.janusvr.com/janusweb.js"></script>
    <janus-viewer>
      <FireBoxRoom>
        <Room use_local_asset="room1">
          <Object id="cube" pos="0 1 5" />
          <Text col="1 0 0" pos="0 2 4">My First Room</Text>
        </Room>
      </FireBoxRoom>
    </janus-viewer>
  </body>
</html>

elation.janusweb.init()函数可以接受多个参数,并返回一个接收客户端实例的承诺。可以通过其 API 控制此客户端引用。请参阅下面有关参数脚本的部分。

另请参阅下面的使用特定版本的 JanusWeb

从 ZIP 安装

(TODO - 我们将在发布 v1.0 后开始发布 JanusWeb 的 zip 版本)

从 NPM 安装

(TODO - 我们将在发布 v1.0 后开始发布 JanusWeb 的官方 NPM 包)

npm install janusweb

从源代码构建

如果您想从源代码构建 JanusWeb,您可以从 Github 上查看它并使用以下步骤构建:

$ git clone https://github.com/jbaicoianu/janusweb
$ cd janusweb
$ npm install --only=prod
$ npm run build

build/这将在您的目录中为您提供最新版本的 JanusWeb 的完整构建。build/index.html然后,您可以按照自己认为合适的方式进行修改,并按照上面的建议托管它。

脚本

初始化客户端后,elation.janusweb.init()返回一个 Promise,它提供对客户端的引用。您可以通过编程方式控制此客户端执行各种操作。例如,我们可以让客户端加载一个 URL,等待世界及其所有资产加载,然后在指定的延迟后截取世界的屏幕截图:

var pageinfo = elation.utils.parseURL(document.location.href),
    urlargs = pageinfo.args || {},
    hashargs = pageinfo.hash || {};

var url = elation.utils.any(hashargs.url, urlargs.url, 'http://www.janusvr.com/index.html'),
    delay = elation.utils.any(hashargs.delay, urlargs.delay, 1000);

elation.janusweb.init({
  url: url,
  resolution: '1920x1080',
  showchat: false,
  shownavigation: false
}).then(function(client) {
  elation.events.add(client.janusweb.currentroom, 'room_load_complete', function() {
    setTimeout(function() {
      client.hideMenu();
      client.screenshot().then(function(imagefile) {
        // upload imagefile somewhere via XHR
        console.log('Screenshot complete!');
      });
    }, delay);
  });
});

JanusWeb 客户端的许多其他方面也可以通过这种方式进行控制。我们的用户总是想出新的和创造性的方式来使用 JanusWeb 客户端。将它嵌入您的博客文章,使用它在您的 2d 网页后面呈现 3D 内容,在您的世界中放置一个虚拟安全摄像头,并从任何网络浏览器查看虚拟世界的实时流。通过网络界面控制虚拟世界。这是您进入元宇宙的可编写脚本的实时门户,可以随心所欲。可能性是无止境!

您甚至可以在 NodeJS 中运行 JanusWeb 以进行无头服务器端操作。用它来编写一个在 metaverse 中漫游的机器人,或者在服务器上运行你的游戏逻辑和物理,为你的世界提供一个权威的状态源。如果您觉得这听起来很有趣,请告诉我们,我们将非常乐意帮助您解决这个问题(现在一切都还处于试验阶段!)

使用特定版本的 JanusWeb

如果您需要加载特定版本的 JanusWeb,所有以前的版本都存储在同一台服务器上,并且可以通过构造一个形式的 URL 来访问https://web.janusvr.com/<version>/。如果您有一个您知道可以使用特定版本的房间,这将很有用,该版本依赖于此后已被弃用或更改的功能,或者确定是否引入了错误。

JanusWeb 版本遵循语义版本控制 2.0.0规范,该规范遵循格式<major>.<minor>.<patch>- 例如,在撰写本文时(2017 年 3 月),当前稳定版本为1.0.15。所以如果你想查看这个版本,你可以去https://web.janusvr.com/1.0.15/如果你想把这个特定版本拉到你的页面,你可以这样做<script src="https://web.janusvr.com/1.0.15/janusweb.js"></script>。我们还支持最新版本的别名 - 例如,https://web.janusvr.com/1.0/将始终引用最新的 1.0 版本,https://web.janusvr.com/0.9/最终的 0.9释放等

[/hidecontent]

 
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
【AI观察笔记】诺贝尔“大神”放言:十年内 AI将消灭所有疾病
appleintelligence预测今年不会进入超级周期
打造文创冷饮新范式 伊利“须尽欢”携手长隆推出八款联名冰淇淋新品
2025年上映 漫威《神奇四侠:第一步》 正式片名官宣:下周开拍
腾讯云正式发布AI原生(AI Native)向量数据库,为AI大模型训练添砖加瓦

首页

分类

定制方案

消息

我的