名词解释
什么是 Work
Work 是如视开发者中心 提供的对于一个三维空间的描述。 是通过如视硬件设备(如视扫描仪 、如视 Lite 全景相机 、如视 VR App )扫描并处理之后用于三维空间展示的数据。
Work 以 JSON 作为数据格式 Five 框架可以解析 Work 数据并展示。一个 Five 实例每次可以载入并展示一个 Work 。并且也可以在不同的 Work 之间动态切换。
work 的使用限制
你需要在如视开发者中心配置你的 安全域名 以及 Work 数据的 可用时间。 在生产环境中使用 Five 对对此做校验来保护开发者以及如视的数据安全。
在以下情况不会校验上述限制,便于开发和测试:
- 域名为 
localhost。 - 域名为 ip 地址,如 
127.0.0.1、192.168.0.5、172.30.2.0、10.33.10.2等。 - 在非 http 情况下访问,比如 file:// 协议下。
 
危险
请勿手动修改 work 数据,否则将造成不可预估的渲染问题!
Work 的数据样例如下
点击查看 Work 数据示例
{
  "initial": {
    "mode": "Panorama",
    "pano_index": 6,
    "longitude": 2.6869287662553916,
    "latitude": 0,
    "fov": 95
  },
  "model": {
    "file_url": "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/model/auto3d-DJaa08PIzN4JYluXQ1j2VS.at3d",
    "material_textures": [
      "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/materials/texture_0.jpg",
      "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/materials/texture_1.jpg",
      "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/materials/texture_2.jpg",
      "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/materials/texture_3.jpg",
      "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/materials/texture_4.jpg",
      "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/materials/texture_5.jpg",
      "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/materials/texture_6.jpg",
      "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/materials/texture_7.jpg",
      "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/materials/texture_8.jpg",
      "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/materials/texture_9.jpg"
    ]
  },
  "panorama": {
    "list": [
      {
        "up": "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/images/cube_2048/0/2257f0f0b29d5b00ff01934ce51aaa35/0_u.jpg",
        "down": "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/images/cube_2048/0/2257f0f0b29d5b00ff01934ce51aaa35/0_d.jpg",
        "left": "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/images/cube_2048/0/2257f0f0b29d5b00ff01934ce51aaa35/0_l.jpg",
        "right": "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/images/cube_2048/0/2257f0f0b29d5b00ff01934ce51aaa35/0_r.jpg",
        "front": "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/images/cube_2048/0/2257f0f0b29d5b00ff01934ce51aaa35/0_f.jpg",
        "back": "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/images/cube_2048/0/2257f0f0b29d5b00ff01934ce51aaa35/0_b.jpg"
      },
      {
        "up": "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/images/cube_2048/1/ecb554bb1c122fa90186d176ccfecde4/1_u.jpg",
        "down": "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/images/cube_2048/1/ecb554bb1c122fa90186d176ccfecde4/1_d.jpg",
        "left": "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/images/cube_2048/1/ecb554bb1c122fa90186d176ccfecde4/1_l.jpg",
        "right": "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/images/cube_2048/1/ecb554bb1c122fa90186d176ccfecde4/1_r.jpg",
        "front": "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/images/cube_2048/1/ecb554bb1c122fa90186d176ccfecde4/1_f.jpg",
        "back": "https://vrlab-public.ljcdn.com/release/auto3dhd/a62e1ebf7d013f7df117551a14af79fc/images/cube_2048/1/ecb554bb1c122fa90186d176ccfecde4/1_b.jpg"
      }
    ]
  },
  "observers": [
    {
      "visible_nodes": [1],
      "accessible_nodes": [1],
      "quaternion": {
        "w": 0.45076583925142194,
        "x": 0.010070951976936936,
        "y": -0.8925839597148215,
        "z": -0.0016154299986102319
      },
      "standing_position": [
        -6.956049919128418, -1.3924440682333898, 1.6591600179672241
      ],
      "position": [
        -6.956049919128418, -0.10312400013208389, 1.6591600179672241
      ],
      "floor_index": 0
    },
    {
      "visible_nodes": [0],
      "accessible_nodes": [0],
      "index": 1,
      "quaternion": {
        "w": -0.9884643083591809,
        "x": -0.0038900979633806664,
        "y": 0.1512670435365699,
        "z": -0.006439990839033269
      },
      "standing_position": [
        -6.176340103149414, -1.380554749576384, 2.179759979248047
      ],
      "position": [-6.176340103149414, -0.10025200247764587, 2.179759979248047],
      "floor_index": 0
    }
  ]
}
Work 的数据说明
initial: 初始化数据,是一个State数据。描述 Work 被加载初始状态的位姿,也叫做 VR 的初始视角- mode: 模态
 - pano_index: 初始化点位
 - longitude: 相机的水平角
 - latitude: 相机的偏航角
 - fov: 相机垂直方向的可视角度
 
model: 三维模型- file_url: 三维模型的资源地址,文件为 
.at3d为如视定制的模型格式 - material_textures: 三维模型的贴图资源地址
 
- file_url: 三维模型的资源地址,文件为 
 panorama: 全景彩色信息- list:
- up / down / left / right / front / back: 全景彩色信息以 cubemap 方式存储和使用。
 
 
- list:
 observers: 采集点信息- visible_nodes: 采集点之间的可见性列表
 - accessible_nodes: 采集点之间的连通性列表
 - quaternion: 采集点与模型坐标的旋转偏移量
 - standing_position: 采集点地面坐标
 - position: 采集点坐标
 - floor_index: 采集点楼层
 
什么是 Five State
State 是 Five 框架用于描述状态的数据结构。他包含了模态、位于的采集点位、相机的方向、相机可视角度的信息。 您可以使用 State 来操作 Five 或者获取 Five 当前的状态。
interface State {
  mode: Five.Mode;
  panoIndex: number;
  longitude: number;
  latitude: number;
  fov: number;
}
State的数据描述
mode: 当前的模态 Five 常用有 5 种模态,可以使用Five.Mode获得- Panorama: 全景游走模态,该模态下视图将在采集点间游走,手势操作可以旋转/放大视角/切换采集点,适合查看采集的全景信息。
 - Floorplan: 空间总览模态, 该模态下视图以模型为中心,手势操作可以旋转/放大模型/切换楼层,适合查看模型的整体效果。
 - Topview: 户型图模态,该模态下视图以模型为中心,垂直俯视模型,手势操作可以平移/放大模型/切换楼层,适合查看模型平面结构。
 - Model: 模型游走模态,该模态下视图将在模型中自由游走,手势操作可以旋转/放大视角/位移,适合查看模型的细节,做一些定位操作。
 - VRPanorama: VR 眼镜模态,该模态下可以使用 Cardboard 眼镜 或者他的第三方衍生产品,实现 VR 虚拟显示效果。
 
panoIndex: 采集点位longitude/latitude: 相机的水平角 / 相机的偏航角(弧度),我们使用类似经纬度的方式描述相机位置。fov: 相机垂直方向的可视角度 (角度)