UNPKG

@realsee/five

Version:

Realsee Renderer SDK

154 lines (124 loc) • 10.7 kB
# Five SDK Documentation [![npm version](https://img.shields.io/npm/v/@realsee/five.svg?style=flat-square&logo=npm&label=npm%20install%20@realsee/five)](https://www.npmjs.com/package/@realsee/five) - **Summary**: Five SDK 的文档索引与阅读指南,旨在帮助开发者与 AI 助手快速定位所需信息。 - **Audience**: 开发者、AI 辅助编程工具。 ## Context for AI Agents **Five** 是贝壳如视 (Realsee) 提供的三维空间渲染 SDK。 ### 1. Documentation Maintenance (文档维护) > [!IMPORTANT] > Before writing or updating any documentation, YOU MUST READ [AI Documentation Guidelines](./ai-doc-guidelines.md). > 在书写文档时,务必遵循 [AI Documentation Guidelines](./ai-doc-guidelines.md) 中的规范。 ### 2. Application Development Strategy (应用开发建议) 当协助用户编写代码或构建 Five 应用时,请遵循以下阅读与检索策略: * **Initialization (初始化)**: * 阅读 [Quick Start](./quick-start.md) 掌握最小化启动流程。 * 查阅 [Parameter](./features/parameter.md) 获取 `new Five(config)` 的完整配置项(如 canvas 尺寸、资源路径、纹理压缩设置)。 * **Data Handling (数据加载)**: * 核心 VR 数据:深入理解 [Work](./features/work.md) 结构,它是 Five 渲染的基础。 * 外部模型:参考 [Load External Model](./features/load-external-model.md) 加载 GLTF/OBJ 等格式。 * 多场景/沙盘:参考 [Multi-Work (Sandbox)](./features/multi-work.md) 处理复杂场景切换。 * **Interaction & Logic (交互逻辑)**: * 事件监听:查阅 [Event](./features/event.md) 处理用户点击 (Tap)、手势 (Gesture) 及状态变更 (StateChange)。 * 空间操作:使用 [Raycast](./features/raycast.md) 实现物体拾取,使用 [Screen & Space Projection](./features/screen-project.md) 实现 3D 标签挂载。 * 动画控制:参考 [Camera Animation](./features/camera-animation.md) 和 [Move Pano Effect](./features/move-pano-effect.md) 实现平滑运镜。 * **State Management (状态管理)**: * 保存/恢复场景:**必须** 深刻理解 [State](./features/state.md)。它是 Five 的核心快照机制,包含 Pose、Mode 和 PanoIndex。不要尝试手动管理零散的相机参数,应统一使用 State。 * **Coding Standards (代码规范)**: * 优先使用 TypeScript 类型提示。 * 确保从 `@realsee/five` 导入核心类与类型 (e.g., `import { Five, Mode, Work, State } from "@realsee/five"`). ### 3. General Retrieval (通用检索) * **API Signatures**: [API Reference](./api.md) 是最权威的接口定义来源,包含方法的参数与返回值。 * **Terminology**: 遇到不确定的术语 (e.g., Pose vs State, Observer) 时,务必查阅 [Glossary](./glossary.md)。 * **Core Relationships**: 理解 [Five](./features/five.md) (渲染器) 与 [Work](./features/work.md) (数据) 的分离设计。 ## Documentation Map ### 1. Essential Reference (必读/速查) 最常用的入口文档。 * [Intro](./intro.md): Five SDK 简介与能力概览。 * [Quick Start](./quick-start.md): 快速集成指南。 * [API Reference](./api.md): **核心 API 索引** (Five 类, State, Events, Methods)。 * [Glossary](./glossary.md): **术语表** (Work, Observer, Pose, etc.)。 ### 2. Core Concepts (核心概念) 基础架构与生命周期管理。 * [Five](./features/five.md): 核心类 `Five`,管理渲染循环与全局状态。 * [Work](./features/work.md): 数据载体,描述三维空间的数据结构 (VR 看房数据)。 * [Panorama UV](./features/pano-uv.md): 全景图 UV 与空间方向转换工具。 * [Mode](./features/mode.md): 五种核心浏览模式 (Panorama, Floorplan, Topview, Model, Map)。 * [State](./features/state.md): 状态管理 (Pose, Mode, PanoIndex),用于复原场景。 * [Coordinate System](./features/coordinate-system.md): 坐标系定义 (右手坐标系, Y轴向上)。 ### 3. Data & Resource (数据与资源) 数据加载与资源管理配置。 * [Load External Model](./features/load-external-model.md): 加载外部 3D 模型 (GLTF, OBJ 等)。 * [Load Progress](./features/load-progress.md): 监控模型与全景图的加载进度 (Loaded/Refined)。 * [Multi-Work (Sandbox)](./features/multi-work.md): 多 Work 加载与沙盘场景管理。 * [Request Proxy](./features/request-proxy.md): 请求拦截与代理 (CDN 替换、鉴权)。 * [Image Options](./features/image-options.md): 图片资源配置 (CDN, 格式, 尺寸)。 ### 4. Rendering & Visuals (渲染与视觉) 画面表现与渲染管线配置。 * [Pano Tile](./features/pano-tile.md): 全景瓦片渲染机制(高分辨率分片加载)。 * [Model](./features/model.md): 内置模型渲染 (Mesh/Geometry)。 * [Postprocessing](./features/postprocessing.md): 后处理效果 (Pass, EffectComposer)。 * [Flowing Light 2D Pass](./features/flowing-light-2d-pass.md): 屏幕空间流光特效(InstancedMesh 优化)。 * [Flowing Light 3D Pass](./features/flowing-light-3d-pass.md): 3D 世界坐标流光特效(InstancedMesh 优化)。 * [Flowing Fireworks 3D Pass](./features/flowing-fireworks-3d-pass.md): 流光尾部喷射的烟花粒子特效(GPU 粒子)。 * [Gaussian Blur Pass](./features/gaussian-blur-pass.md): 高斯模糊特效。 * [Material](./features/material.md): 材质参数配置 (透明度、点云大小、顶点标记)。 * [Pano Filter](./features/pano-filter.md): 全景图滤镜 (亮度、对比度、色温调节)。 * [Get Screen Pixels](./features/get-screen-pixels.md): 获取屏幕像素 (放大镜/截图)。 * [Move Pano Effect](./features/move-pano-effect.md): 全景点位切换的过渡效果。 * [Clipper](./features/clipper.md): 模型裁切功能 (房屋剖面)。 * [3D Tile](./features/3dtile.md): 大场景 3D Tile 渲染策略。 ### 5. Interaction & Control (交互与控制) 用户输入与相机控制。 * [Event](./features/event.md): 事件系统 (Tap, Gesture, StateChange)。 * [Gesture](./features/gesture.md): 手势交互详解。 * [Screen & Space Projection](./features/screen-project.md): 屏幕坐标与空间坐标转换 (标签/射线)。 * [Raycast](./features/raycast.md): 射线检测 (点击拾取物体)。 * [Camera Animation](./features/camera-animation.md): 相机动画控制 API。 ### 6. Advanced & Extensions (进阶与扩展) 复杂配置与功能扩展。 * [Plugin](./features/plugin.md): 插件开发指南。 * [ViewLayer](./features/view-layer.md): 视图层。 * [Parameter](./features/parameter.md): Five 初始化详细参数配置。 ### 7. Meta & Support (其他) * [Support](./support.md): 浏览器兼容性。 * [AI Documentation Guidelines](./ai-doc-guidelines.md): AI 文档编写与维护规范 (必读)。 * Release Notes: 版本更新记录。 * [6.8](./release_notes/6.8.md) * [6.7](./release_notes/6.7.md) * [6.6](./release_notes/6.6.md) ## Common Scenarios (场景 → 文档速查) > **Keyword Search Tip:** Each doc in `features/` has a `tags` yaml block at the bottom with Chinese and English keywords. Use these for keyword matching when the scenario table below doesn't cover your need. | Scenario | Docs | Tags | | :--- | :--- | :--- | | 点击拾取物体 / Object picking | [Raycast](./features/raycast.md) | click, hit-test, floor-detection, 碰撞检测, 物体选择 | | 3D 标签 / HTML overlay on 3D point | [Screen Project](./features/screen-project.md) | label, HUD, tooltip, 坐标转换, 3D转2D | | 全景滤镜 / 色温调节 / Color correction | [Pano Filter](./features/pano-filter.md) | warm, cool, brightness, contrast, saturation, 暖色, 冷色, 饱和度 | | 加载外部 GLTF/OBJ/FBX 模型 | [Load External Model](./features/load-external-model.md) | gltf, glb, ply, splat, fbx, draco, point-cloud, dispose | | 相机巡航 / 自动导览 / Camera fly-through | [Camera Animation](./features/camera-animation.md) | rotate, zoom, auto-tour, 运镜, 旋转, 缩放 | | 截图 / 放大镜 / Screen capture | [Get Screen Pixels](./features/get-screen-pixels.md) | magnifier, screenshot, color-picker, 取色器 | | 模型裁切 / 房屋剖面 | [Clipper](./features/clipper.md) | clipping-box, section-view, discard, 开盖, 剖面 | | 流光特效 / Flowing light effect | [Flowing Light 2D](./features/flowing-light-2d-pass.md), [Flowing Light 3D](./features/flowing-light-3d-pass.md) | 光带, 导航路径, 动态路径, instanced | | 烟花 / 火花 / 流光拖尾粒子 / Fireworks sparks | [Flowing Fireworks 3D](./features/flowing-fireworks-3d-pass.md) | 烟花, 火花, 粒子, 发散, 爆裂, fireworks, particle, sparks | | 模糊特效 / Blur effect | [Gaussian Blur Pass](./features/gaussian-blur-pass.md) | 毛玻璃, 背景虚化, gaussian | | 保存/恢复场景状态 | [State](./features/state.md) | snapshot, save, restore, 快照, 场景还原 | | 多场景切换 / 沙盘 | [Multi-Work](./features/multi-work.md) | sandbox, 多户型, 拼接, workCode | | 请求鉴权 / CDN 替换 | [Request Proxy](./features/request-proxy.md) | authentication, token, url-rewrite, cors, 私有化 | | 插件开发 | [Plugin](./features/plugin.md) | lifecycle, extension, baseplugin, 状态管理 | | 事件监听 / 拦截默认行为 | [Event](./features/event.md) | preventDefault, waitUntil, on, off, gesture, 回调 | | 手势交互 / 自定义拖拽 | [Gesture](./features/gesture.md) | tap, pan, pinch, press, 触摸, 鼠标 | | 后处理特效 / 自定义 Shader | [Postprocessing](./features/postprocessing.md) | effect-composer, addPass, edl, 描边, 景深 | | 材质 / 透明度 / 点云样式 | [Material](./features/material.md) | opacity, pointcloud, roof, ceiling, 天花板, 顶点标记 | | 模式切换 / 全景↔模型↔户型图 | [Mode](./features/mode.md) | panorama, floorplan, mapview, topview, VR | | 全景高清瓦片 / 分片加载 | [Pano Tile](./features/pano-tile.md) | LOD, tile, 按需加载, 高清全景 | | 图片 CDN / 私有化部署 | [Image Options](./features/image-options.md) | avif, webp, cdn, private-deployment | | 加载进度 / 首屏优化 | [Load Progress](./features/load-progress.md) | refined, loaded, loading-bar, 首屏 | ## Terminology Summary * **Work**: 包含全景图、模型、户型数据的 JSON 对象。 * **Observer**: 观察点,通常对应一个全景拍摄点位。 * **PanoIndex**: 全景点位的索引下标。 * **Pose**: 相机位姿 (Longitude, Latitude, Fov)。 * **Mode**: 浏览模式 (Panorama, Model, etc.)。 --- ```yaml tags: [index, readme, guide, map] ```