展示三维空间
上一章回顾: 起步
- 你学会了如何初始化环境。
- 并且你书写了一段代码,虽然不知道这段代码干了什么,不过也顺利地完成了在屏幕渲染出一个三维空间。
本章你可以学习到
- 了解什么是 Work。
- 了解
parseWork(json)
five.load(work)
是如何工作的。
准备工作
和上一章节一样,我们新建一个目录(src/1.displaying-work
)以及对应的 html 文件 以及 js 或 ts 文件。
jsx 或 tsx 文件可以先拷贝上一章节的内容。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" href="data:;base64,iVBORw0KGgo=" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>展示空间 | Display a work</title>
<style>
* {
margin: 0;
padding: 0;
}
html,
body #app {
width: 100%;
height: 100%;
overflow: hidden;
}
</style>
</head>
<body>
<div id="app"></div>
<script type="module" src="./index"></script>
</body>
</html>
- JavaScript
- TypeScript
import { Five, parseWork } from "@realsee/five";
const workURL =
"https://vr-public.realsee-cdn.cn/release/static/image/release/five/work-sample/07bdc58f413bc5494f05c7cbb5cbdce4/work.json";
const five = new Five();
five.appendTo(document.querySelector("#app"));
fetch(workURL)
.then((res) => res.json())
.then((json) => {
const work = parseWork(json);
five.load(work);
});
window.addEventListener("resize", () => five.refresh(), false);
export {};
import { Five, parseWork } from "@realsee/five";
const workURL =
"https://vr-public.realsee-cdn.cn/release/static/image/release/five/work-sample/07bdc58f413bc5494f05c7cbb5cbdce4/work.json";
const five = new Five();
five.appendTo(document.querySelector("#app")!);
fetch(workURL)
.then((res) => res.json())
.then((json) => {
const work = parseWork(json);
five.load(work);
});
window.addEventListener("resize", () => five.refresh(), false);
export {};
启动服务 npm run dev
。 并跳转到当前页面 " <http://localhost:3000/src/1.displaying-work.index.html\> "。
提示
请查看你的控制台,端口号会因为你的配置以及当前端口占用情况变更,请已控制台输出的为准。
如果你使用其他开发构建工具,请按照自己的开发构建工具的要求启动服务。
什么是 Work
接下来停下写代码的双手,我们来理解一些概念,放心很简单。
Work 简介
我们将一个 三维空间 叫做一个 Work。 那么一个 Work 是通过 JSON 的结构体描述的,称之为 work.json。 Work 你可以通过如视开放平台接口获取。 也可以像本次示例一样将之静态化使用。
Five 提供了 parseWork
的方法,用于解析 work.json,然后便可以得到 Work 对象。
将 Work 对象传入 load
方法中就可以初始化场景。你在上一章也是这么做的。
work 的使用限制
你需要在如视开发者中心配置你的 安全域名 以及 Work 数据的 可用时间。 在生产环境中使用 Five 对对此做校验来保护开发者以及如视的数据安全。
在以下情况不会校验上述限制,便于开发和测试:
- 域名为
localhost
。 - 域名为 ip 地址,如
127.0.0.1
、192.168.0.5
、172.30.2.0
、10.33.10.2
等。 - 在非 http 情况下访问,比如 file:// 协议下。