@realsee/five 5.0.0-alpha.21 → 5.0.0-alpha.211

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/README.md +18 -8
  2. package/docs/.nojekyll +1 -0
  3. package/docs/assets/highlight.css +134 -0
  4. package/docs/assets/icons.css +1043 -0
  5. package/docs/assets/main.js +52 -0
  6. package/docs/assets/search.js +1 -0
  7. package/docs/assets/style.css +1414 -0
  8. package/docs/classes/five.AnimationFrameLoop.html +15 -0
  9. package/docs/classes/five.BVH.html +10 -0
  10. package/docs/classes/five.BVHIntersect.html +1 -0
  11. package/docs/classes/five.BVHNode.html +7 -0
  12. package/docs/classes/five.BVHVector3.html +1 -0
  13. package/docs/classes/five.Camera.html +11 -0
  14. package/docs/classes/five.Clipper.html +1 -0
  15. package/docs/classes/five.Five.html +335 -0
  16. package/docs/classes/five.InternalWebGLRenderer.html +1 -0
  17. package/docs/classes/five.IntersectMesh.html +1 -0
  18. package/docs/classes/five.Model.html +99 -0
  19. package/docs/classes/five.NetworkSubscribe.html +50 -0
  20. package/docs/classes/five.PBMContainer.html +17 -0
  21. package/docs/classes/five.PBMGroup.html +19 -0
  22. package/docs/classes/five.PBMMaterial.html +29 -0
  23. package/docs/classes/five.PBMMesh.html +7 -0
  24. package/docs/classes/five.PanoCircleMesh.html +7 -0
  25. package/docs/classes/five.PanoCircleMeshCustom.html +7 -0
  26. package/docs/classes/five.PanoCircleMeshSolid.html +7 -0
  27. package/docs/classes/five.Scene.html +3 -0
  28. package/docs/classes/five.Subscribe.html +56 -0
  29. package/docs/classes/five.TextureLoader.html +1 -0
  30. package/docs/classes/five.Tile3D.html +34 -0
  31. package/docs/classes/five.Tile3DModel.html +15 -0
  32. package/docs/classes/five.TileBoundingSphere.html +1 -0
  33. package/docs/classes/five.TileCacheNode.html +1 -0
  34. package/docs/classes/five.TileCubeTextureTarget.html +1 -0
  35. package/docs/classes/five.TileCullingVolume.html +1 -0
  36. package/docs/classes/five.TileOrientedBoundingBox.html +1 -0
  37. package/docs/classes/five.TileRequestScheduler.html +16 -0
  38. package/docs/classes/five.Tileset3D.html +11 -0
  39. package/docs/classes/five.Tileset3DTraverser.html +1 -0
  40. package/docs/classes/five.TilesetCache.html +1 -0
  41. package/docs/classes/five.Work.html +32 -0
  42. package/docs/classes/five.XRButton.html +1 -0
  43. package/docs/classes/gltf_loader.DDSLoader.html +1 -0
  44. package/docs/classes/gltf_loader.DRACOLoader.html +1 -0
  45. package/docs/classes/gltf_loader.GLTFLoader.html +17 -0
  46. package/docs/classes/gltf_loader.GLTFObject.html +7 -0
  47. package/docs/classes/gltf_loader.GLTFParser.html +1 -0
  48. package/docs/classes/gltf_loader.THREEGLTFLoader.html +1 -0
  49. package/docs/classes/line.Line.html +1 -0
  50. package/docs/classes/line.LineGeometry.html +1 -0
  51. package/docs/classes/line.LineMaterial.html +1 -0
  52. package/docs/classes/line.LineSegmentsGeometry.html +1 -0
  53. package/docs/classes/line.THREE_Line2.html +1 -0
  54. package/docs/classes/line.THREE_LineSegments2.html +1 -0
  55. package/docs/classes/react.Store.html +29 -0
  56. package/docs/classes/server.BVH.html +10 -0
  57. package/docs/classes/server.BVHIntersect.html +1 -0
  58. package/docs/classes/server.BVHNode.html +7 -0
  59. package/docs/classes/server.BVHVector3.html +1 -0
  60. package/docs/classes/server.Model.html +70 -0
  61. package/docs/classes/server.PBMContainer.html +7 -0
  62. package/docs/classes/server.PBMGroup.html +9 -0
  63. package/docs/classes/server.PBMMesh.html +7 -0
  64. package/docs/classes/sticker.Sticker.html +32 -0
  65. package/docs/classes/vfx.Airflow.html +1 -0
  66. package/docs/classes/vfx.Flame.html +1 -0
  67. package/docs/classes/vfx.Particle.html +89 -0
  68. package/docs/classes/vfx.SpotLight.html +1 -0
  69. package/docs/index.html +166 -434
  70. package/docs/interfaces/five.AddableObject.html +9 -0
  71. package/docs/interfaces/five.AnimationFrame.html +1 -0
  72. package/docs/interfaces/five.CameraPose.html +1 -0
  73. package/docs/interfaces/five.ClipperParameter.html +1 -0
  74. package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +28 -0
  75. package/docs/interfaces/five.EventCallback.html +405 -0
  76. package/docs/interfaces/five.FiveInitArgs.html +111 -0
  77. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +17 -0
  78. package/docs/interfaces/five.ImageOptions.html +18 -0
  79. package/docs/interfaces/five.ImageURLMappings.html +1 -0
  80. package/docs/interfaces/five.ImageURLOptions.html +15 -0
  81. package/docs/interfaces/five.IntersectMeshInterface.html +3 -0
  82. package/docs/interfaces/five.Intersection.html +7 -0
  83. package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +15 -0
  84. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +20 -0
  85. package/docs/interfaces/five.ModelEventCallback.html +26 -0
  86. package/docs/interfaces/five.ModelLodOptions.html +1 -0
  87. package/docs/interfaces/five.MotionKeyframe.html +1 -0
  88. package/docs/interfaces/five.MovePanoOptions.html +42 -0
  89. package/docs/interfaces/five.NetworkOptions.html +9 -0
  90. package/docs/interfaces/five.PBMPanoPicture.html +7 -0
  91. package/docs/interfaces/five.PBMParameters.html +29 -0
  92. package/docs/interfaces/five.PanoCircleMeshCustomOptions.html +1 -0
  93. package/docs/interfaces/five.PanoCircleMeshInterface.html +19 -0
  94. package/docs/interfaces/five.PanoCircleMeshOptions.html +1 -0
  95. package/docs/interfaces/five.PanoCircleMeshSolidOptions.html +1 -0
  96. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +35 -0
  97. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +20 -0
  98. package/docs/interfaces/five.Pose.html +37 -0
  99. package/docs/interfaces/five.Scissor.html +14 -0
  100. package/docs/interfaces/five.State.html +21 -0
  101. package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -0
  102. package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -0
  103. package/docs/interfaces/five.SubscribeMixinType.off.html +1 -0
  104. package/docs/interfaces/five.SubscribeMixinType.on.html +1 -0
  105. package/docs/interfaces/five.SubscribeMixinType.once.html +1 -0
  106. package/docs/interfaces/five.TextureOptions.html +20 -0
  107. package/docs/interfaces/five.Tile3DModelLoaderOptions.html +3 -0
  108. package/docs/interfaces/five.TileBoundingVolume.html +19 -0
  109. package/docs/interfaces/five.TileContent.html +1 -0
  110. package/docs/interfaces/five.TileCubeNode.html +1 -0
  111. package/docs/interfaces/five.TileCubeTree.html +1 -0
  112. package/docs/interfaces/five.Tileset3dOptions.html +1 -0
  113. package/docs/interfaces/five.TilesetJSON.html +1 -0
  114. package/docs/interfaces/five.TilesetJSONNode.html +1 -0
  115. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +9 -0
  116. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +31 -0
  117. package/docs/interfaces/five.WebXRAxesParams.html +1 -0
  118. package/docs/interfaces/five.WebXRControllerParams.html +1 -0
  119. package/docs/interfaces/five.WorkCubeImage.html +13 -0
  120. package/docs/interfaces/five.WorkImage.html +21 -0
  121. package/docs/interfaces/five.WorkInitial.html +13 -0
  122. package/docs/interfaces/five.WorkModel.html +11 -0
  123. package/docs/interfaces/five.WorkModelTiles.html +3 -0
  124. package/docs/interfaces/five.WorkObserver.html +27 -0
  125. package/docs/interfaces/five.WorkTile.html +1 -0
  126. package/docs/interfaces/five.WorkVideo.html +9 -0
  127. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +31 -0
  128. package/docs/interfaces/gltf_loader.DDS.html +1 -0
  129. package/docs/interfaces/gltf_loader.GLTF.html +7 -0
  130. package/docs/interfaces/gltf_loader.GLTFReference.html +1 -0
  131. package/docs/interfaces/gltf_loader.THREEGLTF.html +1 -0
  132. package/docs/interfaces/react.FiveActionReactCallbacks.html +52 -0
  133. package/docs/interfaces/react.FiveInjectionTypes.html +181 -0
  134. package/docs/interfaces/react.PropTypeOfFiveFeatures.html +1 -0
  135. package/docs/interfaces/server.Intersection.html +7 -0
  136. package/docs/interfaces/server.ModelEventCallback.html +18 -0
  137. package/docs/interfaces/sticker.IntersectionLike.html +8 -0
  138. package/docs/interfaces/vfx.ParticleArgs.html +75 -0
  139. package/docs/interfaces/vfx.ParticleTweenKeyframe.html +1 -0
  140. package/docs/interfaces/vue.FiveActionVueCallbacks.html +60 -0
  141. package/docs/modules/five.SubscribeMixinType.html +1 -0
  142. package/docs/modules/five.html +470 -3006
  143. package/docs/modules/gltf_loader.html +1 -155
  144. package/docs/modules/line.html +1 -210
  145. package/docs/modules/react.html +130 -1507
  146. package/docs/modules/server.html +18 -526
  147. package/docs/modules/sticker.html +1 -151
  148. package/docs/modules/vfx.html +1 -0
  149. package/docs/modules/vue.html +115 -0
  150. package/docs/modules.html +1 -136
  151. package/exporters/staticify.js +210 -0
  152. package/five/index.d.ts +1506 -283
  153. package/five/index.js +362 -1
  154. package/gltf-loader/index.d.ts +90 -5
  155. package/gltf-loader/index.js +260 -1
  156. package/line/index.d.ts +1 -0
  157. package/line/index.js +260 -1
  158. package/package.json +12 -11
  159. package/react/index.d.ts +73 -72
  160. package/react/index.js +260 -1
  161. package/scripts/five-staticify.js +26 -0
  162. package/server/index.d.ts +222 -27
  163. package/server/index.js +357 -1
  164. package/sticker/index.d.ts +2 -1
  165. package/sticker/index.js +260 -1
  166. package/templates/quick-start/package.json +1 -1
  167. package/umd/five-gltf-loader.js +1 -2
  168. package/umd/five-line.js +1 -2
  169. package/umd/five-react.js +1 -2
  170. package/umd/five-sticker.js +1 -2
  171. package/umd/five-vfx.js +1 -0
  172. package/umd/five-vue.js +1 -0
  173. package/umd/five.js +1 -1
  174. package/umd/five.js.LICENSE.txt +58 -118
  175. package/vfx/index.d.ts +264 -0
  176. package/vfx/index.js +260 -0
  177. package/vue/index.d.ts +441 -0
  178. package/vue/index.js +260 -0
  179. package/docs/assets/css/main.css +0 -2660
  180. package/docs/assets/js/main.js +0 -248
  181. package/docs/assets/js/search.js +0 -1
  182. package/docs/classes/five.camera.html +0 -323
  183. package/docs/classes/five.five-1.html +0 -2670
  184. package/docs/classes/five.hashcubetexture.html +0 -252
  185. package/docs/classes/five.internalwebglrenderer.html +0 -212
  186. package/docs/classes/five.model.html +0 -962
  187. package/docs/classes/five.pbmcontainer.html +0 -411
  188. package/docs/classes/five.pbmgroup.html +0 -430
  189. package/docs/classes/five.pbmmaterial.html +0 -533
  190. package/docs/classes/five.pbmmesh.html +0 -254
  191. package/docs/classes/five.scene.html +0 -263
  192. package/docs/classes/five.subscribe.html +0 -569
  193. package/docs/classes/gltf_loader.gltfloader.html +0 -412
  194. package/docs/classes/gltf_loader.gltfobject.html +0 -287
  195. package/docs/classes/line.line-1.html +0 -384
  196. package/docs/classes/line.linegeometry.html +0 -530
  197. package/docs/classes/line.linematerial.html +0 -306
  198. package/docs/classes/line.linesegmentsgeometry.html +0 -477
  199. package/docs/classes/line.three_line2.html +0 -280
  200. package/docs/classes/line.three_linesegments2.html +0 -282
  201. package/docs/classes/react.store.html +0 -605
  202. package/docs/classes/server.model.html +0 -823
  203. package/docs/classes/server.pbmgroup.html +0 -366
  204. package/docs/classes/server.pbmmesh.html +0 -335
  205. package/docs/classes/sticker.sticker-1.html +0 -465
  206. package/docs/interfaces/five.addableobject.html +0 -234
  207. package/docs/interfaces/five.depthpanoramacontrollercustominitargs.html +0 -420
  208. package/docs/interfaces/five.eventcallback.html +0 -2548
  209. package/docs/interfaces/five.fiveinitargs.html +0 -707
  210. package/docs/interfaces/five.floorplancontrollercustominitargs.html +0 -295
  211. package/docs/interfaces/five.imageoptions.html +0 -332
  212. package/docs/interfaces/five.intersection.html +0 -227
  213. package/docs/interfaces/five.intersectmeshinterface.html +0 -188
  214. package/docs/interfaces/five.modelcontrollercustominitargs.html +0 -366
  215. package/docs/interfaces/five.modeleventcallback.html +0 -367
  216. package/docs/interfaces/five.movepanooptions.html +0 -469
  217. package/docs/interfaces/five.panocirclemeshinterface.html +0 -361
  218. package/docs/interfaces/five.panoramacontrollercustominitargs.html +0 -464
  219. package/docs/interfaces/five.panoramalikecontrollercustominitargs.html +0 -364
  220. package/docs/interfaces/five.pbmparameters.html +0 -474
  221. package/docs/interfaces/five.pose.html +0 -270
  222. package/docs/interfaces/five.scissor.html +0 -252
  223. package/docs/interfaces/five.state.html +0 -300
  224. package/docs/interfaces/five.subscribemixintype.emit.html +0 -180
  225. package/docs/interfaces/five.subscribemixintype.haslistener.html +0 -171
  226. package/docs/interfaces/five.subscribemixintype.off.html +0 -198
  227. package/docs/interfaces/five.subscribemixintype.on.html +0 -213
  228. package/docs/interfaces/five.subscribemixintype.once.html +0 -210
  229. package/docs/interfaces/five.topviewcontrollercustominitargs.html +0 -226
  230. package/docs/interfaces/five.vrpanoramacontrollercustominitargs.html +0 -452
  231. package/docs/interfaces/gltf_loader.gltf.html +0 -304
  232. package/docs/interfaces/react.fiveactionreactcallbacks.html +0 -580
  233. package/docs/interfaces/react.fiveinjectiontypes.html +0 -1625
  234. package/docs/interfaces/react.injectfivetoprops.html +0 -280
  235. package/docs/interfaces/server.intersection.html +0 -308
  236. package/docs/interfaces/server.modeleventcallback.html +0 -409
  237. package/docs/interfaces/sticker.intersectionlike.html +0 -223
  238. package/docs/modules/five.subscribemixintype.html +0 -143
  239. package/scripts/export-five-resource/chfs.exe +0 -0
  240. package/scripts/export-five-resource/fileify.js +0 -192
  241. package/scripts/export-five-resource/format-work.js +0 -71
  242. package/scripts/export-five-resource/staticify.js +0 -327
  243. package/scripts/transcode-model/BufferGeometryUtils.js +0 -832
  244. package/scripts/transcode-model/LoaderSupport.js +0 -1545
  245. package/scripts/transcode-model/MTLLoader.js +0 -602
  246. package/scripts/transcode-model/OBJLoader2.js +0 -1470
  247. package/scripts/transcode-model/obj2pbm.js +0 -65
  248. /package/docs/assets/{images/icons.png → icons.png} +0 -0
  249. /package/docs/assets/{images/icons@2x.png → icons@2x.png} +0 -0
  250. /package/docs/assets/{images/widgets.png → widgets.png} +0 -0
  251. /package/docs/assets/{images/widgets@2x.png → widgets@2x.png} +0 -0
  252. /package/resource/{basis_transcoder.js → basis/basis_transcoder.js} +0 -0
  253. /package/resource/{basis_transcoder.wasm → basis/basis_transcoder.wasm} +0 -0
  254. /package/resource/{draco_decoder.js → gltf/draco_decoder.js} +0 -0
  255. /package/resource/{draco_decoder.wasm → gltf/draco_decoder.wasm} +0 -0
  256. /package/resource/{draco_wasm_wrapper.js → gltf/draco_wasm_wrapper.js} +0 -0
package/docs/index.html CHANGED
@@ -1,450 +1,182 @@
1
- <!doctype html>
2
- <html class="default no-js">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
- <title>如视 Five SDK - v5.0.0-alpha.21</title>
7
- <meta name="description" content="Documentation for 如视 Five SDK - v5.0.0-alpha.21">
8
- <meta name="viewport" content="width=device-width, initial-scale=1">
9
- <link rel="stylesheet" href="assets/css/main.css">
10
- <script async src="assets/js/search.js" id="search-script"></script>
11
- </head>
12
- <body>
13
- <header>
14
- <div class="tsd-page-toolbar">
15
- <div class="container">
16
- <div class="table-wrap">
17
- <div class="table-cell" id="tsd-search" data-index="assets/js/search.json" data-base=".">
18
- <div class="field">
19
- <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
20
- <input id="tsd-search-field" type="text" />
21
- </div>
22
- <ul class="results">
23
- <li class="state loading">Preparing search index...</li>
24
- <li class="state failure">The search index is not available</li>
25
- </ul>
26
- <a href="index.html" class="title">如视 Five SDK - v5.0.0-alpha.21</a>
27
- </div>
28
- <div class="table-cell" id="tsd-widgets">
29
- <div id="tsd-filter">
30
- <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
31
- <div class="tsd-filter-group">
32
- <div class="tsd-select" id="tsd-filter-visibility">
33
- <span class="tsd-select-label">All</span>
34
- <ul class="tsd-select-list">
35
- <li data-value="public">Public</li>
36
- <li data-value="protected">Public/Protected</li>
37
- <li data-value="private" class="selected">All</li>
38
- </ul>
39
- </div>
40
- <input type="checkbox" id="tsd-filter-inherited" checked />
41
- <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
42
- </div>
43
- </div>
44
- <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
45
- </div>
46
- </div>
47
- </div>
48
- </div>
49
- <div class="tsd-page-title">
50
- <div class="container">
51
- <h1>如视 Five SDK - v5.0.0-alpha.21</h1>
52
- </div>
53
- </div>
54
- </header>
55
- <div class="container container-main">
56
- <div class="row">
57
- <div class="col-8 col-content">
58
- <div class="tsd-panel tsd-typography">
59
- <a href="#fivejs" id="fivejs" style="color: inherit; text-decoration: none;">
60
- <h1>Five.js</h1>
61
- </a>
62
- <p>贝壳如视三维渲染框架</p>
63
- <a href="#什么是five" id="什么是five" style="color: inherit; text-decoration: none;">
64
- <h2>什么是<strong>Five</strong></h2>
65
- </a>
66
- <p><strong>Five</strong>是 <a href="https://realsee.com">贝壳如视(realsee.com)</a> 提供的在浏览器中运行的三维空间渲染 Javascript SDK。您可以通过<a href="https://developers.realsee.com">如视开发者中心</a>的数据服务,并结合<strong>Five</strong>,制作丰富多彩的三维空间应用。</p>
67
- <p>并且<strong>Five</strong>提供了一系列的方法、事件、生命周期函数。您可以方便地基于<strong>Five</strong>进行二次开发,并结合到您自身的项目中,为您的项目添砖加瓦。</p>
68
- <p><strong>Five</strong>通过 <a href="https://www.typescriptlang.org/">TypeScript</a> 编写,保证开发的质量以及编程体验,推荐通过 <a href="https://code.visualstudio.com">Visual Studio Code</a>、<a href="https://www.jetbrains.com/webstorm/">WebStorm</a> 等现代源代码编辑器,您将可以体验到友好的代码提示以及自动补全。</p>
69
- <p><strong>Five</strong>还提供了完善的 <a href="https://reactjs.org/docs/hooks-intro.html">React Hooks API</a> ,可以方便的通过 <a href="https://reactjs.org">React</a> 开发复杂的响应式数据应用。当然直接使用<strong>Five</strong>开发也是没有问题的。</p>
70
- <a href="#安装five" id="安装five" style="color: inherit; text-decoration: none;">
71
- <h2>安装<strong>Five</strong></h2>
72
- </a>
73
- <p><strong>Five</strong>提供通过 <a href="https://www.npmjs.com">npm</a> 的方式安装。<strong>Five</strong>基于 <a href="https://threejs.org">Three.js</a>, 所以同时您需要安装相关依赖。</p>
74
- <p>目前依赖的<strong>three</strong>版本为 115 ~ 117 的版本</p>
75
- <pre><code class="language-shell"><span style="color: #000000">npm install @realsee/five three@0.117.1</span>
1
+ <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>如视 Five SDK - v5.0.0-alpha.211</title><meta name="description" content="Documentation for 如视 Five SDK - v5.0.0-alpha.211"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script async src="assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">如视 Five SDK - v5.0.0-alpha.211</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><h1> 如视 Five SDK - v5.0.0-alpha.211 </h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><div class="tsd-panel tsd-typography">
2
+ <a href="#fivejs" id="fivejs" style="color: inherit; text-decoration: none;">
3
+ <h1>Five.js</h1>
4
+ </a>
5
+ <p><a href="https://www.npmjs.com/package/@realsee/five"><img src="https://img.shields.io/npm/v/@realsee/five.svg?style=flat-square&logo=npm&label=npm%20install%20@realsee/five" alt="npm version"></a></p>
6
+ <p>贝壳如视三维渲染框架</p>
7
+
8
+ <a href="#什么是five" id="什么是five" style="color: inherit; text-decoration: none;">
9
+ <h2>什么是<strong>Five</strong></h2>
10
+ </a>
11
+ <p><strong>Five</strong>是 <a href="https://realsee.com">贝壳如视(realsee.com)</a> 提供的在浏览器中运行的三维空间渲染 Javascript SDK。您可以通过<a href="https://developers.realsee.com">如视开发者中心</a>的数据服务,并结合<strong>Five</strong>,制作丰富多彩的三维空间应用。</p>
12
+ <p>并且<strong>Five</strong>提供了一系列的方法、事件、生命周期函数。您可以方便地基于<strong>Five</strong>进行二次开发,并结合到您自身的项目中,为您的项目添砖加瓦。</p>
13
+ <p><strong>Five</strong>通过 <a href="https://www.typescriptlang.org/">TypeScript</a> 编写,保证开发的质量以及编程体验,推荐通过 <a href="https://code.visualstudio.com">Visual Studio Code</a>、<a href="https://www.jetbrains.com/webstorm/">WebStorm</a> 等现代源代码编辑器,您将可以体验到友好的代码提示以及自动补全。</p>
14
+ <p><strong>Five</strong>还提供了完善的 <a href="https://reactjs.org/docs/hooks-intro.html">React Hooks API</a> ,可以方便的通过 <a href="https://reactjs.org">React</a> 开发复杂的响应式数据应用。当然直接使用<strong>Five</strong>开发也是没有问题的。</p>
15
+
16
+ <a href="#安装five" id="安装five" style="color: inherit; text-decoration: none;">
17
+ <h2>安装<strong>Five</strong></h2>
18
+ </a>
19
+ <p><strong>Five</strong>提供通过 <a href="https://www.npmjs.com">npm</a> 的方式安装。<strong>Five</strong>基于 <a href="https://threejs.org">Three.js</a>, 所以同时您需要安装相关依赖。</p>
20
+ <p>目前依赖的<strong>three</strong>版本为 115 ~ 117 的版本</p>
21
+ <pre><code class="language-shell"><span class="hl-0">npm install @realsee/five three@0.117.1</span>
76
22
  </code></pre>
77
- <p>如果您使用<strong>React Hooks API</strong>,那么也请同时安装<strong>React</strong>的相关依赖。</p>
78
- <pre><code class="language-shell"><span style="color: #000000">npm install @realsee/five three@0.117.1 react react-dom @types/react @types/react-dom</span>
23
+ <p>如果您使用<strong>React Hooks API</strong>,那么也请同时安装<strong>React</strong>的相关依赖。</p>
24
+ <pre><code class="language-shell"><span class="hl-0">npm install @realsee/five three@0.117.1 react react-dom @types/react @types/react-dom</span>
79
25
  </code></pre>
80
- <p>接下来便可以在您的项目使用<strong>Five</strong>了。</p>
81
- <pre><code class="language-typescript"><span style="color: #AF00DB">import</span><span style="color: #000000"> { </span><span style="color: #001080">Five</span><span style="color: #000000"> } </span><span style="color: #AF00DB">from</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;@realsee/five&quot;</span><span style="color: #000000">;</span>
82
- <span style="color: #008000">// 如果您使用 React Hoos API</span>
83
- <span style="color: #AF00DB">import</span><span style="color: #000000"> { </span><span style="color: #001080">useFiveState</span><span style="color: #000000"> } </span><span style="color: #AF00DB">from</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;@realsee/five/react&quot;</span><span style="color: #000000">;</span>
84
-
26
+ <p>接下来便可以在您的项目使用<strong>Five</strong>了。</p>
27
+ <pre><code class="language-typescript"><span class="hl-1">import</span><span class="hl-0"> { </span><span class="hl-2">Five</span><span class="hl-0"> } </span><span class="hl-1">from</span><span class="hl-0"> </span><span class="hl-3">&quot;@realsee/five&quot;</span><span class="hl-0">;</span><br/><span class="hl-4">// 如果您使用 React Hoos API</span><br/><span class="hl-1">import</span><span class="hl-0"> { </span><span class="hl-2">useFiveState</span><span class="hl-0"> } </span><span class="hl-1">from</span><span class="hl-0"> </span><span class="hl-3">&quot;@realsee/five/react&quot;</span><span class="hl-0">;</span><br/>
85
28
  </code></pre>
86
- <a href="#快速上手" id="快速上手" style="color: inherit; text-decoration: none;">
87
- <h2>快速上手</h2>
88
- </a>
89
- <p><strong>Five</strong>提供了快速上手体验的项目生成工具,您可以通过他熟悉<strong>Five</strong>的功能以及尝试基于<strong>Five</strong>开发功能。</p>
90
- <ol>
91
- <li>先创建一个文件夹<code>five-quick-start</code>, 作为项目根目录并且使用 <code>npm init</code> 命令初始化一个工程。</li>
92
- </ol>
93
- <pre><code class="language-shell"><span style="color: #000000">mkdir five-quick-start &amp;&amp; </span><span style="color: #795E26">cd</span><span style="color: #000000"> five-quick-start &amp;&amp; npm init -y</span>
29
+
30
+ <a href="#浏览器兼容性" id="浏览器兼容性" style="color: inherit; text-decoration: none;">
31
+ <h2>浏览器兼容性</h2>
32
+ </a>
33
+ <table>
34
+ <thead>
35
+ <tr>
36
+ <th align="center">Safari</th>
37
+ <th align="center">Safari on iOS</th>
38
+ <th align="right">Chrome</th>
39
+ <th align="center">Chrome for Android</th>
40
+ <th align="center">Edge</th>
41
+ <th align="center">Firefox</th>
42
+ </tr>
43
+ </thead>
44
+ <tbody><tr>
45
+ <td align="center">&gt;= 9</td>
46
+ <td align="center">&gt;= 9</td>
47
+ <td align="right">&gt;= 49</td>
48
+ <td align="center">&gt;= 93</td>
49
+ <td align="center">&gt;= 13</td>
50
+ <td align="center">&gt;= 45</td>
51
+ </tr>
52
+ </tbody></table>
53
+
54
+ <a href="#快速上手" id="快速上手" style="color: inherit; text-decoration: none;">
55
+ <h2>快速上手</h2>
56
+ </a>
57
+ <p><strong>Five</strong>提供了快速上手体验的项目生成工具,您可以通过他熟悉<strong>Five</strong>的功能以及尝试基于<strong>Five</strong>开发功能。</p>
58
+ <ol>
59
+ <li>先创建一个文件夹<code>five-quick-start</code>, 作为项目根目录并且使用 <code>npm init</code> 命令初始化一个工程。</li>
60
+ </ol>
61
+ <pre><code class="language-shell"><span class="hl-0">mkdir five-quick-start &amp;&amp; </span><span class="hl-5">cd</span><span class="hl-0"> five-quick-start &amp;&amp; npm init -y</span>
94
62
  </code></pre>
95
- <ol start="2">
96
- <li>安装<strong>Five</strong></li>
97
- </ol>
98
- <pre><code class="language-shell"><span style="color: #000000">npm install @realsee/five</span>
63
+ <ol start="2">
64
+ <li>安装<strong>Five</strong></li>
65
+ </ol>
66
+ <pre><code class="language-shell"><span class="hl-0">npm install @realsee/five</span>
99
67
  </code></pre>
100
- <ol start="3">
101
- <li>通过<strong>Five</strong>的内置的<code>five-quick-start-init</code>脚本来快速补完当前项目</li>
102
- </ol>
103
- <pre><code class="language-shell"><span style="color: #000000">npx five-quick-start-init</span>
68
+ <ol start="3">
69
+ <li>通过<strong>Five</strong>的内置的<code>five-quick-start-init</code>脚本来快速补完当前项目</li>
70
+ </ol>
71
+ <pre><code class="language-shell"><span class="hl-0">npx five-quick-start-init</span>
104
72
  </code></pre>
105
- <p>项目的文件结构如下</p>
106
- <pre><code><span style="color: #000000">.</span>
107
- <span style="color: #000000">├── </span><span style="color: #0070C1">README</span><span style="color: #000000">.</span><span style="color: #001080">md</span>
108
- <span style="color: #000000">├── </span><span style="color: #001080">assets</span><span style="color: #000000"> </span><span style="color: #001080">静态文件</span><span style="color: #000000">(</span><span style="color: #001080">测试数据</span><span style="color: #000000">)</span>
109
- <span style="color: #000000">│ ├── </span><span style="color: #001080">data0</span><span style="color: #000000">.</span><span style="color: #001080">json</span>
110
- <span style="color: #000000">│ └── </span><span style="color: #001080">data1</span><span style="color: #000000">.</span><span style="color: #001080">json</span>
111
- <span style="color: #000000">├── </span><span style="color: #001080">index</span><span style="color: #000000">.</span><span style="color: #001080">html</span><span style="color: #000000"> </span><span style="color: #001080">页面模版</span>
112
- <span style="color: #000000">├── </span><span style="color: #001080">index</span><span style="color: #000000">.</span><span style="color: #001080">tsx</span><span style="color: #000000"> </span><span style="color: #001080">逻辑代码</span>
113
- <span style="color: #000000">├── </span><span style="color: #001080">package</span><span style="color: #000000">.</span><span style="color: #001080">json</span><span style="color: #000000"> </span><span style="color: #001080">npm</span><span style="color: #000000"> </span><span style="color: #001080">包管理描述</span>
114
- <span style="color: #000000">├── </span><span style="color: #001080">tsconfig</span><span style="color: #000000">.</span><span style="color: #001080">json</span><span style="color: #000000"> </span><span style="color: #001080">typescript</span><span style="color: #000000"> </span><span style="color: #001080">配置</span>
115
- <span style="color: #000000">├── </span><span style="color: #001080">webpack</span><span style="color: #000000">.</span><span style="color: #001080">config</span><span style="color: #000000">.</span><span style="color: #001080">js</span><span style="color: #000000"> </span><span style="color: #001080">webpack</span><span style="color: #000000"> </span><span style="color: #001080">开发环境配置</span>
116
- <span style="color: #000000">└── </span><span style="color: #001080">webpack</span><span style="color: #000000">.</span><span style="color: #001080">production</span><span style="color: #000000">.</span><span style="color: #001080">js</span><span style="color: #000000"> </span><span style="color: #001080">webpack</span><span style="color: #000000"> </span><span style="color: #001080">生产配置</span>
73
+ <p>项目的文件结构如下</p>
74
+ <pre><code><span class="hl-0">.</span><br/><span class="hl-0">├── </span><span class="hl-6">README</span><span class="hl-0">.</span><span class="hl-2">md</span><br/><span class="hl-0">├── </span><span class="hl-2">assets</span><span class="hl-0"> </span><span class="hl-2">静态文件</span><span class="hl-0">(</span><span class="hl-2">测试数据</span><span class="hl-0">)</span><br/><span class="hl-0">│ ├── </span><span class="hl-2">data0</span><span class="hl-0">.</span><span class="hl-2">json</span><br/><span class="hl-0">│ └── </span><span class="hl-2">data1</span><span class="hl-0">.</span><span class="hl-2">json</span><br/><span class="hl-0">├── </span><span class="hl-2">index</span><span class="hl-0">.</span><span class="hl-2">html</span><span class="hl-0"> </span><span class="hl-2">页面模版</span><br/><span class="hl-0">├── </span><span class="hl-2">index</span><span class="hl-0">.</span><span class="hl-2">tsx</span><span class="hl-0"> </span><span class="hl-2">逻辑代码</span><br/><span class="hl-0">├── </span><span class="hl-2">package</span><span class="hl-0">.</span><span class="hl-2">json</span><span class="hl-0"> </span><span class="hl-2">npm</span><span class="hl-0"> </span><span class="hl-2">包管理描述</span><br/><span class="hl-0">├── </span><span class="hl-2">tsconfig</span><span class="hl-0">.</span><span class="hl-2">json</span><span class="hl-0"> </span><span class="hl-2">typescript</span><span class="hl-0"> </span><span class="hl-2">配置</span><br/><span class="hl-0">├── </span><span class="hl-2">webpack</span><span class="hl-0">.</span><span class="hl-2">config</span><span class="hl-0">.</span><span class="hl-2">js</span><span class="hl-0"> </span><span class="hl-2">webpack</span><span class="hl-0"> </span><span class="hl-2">开发环境配置</span><br/><span class="hl-0">└── </span><span class="hl-2">webpack</span><span class="hl-0">.</span><span class="hl-2">production</span><span class="hl-0">.</span><span class="hl-2">js</span><span class="hl-0"> </span><span class="hl-2">webpack</span><span class="hl-0"> </span><span class="hl-2">生产配置</span>
117
75
  </code></pre>
118
- <p>通<strong>npm script</strong>运行测试环境</p>
119
- <pre><code class="language-shell"><span style="color: #000000">npm run dev</span>
76
+ <p>通<strong>npm script</strong>运行测试环境</p>
77
+ <pre><code class="language-shell"><span class="hl-0">npm run dev</span>
120
78
  </code></pre>
121
- <p>默认将会在 <code>port: 3000</code> 开启 <code>webpack dev server</code>。您也可以在 <code>webpack.config.js</code> 中修改配置。</p>
122
- <ol start="4">
123
- <li>现在可以打来浏览器 <code>http://0.0.0.0:3000</code> 来看看项目初始化的效果了。您可以修改代码来体验一下如何使用<strong>Five</strong>来二次开发。</li>
124
- </ol>
125
- <a href="#如何使用five" id="如何使用five" style="color: inherit; text-decoration: none;">
126
- <h2>如何使用<strong>Five</strong></h2>
127
- </a>
128
- <p><strong>Five</strong>的简单使用样例:</p>
129
- <pre><code class="language-ts"><span style="color: #AF00DB">import</span><span style="color: #000000"> { </span><span style="color: #001080">Five</span><span style="color: #000000"> } </span><span style="color: #AF00DB">from</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;@realsee/five&quot;</span><span style="color: #000000">;</span>
130
-
131
- <span style="color: #008000">// 构造函数的具体参数见文档</span>
132
- <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">five</span><span style="color: #000000"> = </span><span style="color: #0000FF">new</span><span style="color: #000000"> </span><span style="color: #795E26">Five</span><span style="color: #000000">();</span>
133
-
134
- <span style="color: #008000">// 将渲染视图的 canvas 添加到 DOM 中</span>
135
- <span style="color: #001080">five</span><span style="color: #000000">.</span><span style="color: #795E26">appendTo</span><span style="color: #000000">(</span><span style="color: #001080">document</span><span style="color: #000000">.</span><span style="color: #795E26">getElementById</span><span style="color: #000000">(</span><span style="color: #A31515">&#039;app&#039;</span><span style="color: #000000">)!);</span>
136
-
137
- <span style="color: #008000">// 如果显示区域需要变动,在变动时请调用 refresh 重置显示参数</span>
138
- <span style="color: #001080">window</span><span style="color: #000000">.</span><span style="color: #795E26">addEventListener</span><span style="color: #000000">(</span><span style="color: #A31515">&#039;resize&#039;</span><span style="color: #000000">, () </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> </span><span style="color: #001080">five</span><span style="color: #000000">.</span><span style="color: #795E26">refresh</span><span style="color: #000000">());</span>
79
+ <p>默认将会在 <code>port: 3000</code> 开启 <code>webpack dev server</code>。您也可以在 <code>webpack.config.js</code> 中修改配置。</p>
80
+ <ol start="4">
81
+ <li>现在可以打来浏览器 <code>http://0.0.0.0:3000</code> 来看看项目初始化的效果了。您可以修改代码来体验一下如何使用<strong>Five</strong>来二次开发。</li>
82
+ </ol>
139
83
 
140
- <span style="color: #008000">// 获取三维空间的 Work 数据,加载进来</span>
141
- <span style="color: #008000">// Work 数据可以通过如视开发者中心获取</span>
142
- <span style="color: #795E26">fetch</span><span style="color: #000000">(</span><span style="color: #A31515">`./work.json`</span><span style="color: #000000">)</span>
143
- <span style="color: #000000"> .</span><span style="color: #795E26">then</span><span style="color: #000000">(</span><span style="color: #001080">res</span><span style="color: #000000"> </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> </span><span style="color: #001080">res</span><span style="color: #000000">.</span><span style="color: #795E26">json</span><span style="color: #000000">())</span>
144
- <span style="color: #000000"> .</span><span style="color: #795E26">then</span><span style="color: #000000">(</span><span style="color: #001080">work</span><span style="color: #000000"> </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> </span><span style="color: #001080">five</span><span style="color: #000000">.</span><span style="color: #795E26">load</span><span style="color: #000000">(</span><span style="color: #001080">work</span><span style="color: #000000">));</span>
84
+ <a href="#如何使用five" id="如何使用five" style="color: inherit; text-decoration: none;">
85
+ <h2>如何使用<strong>Five</strong></h2>
86
+ </a>
87
+ <p><strong>Five</strong>的简单使用样例:</p>
88
+ <pre><code class="language-ts"><span class="hl-1">import</span><span class="hl-0"> { </span><span class="hl-2">Five</span><span class="hl-0"> } </span><span class="hl-1">from</span><span class="hl-0"> </span><span class="hl-3">&quot;@realsee/five&quot;</span><span class="hl-0">;</span><br/><br/><span class="hl-4">// 构造函数的具体参数见文档</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-6">five</span><span class="hl-0"> = </span><span class="hl-7">new</span><span class="hl-0"> </span><span class="hl-5">Five</span><span class="hl-0">();</span><br/><br/><span class="hl-4">// 将渲染视图的 canvas 添加到 DOM 中</span><br/><span class="hl-2">five</span><span class="hl-0">.</span><span class="hl-5">appendTo</span><span class="hl-0">(</span><span class="hl-2">document</span><span class="hl-0">.</span><span class="hl-5">getElementById</span><span class="hl-0">(</span><span class="hl-3">&#39;app&#39;</span><span class="hl-0">)!);</span><br/><br/><span class="hl-4">// 如果显示区域需要变动,在变动时请调用 refresh 重置显示参数</span><br/><span class="hl-2">window</span><span class="hl-0">.</span><span class="hl-5">addEventListener</span><span class="hl-0">(</span><span class="hl-3">&#39;resize&#39;</span><span class="hl-0">, () </span><span class="hl-7">=&gt;</span><span class="hl-0"> </span><span class="hl-2">five</span><span class="hl-0">.</span><span class="hl-5">refresh</span><span class="hl-0">());</span><br/><br/><span class="hl-4">// 获取三维空间的 Work 数据,加载进来</span><br/><span class="hl-4">// Work 数据可以通过如视开发者中心获取</span><br/><span class="hl-5">fetch</span><span class="hl-0">(</span><span class="hl-3">`./work.json`</span><span class="hl-0">)</span><br/><span class="hl-0"> .</span><span class="hl-5">then</span><span class="hl-0">(</span><span class="hl-2">res</span><span class="hl-0"> </span><span class="hl-7">=&gt;</span><span class="hl-0"> </span><span class="hl-2">res</span><span class="hl-0">.</span><span class="hl-5">json</span><span class="hl-0">())</span><br/><span class="hl-0"> .</span><span class="hl-5">then</span><span class="hl-0">(</span><span class="hl-2">work</span><span class="hl-0"> </span><span class="hl-7">=&gt;</span><span class="hl-0"> </span><span class="hl-2">five</span><span class="hl-0">.</span><span class="hl-5">load</span><span class="hl-0">(</span><span class="hl-2">work</span><span class="hl-0">));</span>
145
89
  </code></pre>
146
- <p>其他的 Five API 待补充</p>
147
- <a href="#在react框架中使用five" id="在react框架中使用five" style="color: inherit; text-decoration: none;">
148
- <h2>在<strong>React</strong>框架中使用<strong>Five</strong></h2>
149
- </a>
150
- <p>在<strong>React</strong>框架中使用<strong>Five</strong>的简单使用样例:</p>
151
- <pre><code class="language-tsx"><span style="color: #AF00DB">import</span><span style="color: #000000"> </span><span style="color: #0000FF">*</span><span style="color: #000000"> </span><span style="color: #AF00DB">as</span><span style="color: #000000"> </span><span style="color: #001080">React</span><span style="color: #000000"> </span><span style="color: #AF00DB">from</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;react&quot;</span><span style="color: #000000">;</span>
152
- <span style="color: #AF00DB">import</span><span style="color: #000000"> </span><span style="color: #0000FF">*</span><span style="color: #000000"> </span><span style="color: #AF00DB">as</span><span style="color: #000000"> </span><span style="color: #001080">ReactDOM</span><span style="color: #000000"> </span><span style="color: #AF00DB">from</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;react-dom&quot;</span><span style="color: #000000">;</span>
153
- <span style="color: #AF00DB">import</span><span style="color: #000000"> {</span><span style="color: #001080">Five</span><span style="color: #000000">, </span><span style="color: #001080">parseWork</span><span style="color: #000000">} </span><span style="color: #AF00DB">from</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;@realsee/five&quot;</span><span style="color: #000000">;</span>
154
- <span style="color: #AF00DB">import</span><span style="color: #000000"> {</span><span style="color: #001080">createFiveProvider</span><span style="color: #000000">, </span><span style="color: #001080">FiveCanvas</span><span style="color: #000000">} </span><span style="color: #AF00DB">from</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;@realsee/five/react&quot;</span><span style="color: #000000">;</span>
90
+ <p>其他的 Five API 待补充</p>
155
91
 
156
- <span style="color: #008000">// 创建 Provider, 参数与 new Five 参数类似</span>
157
- <span style="color: #008000">// 构造函数的具体参数见文档</span>
158
- <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">FiveProvider</span><span style="color: #000000"> = </span><span style="color: #795E26">createFiveProvider</span><span style="color: #000000">();</span>
159
-
160
- <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #795E26">App</span><span style="color: #000000">: </span><span style="color: #267F99">React</span><span style="color: #000000">.</span><span style="color: #267F99">FC</span><span style="color: #000000"> = () </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> {</span>
161
-
162
- <span style="color: #000000"> </span><span style="color: #008000">// 声明 State: Work</span>
163
- <span style="color: #000000"> </span><span style="color: #0000FF">const</span><span style="color: #000000"> [</span><span style="color: #0070C1">work</span><span style="color: #000000">, </span><span style="color: #0070C1">setWork</span><span style="color: #000000">] = </span><span style="color: #001080">React</span><span style="color: #000000">.</span><span style="color: #795E26">useState</span><span style="color: #000000">&lt;</span><span style="color: #267F99">Work</span><span style="color: #000000"> | </span><span style="color: #267F99">null</span><span style="color: #000000">&gt;(</span><span style="color: #0000FF">null</span><span style="color: #000000">);</span>
164
-
165
- <span style="color: #000000"> </span><span style="color: #008000">// 声明 State: Size&lt;{width, height}&gt;</span>
166
- <span style="color: #000000"> </span><span style="color: #0000FF">const</span><span style="color: #000000"> [</span><span style="color: #0070C1">size</span><span style="color: #000000">, </span><span style="color: #0070C1">setSize</span><span style="color: #000000">] = </span><span style="color: #001080">React</span><span style="color: #000000">.</span><span style="color: #795E26">useState</span><span style="color: #000000">({</span>
167
- <span style="color: #000000"> </span><span style="color: #001080">width:</span><span style="color: #000000"> </span><span style="color: #001080">window</span><span style="color: #000000">.</span><span style="color: #001080">innerWidth</span><span style="color: #000000">,</span>
168
- <span style="color: #000000"> </span><span style="color: #001080">height:</span><span style="color: #000000"> </span><span style="color: #001080">window</span><span style="color: #000000">.</span><span style="color: #001080">innerHeight</span>
169
- <span style="color: #000000"> })</span>
170
-
171
- <span style="color: #000000"> </span><span style="color: #008000">// 获取三维空间的 Work 数据,加载进来</span>
172
- <span style="color: #000000"> </span><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">loadWork</span><span style="color: #000000"> = </span><span style="color: #001080">React</span><span style="color: #000000">.</span><span style="color: #795E26">useCallback</span><span style="color: #000000">((</span><span style="color: #001080">url</span><span style="color: #000000">: </span><span style="color: #267F99">string</span><span style="color: #000000">) </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> {</span>
173
- <span style="color: #000000"> </span><span style="color: #795E26">fetch</span><span style="color: #000000">(</span><span style="color: #001080">url</span><span style="color: #000000">)</span>
174
- <span style="color: #000000"> .</span><span style="color: #795E26">then</span><span style="color: #000000">(</span><span style="color: #001080">res</span><span style="color: #000000"> </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> </span><span style="color: #001080">res</span><span style="color: #000000">.</span><span style="color: #795E26">json</span><span style="color: #000000">())</span>
175
- <span style="color: #000000"> .</span><span style="color: #795E26">then</span><span style="color: #000000">(</span><span style="color: #001080">data</span><span style="color: #000000"> </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> </span><span style="color: #795E26">setWork</span><span style="color: #000000">(</span><span style="color: #795E26">parseWork</span><span style="color: #000000">(</span><span style="color: #001080">data</span><span style="color: #000000">)));</span>
176
- <span style="color: #000000"> }, []);</span>
177
-
178
- <span style="color: #000000"> </span><span style="color: #001080">React</span><span style="color: #000000">.</span><span style="color: #795E26">useEffect</span><span style="color: #000000">(() </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> {</span>
179
- <span style="color: #000000"> </span><span style="color: #795E26">loadWork</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;./data0.json&quot;</span><span style="color: #000000">);</span>
180
- <span style="color: #000000"> }, []);</span>
92
+ <a href="#在react框架中使用five" id="在react框架中使用five" style="color: inherit; text-decoration: none;">
93
+ <h2>在<strong>React</strong>框架中使用<strong>Five</strong></h2>
94
+ </a>
95
+ <p>在<strong>React</strong>框架中使用<strong>Five</strong>的简单使用样例:</p>
96
+ <pre><code class="language-tsx"><span class="hl-1">import</span><span class="hl-0"> </span><span class="hl-7">*</span><span class="hl-0"> </span><span class="hl-1">as</span><span class="hl-0"> </span><span class="hl-2">React</span><span class="hl-0"> </span><span class="hl-1">from</span><span class="hl-0"> </span><span class="hl-3">&quot;react&quot;</span><span class="hl-0">;</span><br/><span class="hl-1">import</span><span class="hl-0"> </span><span class="hl-7">*</span><span class="hl-0"> </span><span class="hl-1">as</span><span class="hl-0"> </span><span class="hl-2">ReactDOM</span><span class="hl-0"> </span><span class="hl-1">from</span><span class="hl-0"> </span><span class="hl-3">&quot;react-dom&quot;</span><span class="hl-0">;</span><br/><span class="hl-1">import</span><span class="hl-0"> {</span><span class="hl-2">Five</span><span class="hl-0">, </span><span class="hl-2">Work</span><span class="hl-0">, </span><span class="hl-2">parseWork</span><span class="hl-0">} </span><span class="hl-1">from</span><span class="hl-0"> </span><span class="hl-3">&quot;@realsee/five&quot;</span><span class="hl-0">;</span><br/><span class="hl-1">import</span><span class="hl-0"> {</span><span class="hl-2">createFiveProvider</span><span class="hl-0">, </span><span class="hl-2">FiveCanvas</span><span class="hl-0">} </span><span class="hl-1">from</span><span class="hl-0"> </span><span class="hl-3">&quot;@realsee/five/react&quot;</span><span class="hl-0">;</span><br/><br/><span class="hl-4">// 创建 Provider, 参数与 new Five 参数类似</span><br/><span class="hl-4">// 构造函数的具体参数见文档</span><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-6">FiveProvider</span><span class="hl-0"> = </span><span class="hl-5">createFiveProvider</span><span class="hl-0">();</span><br/><br/><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-5">App</span><span class="hl-0">: </span><span class="hl-8">React</span><span class="hl-0">.</span><span class="hl-8">FC</span><span class="hl-0"> = () </span><span class="hl-7">=&gt;</span><span class="hl-0"> {</span><br/><br/><span class="hl-0"> </span><span class="hl-4">// 声明 State: Work</span><br/><span class="hl-0"> </span><span class="hl-7">const</span><span class="hl-0"> [</span><span class="hl-6">work</span><span class="hl-0">, </span><span class="hl-6">setWork</span><span class="hl-0">] = </span><span class="hl-2">React</span><span class="hl-0">.</span><span class="hl-5">useState</span><span class="hl-0">&lt;</span><span class="hl-8">Work</span><span class="hl-0"> | </span><span class="hl-8">null</span><span class="hl-0">&gt;(</span><span class="hl-7">null</span><span class="hl-0">);</span><br/><br/><span class="hl-0"> </span><span class="hl-4">// 声明 State: Size&lt;{width, height}&gt;</span><br/><span class="hl-0"> </span><span class="hl-7">const</span><span class="hl-0"> [</span><span class="hl-6">size</span><span class="hl-0">, </span><span class="hl-6">setSize</span><span class="hl-0">] = </span><span class="hl-2">React</span><span class="hl-0">.</span><span class="hl-5">useState</span><span class="hl-0">({</span><br/><span class="hl-0"> </span><span class="hl-2">width:</span><span class="hl-0"> </span><span class="hl-2">window</span><span class="hl-0">.</span><span class="hl-2">innerWidth</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-2">height:</span><span class="hl-0"> </span><span class="hl-2">window</span><span class="hl-0">.</span><span class="hl-2">innerHeight</span><br/><span class="hl-0"> })</span><br/><br/><span class="hl-0"> </span><span class="hl-4">// 获取三维空间的 Work 数据,加载进来</span><br/><span class="hl-0"> </span><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-6">loadWork</span><span class="hl-0"> = </span><span class="hl-2">React</span><span class="hl-0">.</span><span class="hl-5">useCallback</span><span class="hl-0">((</span><span class="hl-2">url</span><span class="hl-0">: </span><span class="hl-8">string</span><span class="hl-0">) </span><span class="hl-7">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-5">fetch</span><span class="hl-0">(</span><span class="hl-2">url</span><span class="hl-0">)</span><br/><span class="hl-0"> .</span><span class="hl-5">then</span><span class="hl-0">(</span><span class="hl-2">res</span><span class="hl-0"> </span><span class="hl-7">=&gt;</span><span class="hl-0"> </span><span class="hl-2">res</span><span class="hl-0">.</span><span class="hl-5">json</span><span class="hl-0">())</span><br/><span class="hl-0"> .</span><span class="hl-5">then</span><span class="hl-0">(</span><span class="hl-2">data</span><span class="hl-0"> </span><span class="hl-7">=&gt;</span><span class="hl-0"> </span><span class="hl-5">setWork</span><span class="hl-0">(</span><span class="hl-5">parseWork</span><span class="hl-0">(</span><span class="hl-2">data</span><span class="hl-0">)));</span><br/><span class="hl-0"> }, []);</span><br/><br/><span class="hl-0"> </span><span class="hl-2">React</span><span class="hl-0">.</span><span class="hl-5">useEffect</span><span class="hl-0">(() </span><span class="hl-7">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-5">loadWork</span><span class="hl-0">(</span><span class="hl-3">&quot;./data0.json&quot;</span><span class="hl-0">);</span><br/><span class="hl-0"> }, []);</span><br/><br/><span class="hl-0"> </span><span class="hl-4">// 如果显示区域需要变动,在变动时请调用 FiveCanvas 的 size</span><br/><span class="hl-0"> </span><span class="hl-2">React</span><span class="hl-0">.</span><span class="hl-5">useEffect</span><span class="hl-0">(() </span><span class="hl-7">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-7">const</span><span class="hl-0"> </span><span class="hl-5">onResize</span><span class="hl-0"> = () </span><span class="hl-7">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-5">setSize</span><span class="hl-0">({</span><br/><span class="hl-0"> </span><span class="hl-2">width:</span><span class="hl-0"> </span><span class="hl-2">window</span><span class="hl-0">.</span><span class="hl-2">innerWidth</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-2">height:</span><span class="hl-0"> </span><span class="hl-2">window</span><span class="hl-0">.</span><span class="hl-2">innerHeight</span><br/><span class="hl-0"> });</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> </span><span class="hl-2">window</span><span class="hl-0">.</span><span class="hl-5">addEventListener</span><span class="hl-0">(</span><span class="hl-3">&quot;resize&quot;</span><span class="hl-0">, </span><span class="hl-2">onResize</span><span class="hl-0">, </span><span class="hl-7">false</span><span class="hl-0">);</span><br/><span class="hl-0"> </span><span class="hl-1">return</span><span class="hl-0"> () </span><span class="hl-7">=&gt;</span><span class="hl-0"> </span><span class="hl-2">window</span><span class="hl-0">.</span><span class="hl-5">removeEventListener</span><span class="hl-0">(</span><span class="hl-3">&quot;resize&quot;</span><span class="hl-0">, </span><span class="hl-2">onResize</span><span class="hl-0">, </span><span class="hl-7">false</span><span class="hl-0">);</span><br/><span class="hl-0"> });</span><br/><br/><span class="hl-0"> </span><span class="hl-1">if</span><span class="hl-0"> (</span><span class="hl-2">work</span><span class="hl-0">) {</span><br/><span class="hl-0"> {</span><span class="hl-4">/*</span><br/><span class="hl-4"> 在 FiveProvider 内承载一个 Five 实例,</span><br/><span class="hl-4"> 在他内部的组件可以使用 Five React Hook API 来获取/设置/操作 他</span><br/><span class="hl-4"> 一个页面中也可以有多个 FiveProvider</span><br/><span class="hl-4"> */</span><span class="hl-0">}</span><br/><span class="hl-0"> </span><span class="hl-1">return</span><span class="hl-0"> </span><span class="hl-9">&lt;</span><span class="hl-8">FiveProvider</span><span class="hl-0"> </span><span class="hl-10">initialWork</span><span class="hl-0">=</span><span class="hl-7">{</span><span class="hl-2">work</span><span class="hl-7">}</span><span class="hl-9">&gt;</span><br/><span class="hl-0"> </span><span class="hl-7">{</span><span class="hl-4">/*</span><br/><span class="hl-4"> 将渲染视图的 canvas 添加到 DOM 中</span><br/><span class="hl-4"> FiveCanvas 需要出现在 FiveProvider 内,他将渲染 FiveProvider 的视图</span><br/><span class="hl-4"> 这样的设计可以实现不同的 DOM 层级结构</span><br/><span class="hl-4"> 在 FiveProvider 内的其他组件也可以使用 Five React Hook API 来获取/设置/操作 他外部的 FiveProvider</span><br/><span class="hl-4"> */</span><span class="hl-7">}</span><br/><span class="hl-0"> </span><span class="hl-9">&lt;</span><span class="hl-8">FiveCanvas</span><span class="hl-0"> </span><span class="hl-10">width</span><span class="hl-0">=</span><span class="hl-7">{</span><span class="hl-2">size</span><span class="hl-11">.</span><span class="hl-2">width</span><span class="hl-7">}</span><span class="hl-0"> </span><span class="hl-10">height</span><span class="hl-0">=</span><span class="hl-7">{</span><span class="hl-2">size</span><span class="hl-11">.</span><span class="hl-2">height</span><span class="hl-7">}</span><span class="hl-9">/&gt;</span><br/><span class="hl-0"> </span><span class="hl-9">&lt;/</span><span class="hl-8">FiveProvider</span><span class="hl-9">&gt;</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> </span><span class="hl-1">return</span><span class="hl-0"> </span><span class="hl-7">null</span><span class="hl-0">;</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-2">ReactDOM</span><span class="hl-0">.</span><span class="hl-5">render</span><span class="hl-0">(</span><span class="hl-9">&lt;</span><span class="hl-8">App</span><span class="hl-9">&gt;&lt;/</span><span class="hl-8">App</span><span class="hl-9">&gt;</span><span class="hl-0">, </span><span class="hl-2">document</span><span class="hl-0">.</span><span class="hl-5">getElementById</span><span class="hl-0">(</span><span class="hl-3">&quot;app&quot;</span><span class="hl-0">));</span>
97
+ </code></pre>
98
+ <p>其他的<strong>Five React Hook API</strong>文档建设中...</p>
181
99
 
182
- <span style="color: #000000"> </span><span style="color: #008000">// 如果显示区域需要变动,在变动时请调用 FiveCanvas 的 size</span>
183
- <span style="color: #000000"> </span><span style="color: #001080">React</span><span style="color: #000000">.</span><span style="color: #795E26">useEffect</span><span style="color: #000000">(() </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> {</span>
184
- <span style="color: #000000"> </span><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #795E26">onResize</span><span style="color: #000000"> = () </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> {</span>
185
- <span style="color: #000000"> </span><span style="color: #795E26">setSize</span><span style="color: #000000">({</span>
186
- <span style="color: #000000"> </span><span style="color: #001080">width:</span><span style="color: #000000"> </span><span style="color: #001080">window</span><span style="color: #000000">.</span><span style="color: #001080">innerWidth</span><span style="color: #000000">,</span>
187
- <span style="color: #000000"> </span><span style="color: #001080">height:</span><span style="color: #000000"> </span><span style="color: #001080">window</span><span style="color: #000000">.</span><span style="color: #001080">innerHeight</span>
188
- <span style="color: #000000"> });</span>
189
- <span style="color: #000000"> }</span>
190
- <span style="color: #000000"> </span><span style="color: #001080">window</span><span style="color: #000000">.</span><span style="color: #795E26">addEventListener</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;resize&quot;</span><span style="color: #000000">, </span><span style="color: #001080">onResize</span><span style="color: #000000">, </span><span style="color: #0000FF">false</span><span style="color: #000000">);</span>
191
- <span style="color: #000000"> </span><span style="color: #AF00DB">return</span><span style="color: #000000"> () </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> </span><span style="color: #001080">window</span><span style="color: #000000">.</span><span style="color: #795E26">removeEventListener</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;resize&quot;</span><span style="color: #000000">, </span><span style="color: #001080">onResize</span><span style="color: #000000">, </span><span style="color: #0000FF">false</span><span style="color: #000000">);</span>
192
- <span style="color: #000000"> });</span>
100
+ <a href="#five-api文档" id="five-api文档" style="color: inherit; text-decoration: none;">
101
+ <h2><strong>Five API</strong>文档</h2>
102
+ </a>
103
+ <p>欢迎查看 <a href="https://unpkg.com/@realsee/five/docs/index.html">Five API 文档</a> 。</p>
104
+ <p>该文档由 <a href="https://typedoc.org/">TypeDoc</a> 生成,您可以详细查看 api 使用方式,调用参数,数据结构。</p>
193
105
 
194
- <span style="color: #000000"> </span><span style="color: #AF00DB">if</span><span style="color: #000000"> (</span><span style="color: #001080">work</span><span style="color: #000000">) {</span>
195
- <span style="color: #000000"> {</span><span style="color: #008000">/*</span>
196
- <span style="color: #008000"> 在 FiveProvider 内承载一个 Five 实例,</span>
197
- <span style="color: #008000"> 在他内部的组件可以使用 Five React Hook API 来获取/设置/操作 他</span>
198
- <span style="color: #008000"> 一个页面中也可以有多个 FiveProvider</span>
199
- <span style="color: #008000"> */</span><span style="color: #000000">}</span>
200
- <span style="color: #000000"> </span><span style="color: #AF00DB">return</span><span style="color: #000000"> </span><span style="color: #800000">&lt;</span><span style="color: #267F99">FiveProvider</span><span style="color: #000000"> </span><span style="color: #FF0000">initialWork</span><span style="color: #000000">=</span><span style="color: #0000FF">{</span><span style="color: #001080">work</span><span style="color: #0000FF">}</span><span style="color: #800000">&gt;</span>
201
- <span style="color: #000000"> </span><span style="color: #0000FF">{</span><span style="color: #008000">/*</span>
202
- <span style="color: #008000"> 将渲染视图的 canvas 添加到 DOM 中</span>
203
- <span style="color: #008000"> FiveCanvas 需要出现在 FiveProvider 内,他将渲染 FiveProvider 的视图</span>
204
- <span style="color: #008000"> 这样的设计可以实现不同的 DOM 层级结构</span>
205
- <span style="color: #008000"> 在 FiveProvider 内的其他组件也可以使用 Five React Hook API 来获取/设置/操作 他外部的 FiveProvider</span>
206
- <span style="color: #008000"> */</span><span style="color: #0000FF">}</span>
207
- <span style="color: #000000"> </span><span style="color: #800000">&lt;</span><span style="color: #267F99">FiveCanvas</span><span style="color: #000000"> </span><span style="color: #FF0000">width</span><span style="color: #000000">=</span><span style="color: #0000FF">{</span><span style="color: #001080">size</span><span style="color: #000000FF">.</span><span style="color: #001080">width</span><span style="color: #0000FF">}</span><span style="color: #000000"> </span><span style="color: #FF0000">height</span><span style="color: #000000">=</span><span style="color: #0000FF">{</span><span style="color: #001080">size</span><span style="color: #000000FF">.</span><span style="color: #001080">height</span><span style="color: #0000FF">}</span><span style="color: #800000">/&gt;</span>
208
- <span style="color: #000000"> </span><span style="color: #800000">&lt;/</span><span style="color: #267F99">FiveProvider</span><span style="color: #800000">&gt;</span>
209
- <span style="color: #000000"> }</span>
210
- <span style="color: #000000"> </span><span style="color: #AF00DB">return</span><span style="color: #000000"> </span><span style="color: #0000FF">null</span><span style="color: #000000">;</span>
211
- <span style="color: #000000">}</span>
106
+ <a href="#相关名词解释" id="相关名词解释" style="color: inherit; text-decoration: none;">
107
+ <h2>相关名词解释</h2>
108
+ </a>
212
109
 
213
- <span style="color: #001080">ReactDOM</span><span style="color: #000000">.</span><span style="color: #795E26">render</span><span style="color: #000000">(</span><span style="color: #800000">&lt;</span><span style="color: #267F99">App</span><span style="color: #800000">&gt;&lt;/</span><span style="color: #267F99">App</span><span style="color: #800000">&gt;</span><span style="color: #000000">, </span><span style="color: #001080">document</span><span style="color: #000000">.</span><span style="color: #795E26">getElementById</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;app&quot;</span><span style="color: #000000">));</span>
110
+ <a href="#什么是work" id="什么是work" style="color: inherit; text-decoration: none;">
111
+ <h3>什么是<strong>Work</strong></h3>
112
+ </a>
113
+ <p><strong>Work</strong>是<a href="https://developers.realsee.com">如视开发者中心</a> 提供的对于一个三维空间的描述。
114
+ 是通过如视硬件设备(<a href="https://realsee.com/website/product/hardware">如视扫描仪</a> 、<a href="https://realsee.com/website/product/lite">如视<strong>Lite</strong>全景相机</a> 、<a href="https://realsee.com/website/mobile">如视VR App</a> )扫描并处理之后用于三维空间展示的数据。</p>
115
+ <p><strong>Work</strong>以<code>JSON</code>作为数据格式<strong>Five</strong>框架可以解析<strong>Work</strong>数据并展示。一个<strong>Five</strong>实例每次可以载入并展示一个<strong>Work</strong>。并且也可以在不同的<strong>Work</strong>之间动态切换。</p>
116
+ <p><strong>Work</strong>的数据样例如下</p>
117
+ <pre><code class="language-json"><span class="hl-0">{</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;initial&quot;</span><span class="hl-0">: {</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;mode&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;Panorama&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;pano_index&quot;</span><span class="hl-0">: </span><span class="hl-13">6</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;longitude&quot;</span><span class="hl-0">: </span><span class="hl-13">2.6869287662553916</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;latitude&quot;</span><span class="hl-0">: </span><span class="hl-13">0</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;fov&quot;</span><span class="hl-0">: </span><span class="hl-13">95</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;model&quot;</span><span class="hl-0">: {</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;file_url&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">model</span><span class="hl-14">\/</span><span class="hl-3">auto3d-DJaa08PIzN4JYluXQ1j2VS.at3d&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;material_textures&quot;</span><span class="hl-0">: [</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">materials</span><span class="hl-14">\/</span><span class="hl-3">texture_0.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">materials</span><span class="hl-14">\/</span><span class="hl-3">texture_1.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">materials</span><span class="hl-14">\/</span><span class="hl-3">texture_2.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">materials</span><span class="hl-14">\/</span><span class="hl-3">texture_3.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">materials</span><span class="hl-14">\/</span><span class="hl-3">texture_4.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">materials</span><span class="hl-14">\/</span><span class="hl-3">texture_5.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">materials</span><span class="hl-14">\/</span><span class="hl-3">texture_6.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">materials</span><span class="hl-14">\/</span><span class="hl-3">texture_7.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">materials</span><span class="hl-14">\/</span><span class="hl-3">texture_8.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">materials</span><span class="hl-14">\/</span><span class="hl-3">texture_9.jpg&quot;</span><br/><span class="hl-0"> ]</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;panorama&quot;</span><span class="hl-0">: {</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;list&quot;</span><span class="hl-0">: [</span><br/><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;up&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">images</span><span class="hl-14">\/</span><span class="hl-3">cube_2048</span><span class="hl-14">\/</span><span class="hl-3">0</span><span class="hl-14">\/</span><span class="hl-3">2257f0f0b29d5b00ff01934ce51aaa35</span><span class="hl-14">\/</span><span class="hl-3">0_u.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;down&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">images</span><span class="hl-14">\/</span><span class="hl-3">cube_2048</span><span class="hl-14">\/</span><span class="hl-3">0</span><span class="hl-14">\/</span><span class="hl-3">2257f0f0b29d5b00ff01934ce51aaa35</span><span class="hl-14">\/</span><span class="hl-3">0_d.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;left&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">images</span><span class="hl-14">\/</span><span class="hl-3">cube_2048</span><span class="hl-14">\/</span><span class="hl-3">0</span><span class="hl-14">\/</span><span class="hl-3">2257f0f0b29d5b00ff01934ce51aaa35</span><span class="hl-14">\/</span><span class="hl-3">0_l.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;right&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">images</span><span class="hl-14">\/</span><span class="hl-3">cube_2048</span><span class="hl-14">\/</span><span class="hl-3">0</span><span class="hl-14">\/</span><span class="hl-3">2257f0f0b29d5b00ff01934ce51aaa35</span><span class="hl-14">\/</span><span class="hl-3">0_r.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;front&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">images</span><span class="hl-14">\/</span><span class="hl-3">cube_2048</span><span class="hl-14">\/</span><span class="hl-3">0</span><span class="hl-14">\/</span><span class="hl-3">2257f0f0b29d5b00ff01934ce51aaa35</span><span class="hl-14">\/</span><span class="hl-3">0_f.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;back&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">images</span><span class="hl-14">\/</span><span class="hl-3">cube_2048</span><span class="hl-14">\/</span><span class="hl-3">0</span><span class="hl-14">\/</span><span class="hl-3">2257f0f0b29d5b00ff01934ce51aaa35</span><span class="hl-14">\/</span><span class="hl-3">0_b.jpg&quot;</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;up&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">images</span><span class="hl-14">\/</span><span class="hl-3">cube_2048</span><span class="hl-14">\/</span><span class="hl-3">1</span><span class="hl-14">\/</span><span class="hl-3">ecb554bb1c122fa90186d176ccfecde4</span><span class="hl-14">\/</span><span class="hl-3">1_u.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;down&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">images</span><span class="hl-14">\/</span><span class="hl-3">cube_2048</span><span class="hl-14">\/</span><span class="hl-3">1</span><span class="hl-14">\/</span><span class="hl-3">ecb554bb1c122fa90186d176ccfecde4</span><span class="hl-14">\/</span><span class="hl-3">1_d.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;left&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">images</span><span class="hl-14">\/</span><span class="hl-3">cube_2048</span><span class="hl-14">\/</span><span class="hl-3">1</span><span class="hl-14">\/</span><span class="hl-3">ecb554bb1c122fa90186d176ccfecde4</span><span class="hl-14">\/</span><span class="hl-3">1_l.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;right&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">images</span><span class="hl-14">\/</span><span class="hl-3">cube_2048</span><span class="hl-14">\/</span><span class="hl-3">1</span><span class="hl-14">\/</span><span class="hl-3">ecb554bb1c122fa90186d176ccfecde4</span><span class="hl-14">\/</span><span class="hl-3">1_r.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;front&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">images</span><span class="hl-14">\/</span><span class="hl-3">cube_2048</span><span class="hl-14">\/</span><span class="hl-3">1</span><span class="hl-14">\/</span><span class="hl-3">ecb554bb1c122fa90186d176ccfecde4</span><span class="hl-14">\/</span><span class="hl-3">1_f.jpg&quot;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;back&quot;</span><span class="hl-0">: </span><span class="hl-3">&quot;https:</span><span class="hl-14">\/\/</span><span class="hl-3">vrlab-public.ljcdn.com</span><span class="hl-14">\/</span><span class="hl-3">release</span><span class="hl-14">\/</span><span class="hl-3">auto3dhd</span><span class="hl-14">\/</span><span class="hl-3">a62e1ebf7d013f7df117551a14af79fc</span><span class="hl-14">\/</span><span class="hl-3">images</span><span class="hl-14">\/</span><span class="hl-3">cube_2048</span><span class="hl-14">\/</span><span class="hl-3">1</span><span class="hl-14">\/</span><span class="hl-3">ecb554bb1c122fa90186d176ccfecde4</span><span class="hl-14">\/</span><span class="hl-3">1_b.jpg&quot;</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> ],</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;observers&quot;</span><span class="hl-0">: [</span><br/><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;visible_nodes&quot;</span><span class="hl-0">: [ </span><span class="hl-13">1</span><span class="hl-0"> ],</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;accessible_nodes&quot;</span><span class="hl-0">: [ </span><span class="hl-13">1</span><span class="hl-0"> ],</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;quaternion&quot;</span><span class="hl-0">: {</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;w&quot;</span><span class="hl-0">: </span><span class="hl-13">0.45076583925142194</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;x&quot;</span><span class="hl-0">: </span><span class="hl-13">0.010070951976936936</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;y&quot;</span><span class="hl-0">: </span><span class="hl-13">-0.8925839597148215</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;z&quot;</span><span class="hl-0">: </span><span class="hl-13">-0.0016154299986102319</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;standing_position&quot;</span><span class="hl-0">: [</span><br/><span class="hl-0"> </span><span class="hl-13">-6.956049919128418</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-13">-1.3924440682333898</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-13">1.6591600179672241</span><br/><span class="hl-0"> ],</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;position&quot;</span><span class="hl-0">: [</span><br/><span class="hl-0"> </span><span class="hl-13">-6.956049919128418</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-13">-0.10312400013208389</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-13">1.6591600179672241</span><br/><span class="hl-0"> ],</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;floor_index&quot;</span><span class="hl-0">: </span><span class="hl-13">0</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;visible_nodes&quot;</span><span class="hl-0">: [ </span><span class="hl-13">0</span><span class="hl-0"> ],</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;accessible_nodes&quot;</span><span class="hl-0">: [ </span><span class="hl-13">0</span><span class="hl-0"> ],</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;index&quot;</span><span class="hl-0">: </span><span class="hl-13">1</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;quaternion&quot;</span><span class="hl-0">: {</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;w&quot;</span><span class="hl-0">: </span><span class="hl-13">-0.9884643083591809</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;x&quot;</span><span class="hl-0">: </span><span class="hl-13">-0.0038900979633806664</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;y&quot;</span><span class="hl-0">: </span><span class="hl-13">0.1512670435365699</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;z&quot;</span><span class="hl-0">: </span><span class="hl-13">-0.006439990839033269</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;standing_position&quot;</span><span class="hl-0">: [</span><br/><span class="hl-0"> </span><span class="hl-13">-6.176340103149414</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-13">-1.380554749576384</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-13">2.179759979248047</span><br/><span class="hl-0"> ],</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;position&quot;</span><span class="hl-0">: [</span><br/><span class="hl-0"> </span><span class="hl-13">-6.176340103149414</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-13">-0.10025200247764587</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-13">2.179759979248047</span><br/><span class="hl-0"> ],</span><br/><span class="hl-0"> </span><span class="hl-12">&quot;floor_index&quot;</span><span class="hl-0">: </span><span class="hl-13">0</span><span class="hl-0">,</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> ]</span><br/><span class="hl-0">}</span>
214
118
  </code></pre>
215
- <p>其他的<strong>Five React Hook API</strong>文档建设中...</p>
216
- <a href="#five-api文档" id="five-api文档" style="color: inherit; text-decoration: none;">
217
- <h2><strong>Five API</strong>文档</h2>
218
- </a>
219
- <p>欢迎查看 <a href="https://developers.realsee.com/static/docs/external/five/docs/">Five API 文档</a> 。</p>
220
- <p>该文档由 <a href="https://typedoc.org/">TypeDoc</a> 生成,您可以详细查看 api 使用方式,调用参数,数据结构。</p>
221
- <a href="#相关名词解释" id="相关名词解释" style="color: inherit; text-decoration: none;">
222
- <h2>相关名词解释</h2>
223
- </a>
224
- <a href="#什么是work" id="什么是work" style="color: inherit; text-decoration: none;">
225
- <h3>什么是<strong>Work</strong></h3>
226
- </a>
227
- <p><strong>Work</strong>是<a href="https://developers.realsee.com">如视开发者中心</a> 提供的对于一个三维空间的描述。
228
- 是通过如视硬件设备(<a href="https://realsee.com/website/product/hardware">如视扫描仪</a> 、<a href="https://realsee.com/website/product/lite">如视<strong>Lite</strong>全景相机</a> 、<a href="https://realsee.com/website/mobile">如视VR App</a> )扫描并处理之后用于三维空间展示的数据。</p>
229
- <p><strong>Work</strong>以<code>JSON</code>作为数据格式<strong>Five</strong>框架可以解析<strong>Work</strong>数据并展示。一个<strong>Five</strong>实例每次可以载入并展示一个<strong>Work</strong>。并且也可以在不同的<strong>Work</strong>之间动态切换。</p>
230
- <p><strong>Work</strong>的数据样例如下</p>
231
- <pre><code class="language-json"><span style="color: #000000">{</span>
232
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;initial&quot;</span><span style="color: #000000">: {</span>
233
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;mode&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;Panorama&quot;</span><span style="color: #000000">,</span>
234
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;pano_index&quot;</span><span style="color: #000000">: </span><span style="color: #098658">6</span><span style="color: #000000">,</span>
235
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;longitude&quot;</span><span style="color: #000000">: </span><span style="color: #098658">2.6869287662553916</span><span style="color: #000000">,</span>
236
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;latitude&quot;</span><span style="color: #000000">: </span><span style="color: #098658">0</span><span style="color: #000000">,</span>
237
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;fov&quot;</span><span style="color: #000000">: </span><span style="color: #098658">95</span>
238
- <span style="color: #000000"> },</span>
239
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;model&quot;</span><span style="color: #000000">: {</span>
240
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;file_url&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">model</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3d-DJaa08PIzN4JYluXQ1j2VS.at3d&quot;</span><span style="color: #000000">,</span>
241
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;material_textures&quot;</span><span style="color: #000000">: [</span>
242
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">materials</span><span style="color: #EE0000">\/</span><span style="color: #A31515">texture_0.jpg&quot;</span><span style="color: #000000">,</span>
243
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">materials</span><span style="color: #EE0000">\/</span><span style="color: #A31515">texture_1.jpg&quot;</span><span style="color: #000000">,</span>
244
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">materials</span><span style="color: #EE0000">\/</span><span style="color: #A31515">texture_2.jpg&quot;</span><span style="color: #000000">,</span>
245
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">materials</span><span style="color: #EE0000">\/</span><span style="color: #A31515">texture_3.jpg&quot;</span><span style="color: #000000">,</span>
246
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">materials</span><span style="color: #EE0000">\/</span><span style="color: #A31515">texture_4.jpg&quot;</span><span style="color: #000000">,</span>
247
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">materials</span><span style="color: #EE0000">\/</span><span style="color: #A31515">texture_5.jpg&quot;</span><span style="color: #000000">,</span>
248
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">materials</span><span style="color: #EE0000">\/</span><span style="color: #A31515">texture_6.jpg&quot;</span><span style="color: #000000">,</span>
249
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">materials</span><span style="color: #EE0000">\/</span><span style="color: #A31515">texture_7.jpg&quot;</span><span style="color: #000000">,</span>
250
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">materials</span><span style="color: #EE0000">\/</span><span style="color: #A31515">texture_8.jpg&quot;</span><span style="color: #000000">,</span>
251
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">materials</span><span style="color: #EE0000">\/</span><span style="color: #A31515">texture_9.jpg&quot;</span>
252
- <span style="color: #000000"> ]</span>
253
- <span style="color: #000000"> },</span>
254
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;panorama&quot;</span><span style="color: #000000">: {</span>
255
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;list&quot;</span><span style="color: #000000">: [</span>
256
- <span style="color: #000000"> {</span>
257
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;up&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">images</span><span style="color: #EE0000">\/</span><span style="color: #A31515">cube_2048</span><span style="color: #EE0000">\/</span><span style="color: #A31515">0</span><span style="color: #EE0000">\/</span><span style="color: #A31515">2257f0f0b29d5b00ff01934ce51aaa35</span><span style="color: #EE0000">\/</span><span style="color: #A31515">0_u.jpg&quot;</span><span style="color: #000000">,</span>
258
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;down&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">images</span><span style="color: #EE0000">\/</span><span style="color: #A31515">cube_2048</span><span style="color: #EE0000">\/</span><span style="color: #A31515">0</span><span style="color: #EE0000">\/</span><span style="color: #A31515">2257f0f0b29d5b00ff01934ce51aaa35</span><span style="color: #EE0000">\/</span><span style="color: #A31515">0_d.jpg&quot;</span><span style="color: #000000">,</span>
259
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;left&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">images</span><span style="color: #EE0000">\/</span><span style="color: #A31515">cube_2048</span><span style="color: #EE0000">\/</span><span style="color: #A31515">0</span><span style="color: #EE0000">\/</span><span style="color: #A31515">2257f0f0b29d5b00ff01934ce51aaa35</span><span style="color: #EE0000">\/</span><span style="color: #A31515">0_l.jpg&quot;</span><span style="color: #000000">,</span>
260
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;right&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">images</span><span style="color: #EE0000">\/</span><span style="color: #A31515">cube_2048</span><span style="color: #EE0000">\/</span><span style="color: #A31515">0</span><span style="color: #EE0000">\/</span><span style="color: #A31515">2257f0f0b29d5b00ff01934ce51aaa35</span><span style="color: #EE0000">\/</span><span style="color: #A31515">0_r.jpg&quot;</span><span style="color: #000000">,</span>
261
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;front&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">images</span><span style="color: #EE0000">\/</span><span style="color: #A31515">cube_2048</span><span style="color: #EE0000">\/</span><span style="color: #A31515">0</span><span style="color: #EE0000">\/</span><span style="color: #A31515">2257f0f0b29d5b00ff01934ce51aaa35</span><span style="color: #EE0000">\/</span><span style="color: #A31515">0_f.jpg&quot;</span><span style="color: #000000">,</span>
262
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;back&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">images</span><span style="color: #EE0000">\/</span><span style="color: #A31515">cube_2048</span><span style="color: #EE0000">\/</span><span style="color: #A31515">0</span><span style="color: #EE0000">\/</span><span style="color: #A31515">2257f0f0b29d5b00ff01934ce51aaa35</span><span style="color: #EE0000">\/</span><span style="color: #A31515">0_b.jpg&quot;</span>
263
- <span style="color: #000000"> },</span>
264
- <span style="color: #000000"> {</span>
265
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;up&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">images</span><span style="color: #EE0000">\/</span><span style="color: #A31515">cube_2048</span><span style="color: #EE0000">\/</span><span style="color: #A31515">1</span><span style="color: #EE0000">\/</span><span style="color: #A31515">ecb554bb1c122fa90186d176ccfecde4</span><span style="color: #EE0000">\/</span><span style="color: #A31515">1_u.jpg&quot;</span><span style="color: #000000">,</span>
266
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;down&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">images</span><span style="color: #EE0000">\/</span><span style="color: #A31515">cube_2048</span><span style="color: #EE0000">\/</span><span style="color: #A31515">1</span><span style="color: #EE0000">\/</span><span style="color: #A31515">ecb554bb1c122fa90186d176ccfecde4</span><span style="color: #EE0000">\/</span><span style="color: #A31515">1_d.jpg&quot;</span><span style="color: #000000">,</span>
267
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;left&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">images</span><span style="color: #EE0000">\/</span><span style="color: #A31515">cube_2048</span><span style="color: #EE0000">\/</span><span style="color: #A31515">1</span><span style="color: #EE0000">\/</span><span style="color: #A31515">ecb554bb1c122fa90186d176ccfecde4</span><span style="color: #EE0000">\/</span><span style="color: #A31515">1_l.jpg&quot;</span><span style="color: #000000">,</span>
268
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;right&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">images</span><span style="color: #EE0000">\/</span><span style="color: #A31515">cube_2048</span><span style="color: #EE0000">\/</span><span style="color: #A31515">1</span><span style="color: #EE0000">\/</span><span style="color: #A31515">ecb554bb1c122fa90186d176ccfecde4</span><span style="color: #EE0000">\/</span><span style="color: #A31515">1_r.jpg&quot;</span><span style="color: #000000">,</span>
269
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;front&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">images</span><span style="color: #EE0000">\/</span><span style="color: #A31515">cube_2048</span><span style="color: #EE0000">\/</span><span style="color: #A31515">1</span><span style="color: #EE0000">\/</span><span style="color: #A31515">ecb554bb1c122fa90186d176ccfecde4</span><span style="color: #EE0000">\/</span><span style="color: #A31515">1_f.jpg&quot;</span><span style="color: #000000">,</span>
270
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;back&quot;</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;https:</span><span style="color: #EE0000">\/\/</span><span style="color: #A31515">vrlab-public.ljcdn.com</span><span style="color: #EE0000">\/</span><span style="color: #A31515">release</span><span style="color: #EE0000">\/</span><span style="color: #A31515">auto3dhd</span><span style="color: #EE0000">\/</span><span style="color: #A31515">a62e1ebf7d013f7df117551a14af79fc</span><span style="color: #EE0000">\/</span><span style="color: #A31515">images</span><span style="color: #EE0000">\/</span><span style="color: #A31515">cube_2048</span><span style="color: #EE0000">\/</span><span style="color: #A31515">1</span><span style="color: #EE0000">\/</span><span style="color: #A31515">ecb554bb1c122fa90186d176ccfecde4</span><span style="color: #EE0000">\/</span><span style="color: #A31515">1_b.jpg&quot;</span>
271
- <span style="color: #000000"> }</span>
272
- <span style="color: #000000"> ],</span>
273
- <span style="color: #000000"> },</span>
274
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;observers&quot;</span><span style="color: #000000">: [</span>
275
- <span style="color: #000000"> {</span>
276
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;visible_nodes&quot;</span><span style="color: #000000">: [ </span><span style="color: #098658">1</span><span style="color: #000000"> ],</span>
277
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;accessible_nodes&quot;</span><span style="color: #000000">: [ </span><span style="color: #098658">1</span><span style="color: #000000"> ],</span>
278
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;quaternion&quot;</span><span style="color: #000000">: {</span>
279
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;w&quot;</span><span style="color: #000000">: </span><span style="color: #098658">0.45076583925142194</span><span style="color: #000000">,</span>
280
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;x&quot;</span><span style="color: #000000">: </span><span style="color: #098658">0.010070951976936936</span><span style="color: #000000">,</span>
281
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;y&quot;</span><span style="color: #000000">: </span><span style="color: #098658">-0.8925839597148215</span><span style="color: #000000">,</span>
282
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;z&quot;</span><span style="color: #000000">: </span><span style="color: #098658">-0.0016154299986102319</span>
283
- <span style="color: #000000"> },</span>
284
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;standing_position&quot;</span><span style="color: #000000">: [</span>
285
- <span style="color: #000000"> </span><span style="color: #098658">-6.956049919128418</span><span style="color: #000000">,</span>
286
- <span style="color: #000000"> </span><span style="color: #098658">-1.3924440682333898</span><span style="color: #000000">,</span>
287
- <span style="color: #000000"> </span><span style="color: #098658">1.6591600179672241</span>
288
- <span style="color: #000000"> ],</span>
289
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;position&quot;</span><span style="color: #000000">: [</span>
290
- <span style="color: #000000"> </span><span style="color: #098658">-6.956049919128418</span><span style="color: #000000">,</span>
291
- <span style="color: #000000"> </span><span style="color: #098658">-0.10312400013208389</span><span style="color: #000000">,</span>
292
- <span style="color: #000000"> </span><span style="color: #098658">1.6591600179672241</span>
293
- <span style="color: #000000"> ],</span>
294
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;floor_index&quot;</span><span style="color: #000000">: </span><span style="color: #098658">0</span>
295
- <span style="color: #000000"> },</span>
296
- <span style="color: #000000"> {</span>
297
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;visible_nodes&quot;</span><span style="color: #000000">: [ </span><span style="color: #098658">0</span><span style="color: #000000"> ],</span>
298
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;accessible_nodes&quot;</span><span style="color: #000000">: [ </span><span style="color: #098658">0</span><span style="color: #000000"> ],</span>
299
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;index&quot;</span><span style="color: #000000">: </span><span style="color: #098658">1</span><span style="color: #000000">,</span>
300
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;quaternion&quot;</span><span style="color: #000000">: {</span>
301
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;w&quot;</span><span style="color: #000000">: </span><span style="color: #098658">-0.9884643083591809</span><span style="color: #000000">,</span>
302
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;x&quot;</span><span style="color: #000000">: </span><span style="color: #098658">-0.0038900979633806664</span><span style="color: #000000">,</span>
303
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;y&quot;</span><span style="color: #000000">: </span><span style="color: #098658">0.1512670435365699</span><span style="color: #000000">,</span>
304
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;z&quot;</span><span style="color: #000000">: </span><span style="color: #098658">-0.006439990839033269</span>
305
- <span style="color: #000000"> },</span>
306
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;standing_position&quot;</span><span style="color: #000000">: [</span>
307
- <span style="color: #000000"> </span><span style="color: #098658">-6.176340103149414</span><span style="color: #000000">,</span>
308
- <span style="color: #000000"> </span><span style="color: #098658">-1.380554749576384</span><span style="color: #000000">,</span>
309
- <span style="color: #000000"> </span><span style="color: #098658">2.179759979248047</span>
310
- <span style="color: #000000"> ],</span>
311
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;position&quot;</span><span style="color: #000000">: [</span>
312
- <span style="color: #000000"> </span><span style="color: #098658">-6.176340103149414</span><span style="color: #000000">,</span>
313
- <span style="color: #000000"> </span><span style="color: #098658">-0.10025200247764587</span><span style="color: #000000">,</span>
314
- <span style="color: #000000"> </span><span style="color: #098658">2.179759979248047</span>
315
- <span style="color: #000000"> ],</span>
316
- <span style="color: #000000"> </span><span style="color: #0451A5">&quot;floor_index&quot;</span><span style="color: #000000">: </span><span style="color: #098658">0</span><span style="color: #000000">,</span>
317
- <span style="color: #000000"> }</span>
318
- <span style="color: #000000"> ]</span>
319
- <span style="color: #000000">}</span>
320
- </code></pre>
321
- <p>Work 的数据说明</p>
322
- <ul>
323
- <li><p><code>initial</code>: 初始化数据,是一个 <code>State</code> 数据。描述<strong>Work</strong>被加载初始状态的位姿,也叫做VR的初始视角</p>
324
- <ul>
325
- <li>mode: 模态</li>
326
- <li>pano_index: 初始化点位</li>
327
- <li>longitude: 相机的水平角</li>
328
- <li>latitude: 相机的偏航角</li>
329
- <li>fov: 相机垂直方向的可视角度</li>
330
- </ul>
331
- </li>
332
- <li><p><code>model</code>: 三维模型</p>
333
- <ul>
334
- <li>file_url: 三维模型的资源地址,文件为 <code>.at3d</code> 为如视定制的模型格式</li>
335
- <li>material_textures: 三维模型的贴图资源地址</li>
336
- </ul>
337
- </li>
338
- <li><p><code>panorama</code>: 全景彩色信息</p>
339
- <ul>
340
- <li>list:<ul>
341
- <li>up / down / left / right / front / back: 全景彩色信息以 <a href="https://en.wikipedia.org/wiki/Cube_mapping">cubemap</a> 方式存储和使用。</li>
342
- </ul>
343
- </li>
344
- </ul>
345
- </li>
346
- <li><p><code>observers</code>: 采集点信息</p>
347
- <ul>
348
- <li>visible_nodes: 采集点之间的可见性列表</li>
349
- <li>accessible_nodes: 采集点之间的连通性列表</li>
350
- <li>quaternion: 采集点与模型坐标的旋转偏移量</li>
351
- <li>standing_position: 采集点地面坐标</li>
352
- <li>position: 采集点坐标</li>
353
- <li>floor_index: 采集点楼层</li>
354
- </ul>
355
- </li>
356
- </ul>
357
- <a href="#什么是-five-state" id="什么是-five-state" style="color: inherit; text-decoration: none;">
358
- <h3>什么是 Five State</h3>
359
- </a>
360
- <p><strong>State</strong>是<strong>Five</strong>框架用于描述状态的数据结构。他包含了模态、位于的采集点位、相机的方向、相机可视角度的信息。
361
- 您可以使用<strong>State</strong>来操作<strong>Five</strong>或者获取<strong>Five</strong>当前的状态。</p>
362
- <pre><code class="language-ts"><span style="color: #0000FF">interface</span><span style="color: #000000"> </span><span style="color: #267F99">State</span><span style="color: #000000"> {</span>
363
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;mode&quot;</span><span style="color: #000000">: </span><span style="color: #267F99">Five</span><span style="color: #000000">.</span><span style="color: #267F99">Mode</span><span style="color: #000000">,</span>
364
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;panoIndex&quot;</span><span style="color: #000000">: </span><span style="color: #267F99">number</span><span style="color: #000000">,</span>
365
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;longitude&quot;</span><span style="color: #000000">: </span><span style="color: #267F99">number</span><span style="color: #000000">,</span>
366
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;latitude&quot;</span><span style="color: #000000">: </span><span style="color: #267F99">number</span><span style="color: #000000">,</span>
367
- <span style="color: #000000"> </span><span style="color: #A31515">&quot;fov&quot;</span><span style="color: #000000">: </span><span style="color: #267F99">number</span><span style="color: #000000">,</span>
368
- <span style="color: #000000">}</span>
119
+ <p>Work 的数据说明</p>
120
+ <ul>
121
+ <li><p><code>initial</code>: 初始化数据,是一个 <code>State</code> 数据。描述<strong>Work</strong>被加载初始状态的位姿,也叫做VR的初始视角</p>
122
+ <ul>
123
+ <li>mode: 模态</li>
124
+ <li>pano_index: 初始化点位</li>
125
+ <li>longitude: 相机的水平角</li>
126
+ <li>latitude: 相机的偏航角</li>
127
+ <li>fov: 相机垂直方向的可视角度</li>
128
+ </ul>
129
+ </li>
130
+ <li><p><code>model</code>: 三维模型</p>
131
+ <ul>
132
+ <li>file_url: 三维模型的资源地址,文件为 <code>.at3d</code> 为如视定制的模型格式</li>
133
+ <li>material_textures: 三维模型的贴图资源地址</li>
134
+ </ul>
135
+ </li>
136
+ <li><p><code>panorama</code>: 全景彩色信息</p>
137
+ <ul>
138
+ <li>list:<ul>
139
+ <li>up / down / left / right / front / back: 全景彩色信息以 <a href="https://en.wikipedia.org/wiki/Cube_mapping">cubemap</a> 方式存储和使用。</li>
140
+ </ul>
141
+ </li>
142
+ </ul>
143
+ </li>
144
+ <li><p><code>observers</code>: 采集点信息</p>
145
+ <ul>
146
+ <li>visible_nodes: 采集点之间的可见性列表</li>
147
+ <li>accessible_nodes: 采集点之间的连通性列表</li>
148
+ <li>quaternion: 采集点与模型坐标的旋转偏移量</li>
149
+ <li>standing_position: 采集点地面坐标</li>
150
+ <li>position: 采集点坐标</li>
151
+ <li>floor_index: 采集点楼层</li>
152
+ </ul>
153
+ </li>
154
+ </ul>
155
+
156
+ <a href="#什么是-five-state" id="什么是-five-state" style="color: inherit; text-decoration: none;">
157
+ <h3>什么是 Five State</h3>
158
+ </a>
159
+ <p><strong>State</strong>是<strong>Five</strong>框架用于描述状态的数据结构。他包含了模态、位于的采集点位、相机的方向、相机可视角度的信息。
160
+ 您可以使用<strong>State</strong>来操作<strong>Five</strong>或者获取<strong>Five</strong>当前的状态。</p>
161
+ <pre><code class="language-ts"><span class="hl-7">interface</span><span class="hl-0"> </span><span class="hl-8">State</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;mode&quot;</span><span class="hl-0">: </span><span class="hl-8">Five</span><span class="hl-0">.</span><span class="hl-8">Mode</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;panoIndex&quot;</span><span class="hl-0">: </span><span class="hl-8">number</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;longitude&quot;</span><span class="hl-0">: </span><span class="hl-8">number</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;latitude&quot;</span><span class="hl-0">: </span><span class="hl-8">number</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">&quot;fov&quot;</span><span class="hl-0">: </span><span class="hl-8">number</span><span class="hl-0">,</span><br/><span class="hl-0">}</span>
369
162
  </code></pre>
370
- <p><strong>State</strong>的数据描述</p>
371
- <ul>
372
- <li><p><code>mode</code>: 当前的模态
373
- Five 5 种模态,可以使用 <code>Five.Mode</code> 获得</p>
374
- <ul>
375
- <li>Floorplan: 模型查看模式, 该模式下视图以模型为中心,手势操作可以旋转/放大模型/切换楼层,适合查看模型的整体效果。</li>
376
- <li>Topview: 户型图模式,该模式下视图以模型为中心,垂直俯视模型,手势操作可以平移/放大模型/切换楼层,适合查看模型平面结构。</li>
377
- <li>Panorama: 全景图游走模式,该模式下视图将在采集点间游走,手势操作可以旋转/放大视角/切换采集点,适合查看采集的全景信息。</li>
378
- <li>Model: 模型游走模式,该模式下视图将在模型中自由游走,手势操作可以旋转/放大视角/位移,适合查看模型的细节,做一些定位操作。</li>
379
- <li>VRPanorama: VR 眼镜模式,该模式下可以使用 <a href="https://arvr.google.com/cardboard/">Cardboard 眼镜</a> 或者他的第三方衍生产品,实现 VR 虚拟显示效果。</li>
380
- </ul>
381
- </li>
382
- <li><p><code>panoIndex</code>: 采集点位</p>
383
- </li>
384
- <li><p><code>longitude</code> / <code>latitude</code>: 相机的水平角 / 相机的偏航角(弧度),我们使用类似经纬度的方式描述相机位置。</p>
385
- </li>
386
- <li><p><code>fov</code>: 相机垂直方向的可视角度 (角度)</p>
387
- </li>
388
- </ul>
389
- </div>
390
- </div>
391
- <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
392
- <nav class="tsd-navigation primary">
393
- <ul>
394
- <li class=" ">
395
- <a href="modules.html">Modules</a>
396
- </li>
397
- <li class=" tsd-kind-module">
398
- <a href="modules/five.html">five</a>
399
- </li>
400
- <li class=" tsd-kind-module">
401
- <a href="modules/gltf_loader.html">gltf-<wbr>loader</a>
402
- </li>
403
- <li class=" tsd-kind-module">
404
- <a href="modules/line.html">line</a>
405
- </li>
406
- <li class=" tsd-kind-module">
407
- <a href="modules/react.html">react</a>
408
- </li>
409
- <li class=" tsd-kind-module">
410
- <a href="modules/server.html">server</a>
411
- </li>
412
- <li class=" tsd-kind-module">
413
- <a href="modules/sticker.html">sticker</a>
414
- </li>
415
- </ul>
416
- </nav>
417
- <nav class="tsd-navigation secondary menu-sticky">
418
- <ul class="before-current">
419
- </ul>
420
- </nav>
421
- </div>
422
- </div>
423
- </div>
424
- <footer>
425
- <div class="container">
426
- <h2>Legend</h2>
427
- <div class="tsd-legend-group">
428
- <ul class="tsd-legend">
429
- <li class="tsd-kind-namespace"><span class="tsd-kind-icon">Namespace</span></li>
430
- <li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
431
- <li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
432
- <li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
433
- <li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
434
- <li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
435
- </ul>
436
- <ul class="tsd-legend">
437
- <li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
438
- <li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
439
- </ul>
440
- <ul class="tsd-legend">
441
- <li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
442
- <li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
443
- </ul>
444
- </div>
445
- </div>
446
- </footer>
447
- <div class="overlay"></div>
448
- <script src="assets/js/main.js"></script>
449
- </body>
450
- </html>
163
+ <p><strong>State</strong>的数据描述</p>
164
+ <ul>
165
+ <li><p><code>mode</code>: 当前的模态
166
+ Five 常用有 5 种模态,可以使用 <code>Five.Mode</code> 获得</p>
167
+ <ul>
168
+ <li>Panorama: 全景游走模态,该模态下视图将在采集点间游走,手势操作可以旋转/放大视角/切换采集点,适合查看采集的全景信息。</li>
169
+ <li>Floorplan: 空间总览模态, 该模态下视图以模型为中心,手势操作可以旋转/放大模型/切换楼层,适合查看模型的整体效果。</li>
170
+ <li>Topview: 户型图模态,该模态下视图以模型为中心,垂直俯视模型,手势操作可以平移/放大模型/切换楼层,适合查看模型平面结构。</li>
171
+ <li>Model: 模型游走模态,该模态下视图将在模型中自由游走,手势操作可以旋转/放大视角/位移,适合查看模型的细节,做一些定位操作。</li>
172
+ <li>VRPanorama: VR 眼镜模态,该模态下可以使用 <a href="https://arvr.google.com/cardboard/">Cardboard 眼镜</a> 或者他的第三方衍生产品,实现 VR 虚拟显示效果。</li>
173
+ </ul>
174
+ </li>
175
+ <li><p><code>panoIndex</code>: 采集点位</p>
176
+ </li>
177
+ <li><p><code>longitude</code> / <code>latitude</code>: 相机的水平角 / 相机的偏航角(弧度),我们使用类似经纬度的方式描述相机位置。</p>
178
+ </li>
179
+ <li><p><code>fov</code>: 相机垂直方向的可视角度 (角度)</p>
180
+ </li>
181
+ </ul>
182
+ </div></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class="current"><a href="modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="modules/five.html">five</a></li><li class=" tsd-kind-module"><a href="modules/gltf_loader.html">gltf-<wbr/>loader</a></li><li class=" tsd-kind-module"><a href="modules/line.html">line</a></li><li class=" tsd-kind-module"><a href="modules/react.html">react</a></li><li class=" tsd-kind-module"><a href="modules/server.html">server</a></li><li class=" tsd-kind-module"><a href="modules/sticker.html">sticker</a></li><li class=" tsd-kind-module"><a href="modules/vfx.html">vfx</a></li><li class=" tsd-kind-module"><a href="modules/vue.html">vue</a></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-namespace"><span class="tsd-kind-icon">Namespace</span></li><li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li><li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li><li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li><li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li><li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li><li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li><li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="assets/main.js"></script></body></html>