@realsee/five 6.8.9 → 6.9.0-alpha.1
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.
- package/ai_guides/3dgs-current-branch-changes.md +237 -0
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/highlight.css +18 -18
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.AdaptiveLuminancePass.html +1 -1
- package/docs/classes/five.BoundingMesh.html +1 -1
- package/docs/classes/five.Camera.html +1 -1
- package/docs/classes/five.EyeDomeLightingPass.html +1 -1
- package/docs/classes/five.Five.html +4 -4
- package/docs/classes/five.FivePass.html +1 -1
- package/docs/classes/five.FlowingFireworks3DPass.html +30 -0
- package/docs/classes/five.FlowingLight2DPass.html +1 -1
- package/docs/classes/five.FlowingLight3DPass.html +1 -1
- package/docs/classes/five.GaussianBlurPass.html +1 -1
- package/docs/classes/five.InternalWebGLRenderer.html +1 -1
- package/docs/classes/five.Model.html +2 -2
- package/docs/classes/five.ModelScene.html +1 -1
- package/docs/classes/five.NetworkSubscribe.html +2 -2
- package/docs/classes/five.PBMContainer.html +1 -1
- package/docs/classes/five.PBMCustomShader.html +2 -2
- package/docs/classes/five.PBMGSObject.html +10 -13
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMesh.html +1 -1
- package/docs/classes/five.PBMMeshMaterial.html +1 -1
- package/docs/classes/five.PBMPanoFilter.html +2 -2
- package/docs/classes/five.PBMPointCloud.html +1 -1
- package/docs/classes/five.PBMPointCloudMaterial.html +1 -1
- package/docs/classes/five.PBMSkinnedMesh.html +1 -1
- package/docs/classes/five.PBMUpdateable.html +2 -2
- package/docs/classes/five.PanoCircleMesh.html +1 -1
- package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
- package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
- package/docs/classes/five.Parameter.html +1 -1
- package/docs/classes/five.Scene.html +1 -1
- package/docs/classes/five.Subscribe.html +2 -2
- package/docs/classes/five.Tile3D.html +1 -1
- package/docs/classes/five.TileNode.html +1 -1
- package/docs/classes/five.TrajectoryNode.html +1 -1
- package/docs/classes/five.WorkResolvedObserver.html +2 -2
- package/docs/classes/gltf-loader.DDSLoader.html +1 -1
- package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
- package/docs/classes/gltf-loader.GLTFLoader.html +2 -2
- package/docs/classes/gltf-loader.GLTFObject.html +1 -1
- package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
- package/docs/classes/line.Line.html +1 -1
- package/docs/classes/line.LineGeometry.html +1 -1
- package/docs/classes/line.LineMaterial.html +1 -1
- package/docs/classes/line.LineSegmentsGeometry.html +1 -1
- package/docs/classes/line.THREE_Line2.html +1 -1
- package/docs/classes/line.THREE_LineSegments2.html +1 -1
- package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
- package/docs/classes/plugins.CSS2DObject.html +1 -1
- package/docs/classes/plugins.CSS3DObject.html +1 -1
- package/docs/classes/plugins.CSS3DSprite.html +1 -1
- package/docs/classes/plugins.InstancedPrefabBufferGeometry.html +1 -1
- package/docs/classes/plugins.Object3DHelperController.html +1 -1
- package/docs/classes/plugins.PointBufferGeometry.html +1 -1
- package/docs/classes/plugins.PrefabBufferGeometry.html +1 -1
- package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
- package/docs/classes/react.Store.html +1 -1
- package/docs/classes/sticker.Sticker.html +2 -2
- package/docs/classes/vfx.Airflow.html +1 -1
- package/docs/classes/vfx.Flame.html +1 -1
- package/docs/classes/vfx.Particle.html +1 -1
- package/docs/classes/vfx.ParticleGPU.html +1 -1
- package/docs/classes/vfx.SpotLight.html +1 -1
- package/docs/documents/3dgs-current-branch-changes.html +205 -0
- package/docs/documents/api.html +6 -6
- package/docs/documents/features_3dtile.html +4 -4
- package/docs/documents/features_camera-animation.html +10 -10
- package/docs/documents/features_clipper.html +3 -3
- package/docs/documents/features_coordinate-system.html +3 -3
- package/docs/documents/features_event.html +10 -10
- package/docs/documents/features_five.html +4 -4
- package/docs/documents/features_flowing-fireworks-3d-pass.html +7 -7
- package/docs/documents/features_flowing-light-2d-pass.html +11 -11
- package/docs/documents/features_flowing-light-3d-pass.html +11 -11
- package/docs/documents/features_gaussian-blur-pass.html +6 -6
- package/docs/documents/features_gesture.html +6 -6
- package/docs/documents/features_get-screen-pixels.html +4 -4
- package/docs/documents/features_image-options.html +5 -5
- package/docs/documents/features_load-external-model.html +8 -8
- package/docs/documents/features_load-progress.html +7 -7
- package/docs/documents/features_material.html +3 -3
- package/docs/documents/features_mode.html +11 -11
- package/docs/documents/features_model.html +4 -4
- package/docs/documents/features_move-pano-effect.html +5 -5
- package/docs/documents/features_multi-work.html +5 -5
- package/docs/documents/features_pano-filter.html +3 -3
- package/docs/documents/features_pano-tile.html +4 -4
- package/docs/documents/features_pano-uv.html +4 -4
- package/docs/documents/features_parameter.html +7 -7
- package/docs/documents/features_plugin.html +4 -4
- package/docs/documents/features_postprocessing.html +5 -5
- package/docs/documents/features_raycast.html +4 -4
- package/docs/documents/features_request-proxy.html +4 -4
- package/docs/documents/features_screen-project.html +3 -3
- package/docs/documents/features_state.html +4 -4
- package/docs/documents/features_view-layer.html +4 -4
- package/docs/documents/features_work.html +5 -5
- package/docs/documents/quick-start.html +2 -2
- package/docs/documents/release_notes_6.6.html +4 -4
- package/docs/documents/release_notes_6.7.html +14 -14
- package/docs/documents/release_notes_6.8.html +4 -4
- package/docs/functions/five.loadSpz.html +1 -1
- package/docs/functions/react.useFiveAction.html +6 -6
- package/docs/functions/react.useFiveCurrentObserver.html +1 -1
- package/docs/functions/react.useFiveCurrentState.html +1 -1
- package/docs/functions/react.useFiveEventCallback.html +1 -1
- package/docs/functions/react.useFiveFloor.html +1 -1
- package/docs/functions/react.useFiveHelper.html +1 -1
- package/docs/functions/react.useFiveModelIntersectRaycaster.html +2 -2
- package/docs/functions/react.useFiveProject2d.html +2 -2
- package/docs/functions/react.useFiveSceneEffect.html +1 -1
- package/docs/functions/react.useFiveWork.html +2 -2
- package/docs/functions/vue.useFiveAction.html +8 -8
- package/docs/functions/vue.useFiveCurrentObserver.html +1 -1
- package/docs/functions/vue.useFiveCurrentState.html +1 -1
- package/docs/functions/vue.useFiveEventCallback.html +1 -1
- package/docs/functions/vue.useFiveFloor.html +1 -1
- package/docs/functions/vue.useFiveHelper.html +1 -1
- package/docs/functions/vue.useFiveModelIntersectRaycaster.html +2 -2
- package/docs/functions/vue.useFiveProject2d.html +2 -2
- package/docs/functions/vue.useFiveState.html +1 -1
- package/docs/functions/vue.useFiveWorks.html +2 -2
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/five.AddableObject.html +1 -1
- package/docs/interfaces/five.AjaxOptions.html +1 -1
- package/docs/interfaces/five.BaseEvent.html +1 -1
- package/docs/interfaces/five.BaseExtendableEvent.html +1 -1
- package/docs/interfaces/five.EventCallback.html +1 -1
- package/docs/interfaces/five.FiveInitArgs.html +2 -2
- package/docs/interfaces/five.GestureEvent.html +1 -1
- package/docs/interfaces/five.ImageOptions.html +1 -1
- package/docs/interfaces/five.IntersectEvent.html +1 -1
- package/docs/interfaces/five.IntersectMesh.html +1 -1
- package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
- package/docs/interfaces/five.Intersection.html +1 -1
- package/docs/interfaces/five.LooseWorkWithExtrinsics.html +1 -1
- package/docs/interfaces/five.ModeChangeEvent.html +1 -1
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ModelEvent.html +1 -1
- package/docs/interfaces/five.ModelSceneEvent.html +1 -1
- package/docs/interfaces/five.ModelTileEvent.html +1 -1
- package/docs/interfaces/five.MovePanoOptions.html +1 -1
- package/docs/interfaces/five.NetworkAbortError.html +1 -1
- package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
- package/docs/interfaces/five.NetworkOptions.html +1 -1
- package/docs/interfaces/five.NetworkProxyError.html +1 -1
- package/docs/interfaces/five.NetworkResourceEvent.html +1 -1
- package/docs/interfaces/five.NetworkResponseError.html +1 -1
- package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
- package/docs/interfaces/five.ObjectEvent.html +1 -1
- package/docs/interfaces/five.PBMMaterial.html +1 -1
- package/docs/interfaces/five.PBMMeshMaterialParameters.html +1 -1
- package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +1 -1
- package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
- package/docs/interfaces/five.PanoEvent.html +1 -1
- package/docs/interfaces/five.PanoPrepareEvent.html +1 -1
- package/docs/interfaces/five.PanoTextureEvent.html +1 -1
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ParameterMaterialValue.html +1 -1
- package/docs/interfaces/five.ParameterTilesetValue.html +1 -1
- package/docs/interfaces/five.ParameterValue.html +1 -1
- package/docs/interfaces/five.Pose.html +1 -1
- package/docs/interfaces/five.RenderEvent.html +1 -1
- package/docs/interfaces/five.ResolvedParameterValue.html +1 -1
- package/docs/interfaces/five.SplatData.html +3 -6
- package/docs/interfaces/five.State.html +1 -1
- package/docs/interfaces/five.StateEvent.html +1 -1
- package/docs/interfaces/five.TextureOptions.html +1 -1
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ViewLayer.html +1 -1
- package/docs/interfaces/five.WorkCubeImage.html +1 -1
- package/docs/interfaces/five.WorkImage.html +1 -1
- package/docs/interfaces/five.WorkObserver.html +2 -2
- package/docs/interfaces/five.WorkObserverProto.html +1 -1
- package/docs/interfaces/five.WorkTile.html +1 -1
- package/docs/interfaces/five.WorksEvent.html +1 -1
- package/docs/interfaces/five.XRControllerEvent.html +1 -1
- package/docs/interfaces/five.XRGestureEvent.html +1 -1
- package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.XRSessionEvent.html +1 -1
- package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
- package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
- package/docs/interfaces/plugins.CSS2DPluginController.html +1 -1
- package/docs/interfaces/plugins.CSS2DPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.CSS2DPluginType.State.html +1 -1
- package/docs/interfaces/plugins.CSS3DPluginController.html +1 -1
- package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.CSS3DPluginType.State.html +1 -1
- package/docs/interfaces/plugins.DynamicPathLinePluginController.html +1 -1
- package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationController.html +1 -1
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +1 -1
- package/docs/interfaces/plugins.ItemMaskController.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.BaseController.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.BaseHelper.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.BoundingBoxController.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.MoveController.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.MoveHelperAbstract.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.RotateController.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.RotateHelperAbstract.html +1 -1
- package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
- package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
- package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
- package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
- package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
- package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
- package/docs/interfaces/plugins.TrajectoryController.html +1 -1
- package/docs/interfaces/react.FiveInjectionTypes.html +2 -2
- package/docs/interfaces/react.UseFivePluginOptions.html +1 -1
- package/docs/interfaces/react.UseFivePluginOptionsWithCreate.html +1 -1
- package/docs/modules/five.html +1 -1
- package/docs/modules.html +1 -1
- package/docs/types/five.FlowingFireworks3DPassLine.html +16 -0
- package/docs/types/five.ParseOptions.html +1 -1
- package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
- package/docs/variables/react.FiveCanvas.html +1 -1
- package/docs/variables/react.useFiveScene.html +1 -1
- package/docs/variables/vue.FiveCanvas.html +1 -1
- package/docs/variables/vue.FiveProvider.html +1 -1
- package/five/gaussian-splatting/layerRegistry.d.ts +10 -0
- package/five/gaussian-splatting/orderTexture.d.ts +18 -0
- package/five/gaussian-splatting/reorderPass.d.ts +34 -0
- package/five/gaussian-splatting/shStore.d.ts +16 -0
- package/five/gaussian-splatting/splatAssembler.d.ts +60 -0
- package/five/gaussian-splatting/tileTexture.d.ts +10 -0
- package/five/gaussian-splatting/transformStore.d.ts +20 -0
- package/five/index.js +305 -169
- package/five/index.mjs +6684 -6508
- package/five/model/index.d.ts +0 -1
- package/five/model/loaders/spz.d.ts +19 -3
- package/five/model/objects/pbmGaussianSplattingObject.d.ts +10 -14
- package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +48 -42
- package/five/renderer/index.d.ts +1 -1
- package/five/renderer/postprocessing/index.d.ts +1 -1
- package/five/renderer/postprocessing/passes/flowing-fireworks-3d-pass.d.ts +4 -5
- package/gltf-loader/index.js +3 -3
- package/gltf-loader/index.mjs +3 -3
- package/line/index.js +3 -3
- package/line/index.mjs +3 -3
- package/package.json +2 -2
- package/pbmGaussianSplattingObject-C6i7CUTu.cjs +255 -0
- package/pbmGaussianSplattingObject-CaE6q4r-.js +324 -0
- package/plugins/index.js +2 -2
- package/plugins/index.mjs +2 -2
- package/react/index.js +2 -2
- package/react/index.mjs +2 -2
- package/shader-lib/index.js +2 -2
- package/shader-lib/index.mjs +2 -2
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +3 -3
- package/umd/five-gltf-loader.js +3 -3
- package/umd/five-line.js +3 -3
- package/umd/five-plugins.js +2 -2
- package/umd/five-react.js +2 -2
- package/umd/five-shader-lib.js +2 -2
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +2 -2
- package/umd/five-vue.js +2 -2
- package/umd/five.js +218 -82
- package/vfx/index.js +2 -2
- package/vfx/index.mjs +2 -2
- package/vue/index.js +2 -2
- package/vue/index.mjs +2 -2
- package/work-downloader/index.js +2 -2
- package/work-downloader/index.mjs +2 -2
- package/docs/functions/five.loadSplat.html +0 -1
- package/five/gaussian-splatting/util/renderData.d.ts +0 -68
- package/five/model/loaders/splat.d.ts +0 -8
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
<p><strong>Definition</strong>: <a href="../../five/types/imageOptions.d.ts">ImageOptions</a></p>
|
|
13
13
|
</blockquote>
|
|
14
14
|
<p>全局图片加载配置接口。</p>
|
|
15
|
-
<pre><code class="typescript"><span class="hl-
|
|
15
|
+
<pre><code class="typescript"><span class="hl-8">interface</span><span class="hl-1"> </span><span class="hl-9">ImageOptions</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-7">/** 图片类型标识 (内部使用,如 "pano.front") */</span><br/><span class="hl-1"> </span><span class="hl-5">key</span><span class="hl-1">?: </span><span class="hl-9">string</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-7">/** 图片尺寸参数 (例如 512, 1024...) */</span><br/><span class="hl-1"> </span><span class="hl-5">size</span><span class="hl-1">?: </span><span class="hl-9">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-7">/** 图片质量参数 (0-100) */</span><br/><span class="hl-1"> </span><span class="hl-5">quality</span><span class="hl-1">?: </span><span class="hl-9">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-7">/**</span><br/><span class="hl-7"> * 图片格式参数</span><br/><span class="hl-7"> * 自动降级逻辑:如果指定格式(如 avif/webp)当前浏览器不支持,会自动降级为 jpg</span><br/><span class="hl-7"> */</span><br/><span class="hl-1"> </span><span class="hl-5">format</span><span class="hl-1">?: </span><span class="hl-10">"jpg"</span><span class="hl-1"> | </span><span class="hl-10">"jpeg"</span><span class="hl-1"> | </span><span class="hl-10">"png"</span><span class="hl-1"> | </span><span class="hl-10">"heif"</span><span class="hl-1"> | </span><span class="hl-10">"heic"</span><span class="hl-1"> | </span><span class="hl-10">"webp"</span><span class="hl-1"> | </span><span class="hl-10">"avif"</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-7">/**</span><br/><span class="hl-7"> * 图片裁切 [x, y, width, height]</span><br/><span class="hl-7"> * 通常用于内部工具获取局部图片,初始化 Five 时一般不设置此项</span><br/><span class="hl-7"> */</span><br/><span class="hl-1"> </span><span class="hl-5">cut</span><span class="hl-1">?: [</span><span class="hl-13">x</span><span class="hl-1">: </span><span class="hl-9">number</span><span class="hl-1">, </span><span class="hl-13">y</span><span class="hl-1">: </span><span class="hl-9">number</span><span class="hl-1">, </span><span class="hl-13">width</span><span class="hl-1">: </span><span class="hl-9">number</span><span class="hl-1">, </span><span class="hl-13">height</span><span class="hl-1">: </span><span class="hl-9">number</span><span class="hl-1">];</span><br/><span class="hl-1"> </span><span class="hl-7">/** 锐化参数 (仅部分 CDN 支持) */</span><br/><span class="hl-1"> </span><span class="hl-5">sharpen</span><span class="hl-1">?: </span><span class="hl-9">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-7">/** 域名匹配规则,用于多云或私有化部署 */</span><br/><span class="hl-1"> </span><span class="hl-5">mappings</span><span class="hl-1">?: </span><span class="hl-9">ImageURLMappings</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-7">/** 自定义 URL 转换函数 */</span><br/><span class="hl-1"> </span><span class="hl-4">transform</span><span class="hl-1">?: (</span><span class="hl-5">url</span><span class="hl-1">: </span><span class="hl-9">string</span><span class="hl-1">, </span><span class="hl-5">options</span><span class="hl-1">: </span><span class="hl-9">ImageURLOptions</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> </span><span class="hl-9">string</span><span class="hl-1">;</span><br/><span class="hl-1">}</span>
|
|
16
16
|
</code><button type="button">Copy</button></pre>
|
|
17
17
|
|
|
18
18
|
<h3 id="imageurlmappings" class="tsd-anchor-link">ImageURLMappings<a href="#imageurlmappings" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
19
19
|
<p>域名映射规则配置,用于支持多云存储或私有化部署。</p>
|
|
20
|
-
<pre><code class="typescript"><span class="hl-
|
|
20
|
+
<pre><code class="typescript"><span class="hl-8">interface</span><span class="hl-1"> </span><span class="hl-9">ImageURLMappings</span><span class="hl-1"> {</span><br/><span class="hl-1"> [</span><span class="hl-5">publicDomain</span><span class="hl-1">: </span><span class="hl-9">string</span><span class="hl-1">]: {</span><br/><span class="hl-1"> </span><span class="hl-7">/** CDN 类型,目前支持 'tencentCloud' | 'aliyun' 用于区分特定云厂商的图片处理参数 */</span><br/><span class="hl-1"> </span><span class="hl-10">"type"</span><span class="hl-1">?: </span><span class="hl-9">string</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-7">/** 全景图域名映射列表 */</span><br/><span class="hl-1"> </span><span class="hl-10">"pano"</span><span class="hl-1">: [</span><span class="hl-9">string</span><span class="hl-1">, </span><span class="hl-9">string</span><span class="hl-1">];</span><br/><span class="hl-1"> </span><span class="hl-7">/** 全景图瓦片域名映射列表 */</span><br/><span class="hl-1"> </span><span class="hl-10">"tile"</span><span class="hl-1">: [</span><span class="hl-9">string</span><span class="hl-1">, </span><span class="hl-9">string</span><span class="hl-1">];</span><br/><span class="hl-1"> </span><span class="hl-7">/** 3D Tile 模型域名映射列表 */</span><br/><span class="hl-1"> </span><span class="hl-10">"model"</span><span class="hl-1">: [</span><span class="hl-9">string</span><span class="hl-1">, </span><span class="hl-9">string</span><span class="hl-1">];</span><br/><span class="hl-1"> </span><span class="hl-7">/** AT3D 材质域名映射列表 */</span><br/><span class="hl-1"> </span><span class="hl-10">"texture"</span><span class="hl-1">: [</span><span class="hl-9">string</span><span class="hl-1">];</span><br/><span class="hl-1"> </span><span class="hl-7">/** 默认域名映射列表 */</span><br/><span class="hl-1"> </span><span class="hl-10">"default"</span><span class="hl-1">: [</span><span class="hl-9">string</span><span class="hl-1">];</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">}</span>
|
|
21
21
|
</code><button type="button">Copy</button></pre>
|
|
22
22
|
|
|
23
23
|
<h2 id="concepts" class="tsd-anchor-link">Concepts<a href="#concepts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
@@ -84,17 +84,17 @@
|
|
|
84
84
|
<h2 id="examples" class="tsd-anchor-link">Examples<a href="#examples" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
85
85
|
<h3 id="基础优化配置-推荐" class="tsd-anchor-link">基础优化配置 (推荐)<a href="#基础优化配置-推荐" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
86
86
|
<p>启用 AVIF 格式并设置初始尺寸为 <code>512</code>,适用于大多数场景。</p>
|
|
87
|
-
<pre><code class="typescript"><span class="hl-
|
|
87
|
+
<pre><code class="typescript"><span class="hl-11">import</span><span class="hl-1"> { </span><span class="hl-5">Five</span><span class="hl-1"> } </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-10">"@realsee/five"</span><span class="hl-1">;</span><br/><br/><span class="hl-8">const</span><span class="hl-1"> </span><span class="hl-6">five</span><span class="hl-1"> = </span><span class="hl-8">new</span><span class="hl-1"> </span><span class="hl-4">Five</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-5">imageOptions:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">format:</span><span class="hl-1"> </span><span class="hl-10">"avif"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">size:</span><span class="hl-1"> </span><span class="hl-3">512</span><span class="hl-1">,</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">});</span>
|
|
88
88
|
</code><button type="button">Copy</button></pre>
|
|
89
89
|
|
|
90
90
|
<h3 id="多云私有化部署配置" class="tsd-anchor-link">多云/私有化部署配置<a href="#多云私有化部署配置" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
91
91
|
<p>将数据中的 <code>custom-oss-public.ljcdn.com</code> 域名映射到对应的资源专用 OSS 域名。</p>
|
|
92
|
-
<pre><code class="typescript"><span class="hl-
|
|
92
|
+
<pre><code class="typescript"><span class="hl-11">import</span><span class="hl-1"> { </span><span class="hl-5">Five</span><span class="hl-1"> } </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-10">"@realsee/five"</span><span class="hl-1">;</span><br/><br/><span class="hl-8">const</span><span class="hl-1"> </span><span class="hl-6">five</span><span class="hl-1"> = </span><span class="hl-8">new</span><span class="hl-1"> </span><span class="hl-4">Five</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-5">imageOptions:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">mappings:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-10">"custom-oss-public.ljcdn.com"</span><span class="hl-5">:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">type:</span><span class="hl-1"> </span><span class="hl-10">"tencentCloud"</span><span class="hl-1">, </span><span class="hl-7">// 指定使用腾讯云图片处理协议</span><br/><span class="hl-1"> </span><span class="hl-5">pano:</span><span class="hl-1"> [</span><span class="hl-10">"custom-oss-image-1.com"</span><span class="hl-1">, </span><span class="hl-10">"custom-oss-image-2.com"</span><span class="hl-1">], </span><span class="hl-7">// 双域名负载均衡</span><br/><span class="hl-1"> </span><span class="hl-5">tile:</span><span class="hl-1"> [</span><span class="hl-10">"custom-oss-tile-1.com"</span><span class="hl-1">, </span><span class="hl-10">"custom-oss-tile-2.com"</span><span class="hl-1">],</span><br/><span class="hl-1"> </span><span class="hl-5">model:</span><span class="hl-1"> [</span><span class="hl-10">"custom-oss-model-1.com"</span><span class="hl-1">, </span><span class="hl-10">"custom-oss-model-2.com"</span><span class="hl-1">],</span><br/><span class="hl-1"> </span><span class="hl-5">texture:</span><span class="hl-1"> [</span><span class="hl-10">"custom-oss-image-3.com"</span><span class="hl-1">],</span><br/><span class="hl-1"> </span><span class="hl-5">default:</span><span class="hl-1"> [</span><span class="hl-10">"custom-oss-image-4.com"</span><span class="hl-1">]</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">});</span>
|
|
93
93
|
</code><button type="button">Copy</button></pre>
|
|
94
94
|
|
|
95
95
|
<h3 id="内部调用:获取全景图局部裁剪" class="tsd-anchor-link">内部调用:获取全景图局部裁剪<a href="#内部调用:获取全景图局部裁剪" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
96
96
|
<p>使用 SDK 提供的 <code>defaultImageURLTransform</code> 工具函数(通常导出为 <code>defaultImageURLTransform</code>,可重命名为 <code>imageURL</code>),结合 <code>cut</code> 参数获取全景图特定区域(例如获取前方图片的中心 512x512 区域)。</p>
|
|
97
|
-
<pre><code class="typescript"><span class="hl-
|
|
97
|
+
<pre><code class="typescript"><span class="hl-11">import</span><span class="hl-1"> { </span><span class="hl-5">defaultImageURLTransform</span><span class="hl-1"> </span><span class="hl-11">as</span><span class="hl-1"> </span><span class="hl-5">imageURL</span><span class="hl-1"> } </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-10">"@realsee/five"</span><span class="hl-1">;</span><br/><br/><span class="hl-8">const</span><span class="hl-1"> </span><span class="hl-6">originalUrl</span><span class="hl-1"> = </span><span class="hl-10">"https://vr-public.realsee-cdn.com/.../pano_f.jpg"</span><span class="hl-1">;</span><br/><br/><span class="hl-8">const</span><span class="hl-1"> </span><span class="hl-6">cutUrl</span><span class="hl-1"> = </span><span class="hl-4">imageURL</span><span class="hl-1">(</span><span class="hl-5">originalUrl</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-5">cut:</span><span class="hl-1"> [</span><span class="hl-3">256</span><span class="hl-1">, </span><span class="hl-3">256</span><span class="hl-1">, </span><span class="hl-3">512</span><span class="hl-1">, </span><span class="hl-3">512</span><span class="hl-1">], </span><span class="hl-7">// x, y, width, height</span><br/><span class="hl-1"> </span><span class="hl-5">format:</span><span class="hl-1"> </span><span class="hl-10">"webp"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">quality:</span><span class="hl-1"> </span><span class="hl-3">80</span><span class="hl-1">,</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-5">cutUrl</span><span class="hl-1">);</span><br/><span class="hl-7">// 输出示例: https://vr-image-4.realsee-cdn.com/.../pano_f.jpg?imageMogr2/format/webp/cut/512x512x256x256/quality/80</span>
|
|
98
98
|
</code><button type="button">Copy</button></pre>
|
|
99
99
|
|
|
100
100
|
<h2 id="related" class="tsd-anchor-link">Related<a href="#related" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<p><strong>Definition</strong>: <a href="../../five/model/loaders/shared.d.ts">LoadResultType</a></p>
|
|
12
12
|
</blockquote>
|
|
13
13
|
<p>所有加载函数均返回 <code>Promise<LoadResultType></code>。</p>
|
|
14
|
-
<pre><code class="typescript"><span class="hl-
|
|
14
|
+
<pre><code class="typescript"><span class="hl-7">// 通用返回类型</span><br/><span class="hl-11">export</span><span class="hl-1"> </span><span class="hl-8">type</span><span class="hl-1"> </span><span class="hl-9">LoadResultType</span><span class="hl-1"><</span><span class="hl-9">Scene</span><span class="hl-1"> = </span><span class="hl-9">THREE</span><span class="hl-1">.</span><span class="hl-9">Object3D</span><span class="hl-1">> = {</span><br/><span class="hl-1"> </span><span class="hl-5">type</span><span class="hl-1">: </span><span class="hl-10">'gltf'</span><span class="hl-1"> | </span><span class="hl-10">'obj'</span><span class="hl-1"> | </span><span class="hl-10">'ply'</span><span class="hl-1"> | </span><span class="hl-10">'fbx'</span><span class="hl-1"> | </span><span class="hl-10">'pbm'</span><span class="hl-1"> | </span><span class="hl-10">'splat'</span><span class="hl-1"> | </span><span class="hl-10">'spz'</span><span class="hl-1"> | </span><span class="hl-10">'b3dm'</span><span class="hl-1"> | </span><span class="hl-10">'pnts'</span><span class="hl-1"> | </span><span class="hl-10">'at3d'</span><span class="hl-1"> | </span><span class="hl-10">'dome'</span><span class="hl-1"> | </span><span class="hl-10">'domez'</span><span class="hl-1"> | </span><span class="hl-10">'x3p'</span><span class="hl-1">; </span><span class="hl-7">// 模型类型</span><br/><span class="hl-1"> </span><span class="hl-5">modelUpAxis</span><span class="hl-1">: </span><span class="hl-10">'Y'</span><span class="hl-1"> | </span><span class="hl-10">'Z'</span><span class="hl-1">; </span><span class="hl-7">// 原始模型的上轴</span><br/><span class="hl-1"> </span><span class="hl-5">upAxis</span><span class="hl-1">: </span><span class="hl-10">'Y'</span><span class="hl-1"> | </span><span class="hl-10">'Z'</span><span class="hl-1">; </span><span class="hl-7">// 输出模型的上轴 (通常为 Z)</span><br/><span class="hl-1"> </span><span class="hl-5">byteLength</span><span class="hl-1">: </span><span class="hl-9">number</span><span class="hl-1">; </span><span class="hl-7">// 文件字节大小</span><br/><span class="hl-1"> </span><span class="hl-5">memoryUsage</span><span class="hl-1">: </span><span class="hl-9">number</span><span class="hl-1">; </span><span class="hl-7">// 显存/内存占用估算</span><br/><span class="hl-1"> </span><span class="hl-5">uri</span><span class="hl-1">: </span><span class="hl-9">string</span><span class="hl-1">; </span><span class="hl-7">// 模型地址</span><br/><span class="hl-1"> </span><span class="hl-5">scene</span><span class="hl-1">: </span><span class="hl-9">Scene</span><span class="hl-1">; </span><span class="hl-7">// Three.js 对象 (Group 或 Object3D),可直接添加到场景</span><br/><span class="hl-1"> </span><span class="hl-5">textures</span><span class="hl-1">: </span><span class="hl-9">THREE</span><span class="hl-1">.</span><span class="hl-9">Texture</span><span class="hl-1">[]; </span><span class="hl-7">// 加载的纹理列表</span><br/><span class="hl-1"> </span><span class="hl-5">animations</span><span class="hl-1">: </span><span class="hl-9">THREE</span><span class="hl-1">.</span><span class="hl-9">AnimationClip</span><span class="hl-1">[]; </span><span class="hl-7">// 动画剪辑列表</span><br/><span class="hl-1"> </span><span class="hl-5">rtcCenter</span><span class="hl-1">?: </span><span class="hl-9">THREE</span><span class="hl-1">.</span><span class="hl-9">Vector3</span><span class="hl-1">; </span><span class="hl-7">// 若存在 RTC (Relative To Center) 坐标偏移</span><br/><span class="hl-1"> </span><span class="hl-4">dispose</span><span class="hl-1">: () </span><span class="hl-8">=></span><span class="hl-1"> </span><span class="hl-9">void</span><span class="hl-1">; </span><span class="hl-7">// 销毁资源函数</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-7">// 通用配置项接口</span><br/><span class="hl-8">interface</span><span class="hl-1"> </span><span class="hl-9">BaseLoaderOptions</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">upAxis</span><span class="hl-1">?: </span><span class="hl-10">'Y'</span><span class="hl-1"> | </span><span class="hl-10">'Z'</span><span class="hl-1">; </span><span class="hl-7">// 期望输出的上轴,默认为 'Z' (Five 坐标系)</span><br/><span class="hl-1"> </span><span class="hl-5">modelUpAxis</span><span class="hl-1">?: </span><span class="hl-10">'Y'</span><span class="hl-1"> | </span><span class="hl-10">'Z'</span><span class="hl-1">; </span><span class="hl-7">// (部分加载器支持) 原始模型的上轴,用于自动旋转修正</span><br/><span class="hl-1"> </span><span class="hl-5">fetcher</span><span class="hl-1">?: </span><span class="hl-9">Fetcher</span><span class="hl-1">; </span><span class="hl-7">// 自定义网络请求 Fetcher</span><br/><span class="hl-1"> </span><span class="hl-5">light</span><span class="hl-1">?: </span><span class="hl-9">boolean</span><span class="hl-1">; </span><span class="hl-7">// 是否使用简化/无光照材质 (取决于加载器实现)</span><br/><span class="hl-1"> </span><span class="hl-4">onDownloadProgress</span><span class="hl-1">?: (</span><span class="hl-5">progress</span><span class="hl-1">: { </span><span class="hl-5">loaded</span><span class="hl-1">: </span><span class="hl-9">number</span><span class="hl-1">, </span><span class="hl-5">total</span><span class="hl-1">: </span><span class="hl-9">number</span><span class="hl-1"> }) </span><span class="hl-8">=></span><span class="hl-1"> </span><span class="hl-9">void</span><span class="hl-1">; </span><span class="hl-7">// 下载进度回调</span><br/><span class="hl-1">}</span>
|
|
15
15
|
</code><button type="button">Copy</button></pre>
|
|
16
16
|
|
|
17
17
|
<h2 id="concepts" class="tsd-anchor-link">Concepts<a href="#concepts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
@@ -535,31 +535,31 @@
|
|
|
535
535
|
</table>
|
|
536
536
|
<h2 id="examples" class="tsd-anchor-link">Examples<a href="#examples" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
537
537
|
<h3 id="基础用法:加载-gltf-模型-basic-usage" class="tsd-anchor-link">基础用法:加载 GLTF 模型 (Basic Usage)<a href="#基础用法:加载-gltf-模型-basic-usage" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
538
|
-
<pre><code class="typescript"><span class="hl-
|
|
538
|
+
<pre><code class="typescript"><span class="hl-11">import</span><span class="hl-1"> { </span><span class="hl-5">Five</span><span class="hl-1">, </span><span class="hl-5">FivePlugin</span><span class="hl-1"> } </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-10">'@realsee/five'</span><span class="hl-1">;</span><br/><span class="hl-11">import</span><span class="hl-1"> { </span><span class="hl-5">loadGltf</span><span class="hl-1"> } </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-10">'@realsee/five'</span><span class="hl-1">;</span><br/><span class="hl-11">import</span><span class="hl-1"> </span><span class="hl-8">*</span><span class="hl-1"> </span><span class="hl-11">as</span><span class="hl-1"> </span><span class="hl-5">THREE</span><span class="hl-1"> </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-10">'three'</span><span class="hl-1">;</span><br/><br/><span class="hl-8">const</span><span class="hl-1"> </span><span class="hl-6">five</span><span class="hl-1"> = </span><span class="hl-8">new</span><span class="hl-1"> </span><span class="hl-4">Five</span><span class="hl-1">({</span><span class="hl-7">/*...*/</span><span class="hl-1">});</span><br/><br/><span class="hl-7">// 加载 GLB 模型</span><br/><span class="hl-4">loadGltf</span><span class="hl-1">(</span><span class="hl-10">'https://example.com/model.glb'</span><span class="hl-1">).</span><span class="hl-4">then</span><span class="hl-1">((</span><span class="hl-5">result</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-7">// 1. 获取模型对象</span><br/><span class="hl-1"> </span><span class="hl-8">const</span><span class="hl-1"> </span><span class="hl-6">model</span><span class="hl-1"> = </span><span class="hl-5">result</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// 2. 设置位置和大小</span><br/><span class="hl-1"> </span><span class="hl-5">model</span><span class="hl-1">.</span><span class="hl-5">position</span><span class="hl-1">.</span><span class="hl-4">set</span><span class="hl-1">(</span><span class="hl-3">0</span><span class="hl-1">, </span><span class="hl-3">0</span><span class="hl-1">, </span><span class="hl-3">0</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">model</span><span class="hl-1">.</span><span class="hl-5">scale</span><span class="hl-1">.</span><span class="hl-4">set</span><span class="hl-1">(</span><span class="hl-3">1</span><span class="hl-1">, </span><span class="hl-3">1</span><span class="hl-1">, </span><span class="hl-3">1</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// 3. 添加到 Five 场景</span><br/><span class="hl-1"> </span><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">.</span><span class="hl-4">add</span><span class="hl-1">(</span><span class="hl-5">model</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// 4. (可选) 渲染一帧以确保显示</span><br/><span class="hl-1"> </span><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">needsRender</span><span class="hl-1"> = </span><span class="hl-8">true</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// 保存 result 用于后续销毁</span><br/><span class="hl-1"> </span><span class="hl-7">// result.dispose();</span><br/><span class="hl-1">}).</span><span class="hl-4">catch</span><span class="hl-1">(</span><span class="hl-5">err</span><span class="hl-1"> </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-4">error</span><span class="hl-1">(</span><span class="hl-10">'加载失败'</span><span class="hl-1">, </span><span class="hl-5">err</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
539
539
|
</code><button type="button">Copy</button></pre>
|
|
540
540
|
|
|
541
541
|
<h3 id="进阶用法:加载高斯泼溅-gaussian-splat" class="tsd-anchor-link">进阶用法:加载高斯泼溅 (Gaussian Splat)<a href="#进阶用法:加载高斯泼溅-gaussian-splat" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
542
|
-
<pre><code class="typescript"><span class="hl-
|
|
542
|
+
<pre><code class="typescript"><span class="hl-11">import</span><span class="hl-1"> { </span><span class="hl-5">loadSplat</span><span class="hl-1"> } </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-10">'@realsee/five'</span><span class="hl-1">;</span><br/><br/><span class="hl-4">loadSplat</span><span class="hl-1">(</span><span class="hl-10">'https://example.com/scene.splat'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-5">modelUpAxis:</span><span class="hl-1"> </span><span class="hl-10">'Y'</span><span class="hl-1">, </span><span class="hl-7">// 假设原始数据是 Y-up</span><br/><span class="hl-1"> </span><span class="hl-5">upAxis:</span><span class="hl-1"> </span><span class="hl-10">'Z'</span><span class="hl-1">, </span><span class="hl-7">// 转换到 Five 的 Z-up</span><br/><span class="hl-1">}).</span><span class="hl-4">then</span><span class="hl-1">((</span><span class="hl-5">result</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">const</span><span class="hl-1"> </span><span class="hl-6">splatMesh</span><span class="hl-1"> = </span><span class="hl-5">result</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">.</span><span class="hl-4">add</span><span class="hl-1">(</span><span class="hl-5">splatMesh</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">needsRender</span><span class="hl-1"> = </span><span class="hl-8">true</span><span class="hl-1">;</span><br/><span class="hl-1">});</span>
|
|
543
543
|
</code><button type="button">Copy</button></pre>
|
|
544
544
|
|
|
545
545
|
<h3 id="进阶用法:自定义-ply-属性映射-custom-ply-properties" class="tsd-anchor-link">进阶用法:自定义 PLY 属性映射 (Custom PLY Properties)<a href="#进阶用法:自定义-ply-属性映射-custom-ply-properties" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
546
|
-
<pre><code class="typescript"><span class="hl-
|
|
546
|
+
<pre><code class="typescript"><span class="hl-11">import</span><span class="hl-1"> { </span><span class="hl-5">loadPly</span><span class="hl-1"> } </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-10">'@realsee/five'</span><span class="hl-1">;</span><br/><br/><span class="hl-4">loadPly</span><span class="hl-1">(</span><span class="hl-10">'https://example.com/data.ply'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-5">type:</span><span class="hl-1"> </span><span class="hl-10">'pbmPointCloud'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">customPropertyMapping:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">intensity:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">itemType:</span><span class="hl-1"> </span><span class="hl-10">'float32'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">itemNames:</span><span class="hl-1"> [</span><span class="hl-10">'intensity'</span><span class="hl-1">],</span><br/><span class="hl-1"> </span><span class="hl-5">normalized:</span><span class="hl-1"> </span><span class="hl-8">true</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">}).</span><span class="hl-4">then</span><span class="hl-1">((</span><span class="hl-5">result</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-7">// result.scene 是一个 PBMPointCloud 对象</span><br/><span class="hl-1"> </span><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">.</span><span class="hl-4">add</span><span class="hl-1">(</span><span class="hl-5">result</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
547
547
|
</code><button type="button">Copy</button></pre>
|
|
548
548
|
|
|
549
549
|
<h3 id="基础用法:加载-obj-模型-basic-usage-obj" class="tsd-anchor-link">基础用法:加载 OBJ 模型 (Basic Usage - OBJ)<a href="#基础用法:加载-obj-模型-basic-usage-obj" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
550
|
-
<pre><code class="typescript"><span class="hl-
|
|
550
|
+
<pre><code class="typescript"><span class="hl-11">import</span><span class="hl-1"> { </span><span class="hl-5">loadObj</span><span class="hl-1"> } </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-10">'@realsee/five'</span><span class="hl-1">;</span><br/><br/><span class="hl-4">loadObj</span><span class="hl-1">(</span><span class="hl-10">'https://example.com/model.obj'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-5">modelUpAxis:</span><span class="hl-1"> </span><span class="hl-10">'Z'</span><span class="hl-1">, </span><span class="hl-7">// OBJ 默认通常是 Z-up (或根据实际情况调整)</span><br/><span class="hl-1">}).</span><span class="hl-4">then</span><span class="hl-1">((</span><span class="hl-5">result</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">.</span><span class="hl-4">add</span><span class="hl-1">(</span><span class="hl-5">result</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-7">// OBJ 文件中定义的 .mtl 材质会自动加载</span><br/><span class="hl-1">});</span>
|
|
551
551
|
</code><button type="button">Copy</button></pre>
|
|
552
552
|
|
|
553
553
|
<h3 id="基础用法:加载-fbx-模型" class="tsd-anchor-link">基础用法:加载 FBX 模型<a href="#基础用法:加载-fbx-模型" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
554
|
-
<pre><code class="typescript"><span class="hl-
|
|
554
|
+
<pre><code class="typescript"><span class="hl-11">import</span><span class="hl-1"> { </span><span class="hl-5">loadFbx</span><span class="hl-1"> } </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-10">'@realsee/five'</span><span class="hl-1">;</span><br/><br/><span class="hl-4">loadFbx</span><span class="hl-1">(</span><span class="hl-10">'https://example.com/model.fbx'</span><span class="hl-1">).</span><span class="hl-4">then</span><span class="hl-1">((</span><span class="hl-5">result</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">.</span><span class="hl-4">add</span><span class="hl-1">(</span><span class="hl-5">result</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-7">// 动画会自动解析到 result.animations</span><br/><span class="hl-1">});</span>
|
|
555
555
|
</code><button type="button">Copy</button></pre>
|
|
556
556
|
|
|
557
557
|
<h3 id="进阶用法:加载-dome-全景-panorama" class="tsd-anchor-link">进阶用法:加载 Dome 全景 (Panorama)<a href="#进阶用法:加载-dome-全景-panorama" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
558
|
-
<pre><code class="typescript"><span class="hl-
|
|
558
|
+
<pre><code class="typescript"><span class="hl-11">import</span><span class="hl-1"> { </span><span class="hl-5">loadDome</span><span class="hl-1"> } </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-10">'@realsee/five'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">// 加载 .dome 或 .domez 格式</span><br/><span class="hl-4">loadDome</span><span class="hl-1">(</span><span class="hl-10">'https://example.com/panorama.domez'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-5">light:</span><span class="hl-1"> </span><span class="hl-8">false</span><span class="hl-1">, </span><span class="hl-7">// 全景模型通常不需要光照计算</span><br/><span class="hl-1"> </span><span class="hl-5">textureOptions:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">size:</span><span class="hl-1"> </span><span class="hl-3">4096</span><span class="hl-1">, </span><span class="hl-7">// 限制最大纹理尺寸</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">}).</span><span class="hl-4">then</span><span class="hl-1">((</span><span class="hl-5">result</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">result</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">.</span><span class="hl-5">position</span><span class="hl-1">.</span><span class="hl-4">set</span><span class="hl-1">(</span><span class="hl-3">0</span><span class="hl-1">, </span><span class="hl-3">0</span><span class="hl-1">, </span><span class="hl-3">0</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">.</span><span class="hl-4">add</span><span class="hl-1">(</span><span class="hl-5">result</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
559
559
|
</code><button type="button">Copy</button></pre>
|
|
560
560
|
|
|
561
561
|
<h3 id="进阶用法:加载压缩模型-at3d" class="tsd-anchor-link">进阶用法:加载压缩模型 (AT3D)<a href="#进阶用法:加载压缩模型-at3d" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
562
|
-
<pre><code class="typescript"><span class="hl-
|
|
562
|
+
<pre><code class="typescript"><span class="hl-11">import</span><span class="hl-1"> { </span><span class="hl-5">loadAt3d</span><span class="hl-1"> } </span><span class="hl-11">from</span><span class="hl-1"> </span><span class="hl-10">'@realsee/five'</span><span class="hl-1">;</span><br/><br/><span class="hl-4">loadAt3d</span><span class="hl-1">(</span><span class="hl-10">'https://example.com/model.at3d'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-5">light:</span><span class="hl-1"> </span><span class="hl-8">false</span><span class="hl-1">,</span><br/><span class="hl-1">}).</span><span class="hl-4">then</span><span class="hl-1">((</span><span class="hl-5">result</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">.</span><span class="hl-4">add</span><span class="hl-1">(</span><span class="hl-5">result</span><span class="hl-1">.</span><span class="hl-5">scene</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
563
563
|
</code><button type="button">Copy</button></pre>
|
|
564
564
|
|
|
565
565
|
<h2 id="debugging" class="tsd-anchor-link">Debugging<a href="#debugging" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
@@ -61,33 +61,33 @@
|
|
|
61
61
|
<h2 id="examples" class="tsd-anchor-link">Examples<a href="#examples" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
62
62
|
<h3 id="1-model-loading-模型加载" class="tsd-anchor-link">1. Model Loading (模型加载)<a href="#1-model-loading-模型加载" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
63
63
|
<h4 id="检查当前状态-state-checking" class="tsd-anchor-link">检查当前状态 (State Checking)<a href="#检查当前状态-state-checking" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
64
|
-
<pre><code class="ts"><span class="hl-
|
|
64
|
+
<pre><code class="ts"><span class="hl-11">if</span><span class="hl-1"> (</span><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">model</span><span class="hl-1">.</span><span class="hl-5">loaded</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-10">"Model is ready (basic data loaded)!"</span><span class="hl-1">);</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-11">if</span><span class="hl-1"> (</span><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">model</span><span class="hl-1">.</span><span class="hl-5">refined</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-10">"Model is fully refined (high-res data loaded)!"</span><span class="hl-1">);</span><br/><span class="hl-1">}</span>
|
|
65
65
|
</code><button type="button">Copy</button></pre>
|
|
66
66
|
|
|
67
67
|
<h4 id="监控细化进度-refine-progress" class="tsd-anchor-link">监控细化进度 (Refine Progress)<a href="#监控细化进度-refine-progress" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
68
68
|
<p><code>five.model.refineProgress</code> 提供了当前视图下模型细化的整体进度。</p>
|
|
69
|
-
<pre><code class="ts"><span class="hl-
|
|
69
|
+
<pre><code class="ts"><span class="hl-8">const</span><span class="hl-1"> [</span><span class="hl-6">current</span><span class="hl-1">, </span><span class="hl-6">total</span><span class="hl-1">] = </span><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">model</span><span class="hl-1">.</span><span class="hl-5">refineProgress</span><span class="hl-1">;</span><br/><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-10">`Model Refine Progress: </span><span class="hl-8">${</span><span class="hl-5">current</span><span class="hl-8">}</span><span class="hl-10"> / </span><span class="hl-8">${</span><span class="hl-5">total</span><span class="hl-8">}</span><span class="hl-10">`</span><span class="hl-1">);</span><br/><br/><span class="hl-11">if</span><span class="hl-1"> (</span><span class="hl-5">current</span><span class="hl-1"> === </span><span class="hl-5">total</span><span class="hl-1"> && </span><span class="hl-5">total</span><span class="hl-1"> > </span><span class="hl-3">0</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-10">"Model is fully refined for current view."</span><span class="hl-1">);</span><br/><span class="hl-1">}</span>
|
|
70
70
|
</code><button type="button">Copy</button></pre>
|
|
71
71
|
|
|
72
72
|
<h4 id="监听加载完成事件" class="tsd-anchor-link">监听加载完成事件<a href="#监听加载完成事件" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
73
|
-
<pre><code class="ts"><span class="hl-
|
|
73
|
+
<pre><code class="ts"><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-4">on</span><span class="hl-1">(</span><span class="hl-10">"modelLoaded"</span><span class="hl-1">, () </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-10">"Model has been loaded."</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
74
74
|
</code><button type="button">Copy</button></pre>
|
|
75
75
|
|
|
76
76
|
<h4 id="advanced-tile-级别进度" class="tsd-anchor-link">(Advanced) Tile 级别进度<a href="#advanced-tile-级别进度" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
77
77
|
<p>对于 <code>3dtiles</code> 类型的模型,你可以访问具体的 Tile 对象来查看进度。</p>
|
|
78
|
-
<pre><code class="ts"><span class="hl-
|
|
78
|
+
<pre><code class="ts"><span class="hl-7">// 仅示例,通常在调试或特定渲染逻辑中使用</span><br/><span class="hl-8">const</span><span class="hl-1"> </span><span class="hl-6">progress</span><span class="hl-1"> = </span><span class="hl-5">tile</span><span class="hl-1">.</span><span class="hl-5">content</span><span class="hl-1">.</span><span class="hl-5">loadProgress</span><span class="hl-1">; </span><span class="hl-7">// [0, 1]</span>
|
|
79
79
|
</code><button type="button">Copy</button></pre>
|
|
80
80
|
|
|
81
81
|
<h4 id="tile-lifecycle-monitoring-tile-生命周期监控" class="tsd-anchor-link">Tile Lifecycle Monitoring (Tile 生命周期监控)<a href="#tile-lifecycle-monitoring-tile-生命周期监控" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
82
82
|
<p>监控单个 Tile 的加载与卸载事件,用于更精细的调试或资源统计。</p>
|
|
83
|
-
<pre><code class="ts"><span class="hl-
|
|
83
|
+
<pre><code class="ts"><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-4">on</span><span class="hl-1">(</span><span class="hl-10">"model.tileLoad"</span><span class="hl-1">, (</span><span class="hl-5">tile</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-10">`Tile loaded: </span><span class="hl-8">${</span><span class="hl-5">tile</span><span class="hl-12">.</span><span class="hl-5">debugLabel</span><span class="hl-8">}</span><span class="hl-10">, Size: </span><span class="hl-8">${</span><span class="hl-5">tile</span><span class="hl-12">.</span><span class="hl-5">content</span><span class="hl-12">.</span><span class="hl-5">byteLength</span><span class="hl-8">}</span><span class="hl-10">`</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-4">on</span><span class="hl-1">(</span><span class="hl-10">"model.tileUnload"</span><span class="hl-1">, (</span><span class="hl-5">tile</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-10">`Tile unloaded: </span><span class="hl-8">${</span><span class="hl-5">tile</span><span class="hl-12">.</span><span class="hl-5">debugLabel</span><span class="hl-8">}</span><span class="hl-10">`</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
84
84
|
</code><button type="button">Copy</button></pre>
|
|
85
85
|
|
|
86
86
|
<h3 id="2-panorama-loading-全景图加载" class="tsd-anchor-link">2. Panorama Loading (全景图加载)<a href="#2-panorama-loading-全景图加载" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
87
87
|
<p>全景图通常在用户移动到某个点位时按需加载。</p>
|
|
88
88
|
<h4 id="监听加载进度" class="tsd-anchor-link">监听加载进度<a href="#监听加载进度" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
89
89
|
<p>使用 <code>pano.texture.progress</code> 事件获取当前全景图的加载进度。</p>
|
|
90
|
-
<pre><code class="ts"><span class="hl-
|
|
90
|
+
<pre><code class="ts"><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-4">on</span><span class="hl-1">(</span><span class="hl-10">"pano.texture.progress"</span><span class="hl-1">, (</span><span class="hl-5">event</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">const</span><span class="hl-1"> { </span><span class="hl-6">progress</span><span class="hl-1">, </span><span class="hl-6">pano</span><span class="hl-1"> } = </span><span class="hl-5">event</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-10">`Pano </span><span class="hl-8">${</span><span class="hl-5">pano</span><span class="hl-12">.</span><span class="hl-5">panoIndex</span><span class="hl-8">}</span><span class="hl-10"> loading: </span><span class="hl-8">${</span><span class="hl-12">(</span><span class="hl-5">progress</span><span class="hl-12"> </span><span class="hl-1">*</span><span class="hl-12"> </span><span class="hl-3">100</span><span class="hl-12">).</span><span class="hl-4">toFixed</span><span class="hl-12">(</span><span class="hl-3">1</span><span class="hl-12">)</span><span class="hl-8">}</span><span class="hl-10">%`</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
91
91
|
</code><button type="button">Copy</button></pre>
|
|
92
92
|
|
|
93
93
|
<h4 id="生命周期事件" class="tsd-anchor-link">生命周期事件<a href="#生命周期事件" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
<li><strong><code>pano.texture.success</code></strong>: 加载完成。</li>
|
|
97
97
|
<li><strong><code>pano.texture.error</code></strong>: 加载失败。</li>
|
|
98
98
|
</ul>
|
|
99
|
-
<pre><code class="ts"><span class="hl-
|
|
99
|
+
<pre><code class="ts"><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-4">on</span><span class="hl-1">(</span><span class="hl-10">"pano.texture.load"</span><span class="hl-1">, (</span><span class="hl-5">event</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-10">`Started loading pano </span><span class="hl-8">${</span><span class="hl-5">event</span><span class="hl-12">.</span><span class="hl-5">pano</span><span class="hl-12">.</span><span class="hl-5">panoIndex</span><span class="hl-8">}</span><span class="hl-10">`</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-4">on</span><span class="hl-1">(</span><span class="hl-10">"pano.texture.success"</span><span class="hl-1">, (</span><span class="hl-5">event</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-10">`Finished loading pano </span><span class="hl-8">${</span><span class="hl-5">event</span><span class="hl-12">.</span><span class="hl-5">pano</span><span class="hl-12">.</span><span class="hl-5">panoIndex</span><span class="hl-8">}</span><span class="hl-10">`</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-4">on</span><span class="hl-1">(</span><span class="hl-10">"pano.texture.error"</span><span class="hl-1">, (</span><span class="hl-5">event</span><span class="hl-1">) </span><span class="hl-8">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-4">error</span><span class="hl-1">(</span><span class="hl-10">`Failed to load pano </span><span class="hl-8">${</span><span class="hl-5">event</span><span class="hl-12">.</span><span class="hl-5">pano</span><span class="hl-12">.</span><span class="hl-5">panoIndex</span><span class="hl-8">}</span><span class="hl-10">`</span><span class="hl-1">, </span><span class="hl-5">event</span><span class="hl-1">.</span><span class="hl-5">error</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
100
100
|
</code><button type="button">Copy</button></pre>
|
|
101
101
|
|
|
102
102
|
<h2 id="related" class="tsd-anchor-link">Related<a href="#related" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<p><strong>Definition</strong>: <a href="../../five/model/parameter.d.ts">ParameterMaterialValue</a></p>
|
|
12
12
|
</blockquote>
|
|
13
13
|
<p>以下是 <code>ParameterMaterialValue</code> 的 TypeScript 定义摘要:</p>
|
|
14
|
-
<pre><code class="typescript"><span class="hl-
|
|
14
|
+
<pre><code class="typescript"><span class="hl-11">export</span><span class="hl-1"> </span><span class="hl-8">interface</span><span class="hl-1"> </span><span class="hl-9">ParameterMaterialValue</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-7">/** 模型整体透明度 [0, 1] */</span><br/><span class="hl-1"> </span><span class="hl-5">opacity</span><span class="hl-1">: </span><span class="hl-9">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-7">/** 点云基础缩放比例 */</span><br/><span class="hl-1"> </span><span class="hl-5">pointScale</span><span class="hl-1">: </span><span class="hl-9">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-7">/** 点云大小绘制方式 ('ATTENUATION' | 'FIXED') */</span><br/><span class="hl-1"> </span><span class="hl-5">pointSize</span><span class="hl-1">: </span><span class="hl-9">PBMPointSize</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-7">/** 楼层显示样式 ('OPACITY' | 'VISIBILITY') */</span><br/><span class="hl-1"> </span><span class="hl-5">floorStyle</span><span class="hl-1">: </span><span class="hl-9">PBMFloorStyle</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-7">// ... 更多字段见下方配置表</span><br/><span class="hl-1">}</span>
|
|
15
15
|
</code><button type="button">Copy</button></pre>
|
|
16
16
|
|
|
17
17
|
<h2 id="concepts" class="tsd-anchor-link">Concepts<a href="#concepts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
@@ -321,11 +321,11 @@
|
|
|
321
321
|
</table>
|
|
322
322
|
<h2 id="examples" class="tsd-anchor-link">Examples<a href="#examples" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
323
323
|
<h3 id="1-adjusting-model-transparency-and-style-调整模型透明度与样式" class="tsd-anchor-link">1. Adjusting Model Transparency and Style (调整模型透明度与样式)<a href="#1-adjusting-model-transparency-and-style-调整模型透明度与样式" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
324
|
-
<pre><code class="typescript"><span class="hl-
|
|
324
|
+
<pre><code class="typescript"><span class="hl-7">// 设置半透明</span><br/><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">modelScene</span><span class="hl-1">.</span><span class="hl-5">parameter</span><span class="hl-1">.</span><span class="hl-4">set</span><span class="hl-1">(</span><span class="hl-10">'opacity'</span><span class="hl-1">, </span><span class="hl-3">0.5</span><span class="hl-1">);</span><br/><br/><span class="hl-7">// 仅显示原始 UV 贴图</span><br/><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">modelScene</span><span class="hl-1">.</span><span class="hl-5">parameter</span><span class="hl-1">.</span><span class="hl-4">set</span><span class="hl-1">(</span><span class="hl-10">'modelAlpha'</span><span class="hl-1">, </span><span class="hl-3">0.0</span><span class="hl-1">);</span><br/><br/><span class="hl-7">// 设置楼层样式</span><br/><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">modelScene</span><span class="hl-1">.</span><span class="hl-5">parameter</span><span class="hl-1">.</span><span class="hl-4">set</span><span class="hl-1">(</span><span class="hl-10">'floorStyle'</span><span class="hl-1">, </span><span class="hl-10">'wireframe'</span><span class="hl-1">);</span>
|
|
325
325
|
</code><button type="button">Copy</button></pre>
|
|
326
326
|
|
|
327
327
|
<h3 id="2-configuring-point-cloud-appearance-配置点云外观" class="tsd-anchor-link">2. Configuring Point Cloud Appearance (配置点云外观)<a href="#2-configuring-point-cloud-appearance-配置点云外观" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
328
|
-
<pre><code class="typescript"><span class="hl-
|
|
328
|
+
<pre><code class="typescript"><span class="hl-7">// 大小随距离衰减</span><br/><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">modelScene</span><span class="hl-1">.</span><span class="hl-5">parameter</span><span class="hl-1">.</span><span class="hl-4">set</span><span class="hl-1">(</span><span class="hl-10">'pointSize'</span><span class="hl-1">, </span><span class="hl-10">'ATTENUATION'</span><span class="hl-1">);</span><br/><br/><span class="hl-7">// 基础大小</span><br/><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">modelScene</span><span class="hl-1">.</span><span class="hl-5">parameter</span><span class="hl-1">.</span><span class="hl-4">set</span><span class="hl-1">(</span><span class="hl-10">'pointScale'</span><span class="hl-1">, </span><span class="hl-3">0.05</span><span class="hl-1">);</span><br/><br/><span class="hl-7">// 最大像素限制</span><br/><span class="hl-5">five</span><span class="hl-1">.</span><span class="hl-5">modelScene</span><span class="hl-1">.</span><span class="hl-5">parameter</span><span class="hl-1">.</span><span class="hl-4">set</span><span class="hl-1">(</span><span class="hl-10">'pointMaxPixel'</span><span class="hl-1">, </span><span class="hl-3">20</span><span class="hl-1">);</span>
|
|
329
329
|
</code><button type="button">Copy</button></pre>
|
|
330
330
|
|
|
331
331
|
<h2 id="related" class="tsd-anchor-link">Related<a href="#related" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|