@realsee/five 6.8.0-alpha.7 → 6.8.0-alpha.8
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/README.md +2 -1
- package/ai_guides/api.md +10 -0
- package/ai_guides/features/load-external-model.md +4 -1
- package/ai_guides/features/pano-uv.md +131 -0
- package/ai_guides/release_notes/6.8.md +24 -15
- package/docs/assets/hierarchy.js +1 -1
- 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 +1 -1
- package/docs/classes/five.FivePass.html +1 -1
- package/docs/classes/five.InternalWebGLRenderer.html +1 -1
- package/docs/classes/five.Model.html +1 -1
- package/docs/classes/five.ModelScene.html +1 -1
- package/docs/classes/five.NetworkSubscribe.html +1 -1
- package/docs/classes/five.PBMContainer.html +1 -1
- package/docs/classes/five.PBMGSObject.html +1 -1
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMesh.html +1 -1
- package/docs/classes/five.PBMMeshMaterial.html +15 -6
- 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.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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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.RoundedBoxGeometry.html +1 -1
- package/docs/classes/sticker.Sticker.html +1 -1
- 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/README.html +2 -1
- package/docs/documents/api.html +1 -1
- package/docs/documents/{features_coordnate-system.html → features_coordinate-system.html} +1 -1
- package/docs/documents/features_load-external-model.html +4 -1
- package/docs/documents/features_pano-uv.html +82 -0
- package/docs/documents/release_notes_6.8.html +29 -18
- package/docs/functions/five.loadGltf.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +2 -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.EventCallback.html +1 -1
- 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.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.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 +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.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.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.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 +1 -1
- package/docs/modules.html +1 -1
- package/docs/types/five.ParseOptions.html +1 -1
- package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
- package/five/index.js +44 -44
- package/five/index.mjs +2543 -2401
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_clearcoat.d.ts +6 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_emissive_strength.d.ts +6 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_sheen.d.ts +6 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_transmission.d.ts +6 -0
- package/five/model/loaders/glTF-helpers/glTF.d.ts +20 -1
- package/five/model/loaders/glTF-helpers/index.d.ts +8 -0
- package/five/model/loaders/gltf.d.ts +1 -0
- package/five/model/materials/pbmMeshMaterial.d.ts +9 -0
- 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/llms.txt +2 -1
- package/package.json +1 -1
- 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 +44 -44
- 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/ai_guides/features/{coordnate-system.md → coordinate-system.md} +0 -0
package/ai_guides/README.md
CHANGED
|
@@ -54,9 +54,10 @@
|
|
|
54
54
|
|
|
55
55
|
* [Five](./features/five.md): 核心类 `Five`,管理渲染循环与全局状态。
|
|
56
56
|
* [Work](./features/work.md): 数据载体,描述三维空间的数据结构 (VR 看房数据)。
|
|
57
|
+
* [Panorama UV](./features/pano-uv.md): 全景图 UV 与空间方向转换工具。
|
|
57
58
|
* [Mode](./features/mode.md): 五种核心浏览模式 (Panorama, Floorplan, Topview, Model, Map)。
|
|
58
59
|
* [State](./features/state.md): 状态管理 (Pose, Mode, PanoIndex),用于复原场景。
|
|
59
|
-
* [Coordinate System](./features/
|
|
60
|
+
* [Coordinate System](./features/coordinate-system.md): 坐标系定义 (右手坐标系, Y轴向上)。
|
|
60
61
|
|
|
61
62
|
### 3. Data & Resource (数据与资源)
|
|
62
63
|
数据加载与资源管理配置。
|
package/ai_guides/api.md
CHANGED
|
@@ -197,6 +197,16 @@ interface WorkObserver {
|
|
|
197
197
|
accessibleNodes: number[]; // Indices of reachable points
|
|
198
198
|
images: WorkImage; // Panorama image URLs
|
|
199
199
|
active: boolean; // Whether the point is enabled
|
|
200
|
+
|
|
201
|
+
// Coordinate Methods
|
|
202
|
+
getWorldPosition(): THREE.Vector3;
|
|
203
|
+
getWorldStandingPosition(): THREE.Vector3;
|
|
204
|
+
|
|
205
|
+
// UV Conversion Methods
|
|
206
|
+
vectorToEquirectangularUv(vector: THREE.Vector3, uvOrigin?: 'top-left' | 'bottom-left'): THREE.Vector2;
|
|
207
|
+
equirectangularUvToVector(uv: THREE.Vector2, uvOrigin?: 'top-left' | 'bottom-left'): THREE.Vector3;
|
|
208
|
+
vectorToCubemapUv(vector: THREE.Vector3, uvOrigin?: 'top-left' | 'bottom-left'): [CubeFace, THREE.Vector2];
|
|
209
|
+
cubemapUvToVector(cubeFace: CubeFace, uv: THREE.Vector2, uvOrigin?: 'top-left' | 'bottom-left'): THREE.Vector3;
|
|
200
210
|
}
|
|
201
211
|
```
|
|
202
212
|
|
|
@@ -71,10 +71,13 @@ Five 使用 **Z-up** (Z 轴向上) 的右手坐标系。
|
|
|
71
71
|
* `KHR_node_visibility`
|
|
72
72
|
* `KHR_animation_pointer`
|
|
73
73
|
* `EXT_meshopt_compression`
|
|
74
|
+
* `KHR_materials_clearcoat`
|
|
75
|
+
* `KHR_materials_sheen`
|
|
76
|
+
* `KHR_materials_transmission`
|
|
77
|
+
* `KHR_materials_emissive_strength`
|
|
74
78
|
* `EXT_texture_webp`
|
|
75
79
|
* `CESIUM_RTC`
|
|
76
80
|
* `REALSEE_materials_lightmap`
|
|
77
|
-
* `PBM_mesh`
|
|
78
81
|
* `KHR_gaussian_splatting_compression_spz`
|
|
79
82
|
|
|
80
83
|
| 参数 | 类型 | 默认值 | 说明 |
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# 全景图 UV 与方向转换 (Panorama UV Conversion)
|
|
2
|
+
|
|
3
|
+
- **Summary**: 提供了一组工具方法,用于在**全景图 UV 坐标** (Equirectangular UV / Cubemap UV) 与**三维空间方向向量** (Vector3) 之间进行转换。
|
|
4
|
+
- **Schema**: 依赖 `WorkObserver` 实例,提供四个核心转换方法。
|
|
5
|
+
- **Concepts**: Equirectangular Projection, Cubemap Projection, UV Origin, Coordinate Systems.
|
|
6
|
+
- **Configuration**: `uvOrigin` (UV 原点设置).
|
|
7
|
+
- **Examples**: 向量转全景 UV、UV 转向量、Cubemap 转换。
|
|
8
|
+
|
|
9
|
+
## Schema
|
|
10
|
+
|
|
11
|
+
> **Definition**: [WorkObserver](../../five/work/work.d.ts)
|
|
12
|
+
|
|
13
|
+
这些方法挂载在 `WorkObserver` 实例上,依赖当前观察点 (Observer) 的位姿信息 (Position & Quaternion) 以及 `work.transform` 进行计算。
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
interface WorkObserver {
|
|
17
|
+
/**
|
|
18
|
+
* 将方向向量转化为全景图 uv
|
|
19
|
+
* @param vector - 全局方向向量 (World Space)
|
|
20
|
+
* @param uvOrigin - UV 原点位置,默认为 'top-left'
|
|
21
|
+
*/
|
|
22
|
+
vectorToEquirectangularUv(vector: THREE.Vector3, uvOrigin?: 'top-left' | 'bottom-left'): THREE.Vector2;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* 将全景图 uv 转化为方向向量
|
|
26
|
+
* @param uv - 全景图 UV 坐标 [0, 1]
|
|
27
|
+
* @param uvOrigin - UV 原点位置,默认为 'top-left'
|
|
28
|
+
*/
|
|
29
|
+
equirectangularUvToVector(uv: THREE.Vector2, uvOrigin?: 'top-left' | 'bottom-left'): THREE.Vector3;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 将方向向量转化为六视图 uv
|
|
33
|
+
* @param vector - 全局方向向量 (World Space)
|
|
34
|
+
* @param uvOrigin - UV 原点位置,默认为 'top-left'
|
|
35
|
+
*/
|
|
36
|
+
vectorToCubemapUv(vector: THREE.Vector3, uvOrigin?: 'top-left' | 'bottom-left'): [cubeFace: CubeFace, cubemapUv: THREE.Vector2];
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* 将六视图 uv 转化为方向向量
|
|
40
|
+
* @param cubeFace - 立方体面 ('up' | 'down' | 'left' | 'right' | 'front' | 'back')
|
|
41
|
+
* @param uv - 该面上的 UV 坐标 [0, 1]
|
|
42
|
+
* @param uvOrigin - UV 原点位置,默认为 'top-left'
|
|
43
|
+
*/
|
|
44
|
+
cubemapUvToVector(cubeFace: CubeFace, uv: THREE.Vector2, uvOrigin?: 'top-left' | 'bottom-left'): THREE.Vector3;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
type CubeFace = 'up' | 'down' | 'left' | 'right' | 'front' | 'back';
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Concepts
|
|
51
|
+
|
|
52
|
+
### 1. 坐标系转换 (Coordinate Transformation)
|
|
53
|
+
转换过程会自动处理以下坐标空间的变换:
|
|
54
|
+
1. **World Space (世界坐标系)**: `vector` 参数所处的坐标系。
|
|
55
|
+
2. **Work Space (Work 坐标系)**: 考虑 `work.transform` 带来的整体旋转。
|
|
56
|
+
3. **Observer Space (观察者坐标系)**: 考虑 `observer.quaternion` 带来的观察点旋转。
|
|
57
|
+
4. **Panorama Space (全景图空间)**: 最终映射到 2D 图片上的 UV 坐标。
|
|
58
|
+
|
|
59
|
+
### 2. 投影方式 (Projection Types)
|
|
60
|
+
* **Equirectangular (等距柱状投影)**: 将球体展开为 2:1 的矩形图片。常用于全景图预览。
|
|
61
|
+
* **Cubemap (立方体贴图)**: 将球体投影到立方体的六个面上。常用于高清全景浏览。
|
|
62
|
+
|
|
63
|
+
### 3. UV 原点 (UV Origin)
|
|
64
|
+
* **top-left (默认)**: 原点 `(0, 0)` 在图片**左上角**。U 轴向右,V 轴向下。符合大多数 Web 图片处理习惯 (Canvas, DOM)。
|
|
65
|
+
* **bottom-left**: 原点 `(0, 0)` 在图片**左下角**。U 轴向右,V 轴向上。符合 WebGL / OpenGL 纹理坐标习惯。
|
|
66
|
+
|
|
67
|
+
## Configuration
|
|
68
|
+
|
|
69
|
+
所有方法均包含可选参数 `uvOrigin`。
|
|
70
|
+
|
|
71
|
+
### Common Configuration
|
|
72
|
+
|
|
73
|
+
| Parameter | Type | Default | Description |
|
|
74
|
+
| :--- | :--- | :--- | :--- |
|
|
75
|
+
| `uvOrigin` | `'top-left' \| 'bottom-left'` | `'top-left'` | 指定 UV 坐标系的原点位置。 |
|
|
76
|
+
|
|
77
|
+
## Examples
|
|
78
|
+
|
|
79
|
+
### 1. 点击全景图获取空间方向 (Click to Vector)
|
|
80
|
+
假设你有一个全景图的点击事件,获取到了点击位置的 UV:
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
const observer = five.work.observers[0];
|
|
84
|
+
// 假设这是用户点击全景图后归一化得到的 UV (0~1)
|
|
85
|
+
const clickUv = new THREE.Vector2(0.5, 0.5);
|
|
86
|
+
|
|
87
|
+
// 转换为世界空间的方向向量
|
|
88
|
+
const direction = observer.equirectangularUvToVector(clickUv);
|
|
89
|
+
|
|
90
|
+
console.log('点击方向:', direction);
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 2. 将空间点映射到全景图上 (World Point to UV)
|
|
94
|
+
假设场景中有一个 3D 物体,你想知道它在当前全景图上的位置(例如打标签):
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
const observer = five.work.observers[0];
|
|
98
|
+
const objectPosition = new THREE.Vector3(10, 2, 5);
|
|
99
|
+
|
|
100
|
+
// 计算物体相对于观察点的方向向量
|
|
101
|
+
const direction = objectPosition.clone().sub(observer.position).normalize();
|
|
102
|
+
|
|
103
|
+
// 获取全景图 UV
|
|
104
|
+
const uv = observer.vectorToEquirectangularUv(direction);
|
|
105
|
+
|
|
106
|
+
console.log(`物体在全景图上的位置: u=${uv.x}, v=${uv.y}`);
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 3. 处理 Cubemap 坐标 (Cubemap Conversion)
|
|
110
|
+
如果你使用的是六面体全景图资源:
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
const observer = five.work.observers[0];
|
|
114
|
+
const direction = new THREE.Vector3(0, 0, -1); // 正前方
|
|
115
|
+
|
|
116
|
+
// 获取对应的面和 UV
|
|
117
|
+
const [face, uv] = observer.vectorToCubemapUv(direction);
|
|
118
|
+
|
|
119
|
+
console.log(`正前方对应 Cubemap 的 ${face} 面,UV 为`, uv);
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Related
|
|
123
|
+
|
|
124
|
+
* [Work](./work.md): 了解 WorkObserver 的数据结构。
|
|
125
|
+
* [Coordinate System](./coordinate-system.md): 了解 Five 的坐标系定义。
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
```yaml
|
|
130
|
+
tags: [work, observer, uv, projection, math]
|
|
131
|
+
```
|
|
@@ -52,12 +52,24 @@ const five = new Five({
|
|
|
52
52
|
* `Intersection` 对象新增了 `tile`, `model`, `viewLayer` 字段,便于在射线检测时获取更详细的上下文信息。
|
|
53
53
|
* `raycaster.hitFilter` 回调函数的参数类型定义已更新,包含 `model`, `viewLayer`, `tile` 等上下文信息。
|
|
54
54
|
|
|
55
|
-
##
|
|
56
|
-
>
|
|
55
|
+
## glTF 模型支持增强
|
|
56
|
+
> 新增了对更多 glTF 扩展的支持,提升了模型的表现力和动画能力。
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
*
|
|
60
|
-
*
|
|
58
|
+
### 新增扩展支持
|
|
59
|
+
* **KHR_animation_pointer**: 允许动画通道指向 glTF 资产中任何对象的任何属性,而不仅仅是节点的平移、旋转和缩放。
|
|
60
|
+
* **KHR_node_visibility**: 允许设置节点的可见性属性。
|
|
61
|
+
* **KHR_materials_clearcoat** 用于在材质上添加一层透明涂层,模拟车漆、碳纤维、清漆木材等真实世界中的表面效果。
|
|
62
|
+
* **KHR_materials_sheen** 绒面 / 绒毛类表面效果。
|
|
63
|
+
* **KHR_materials_transmission** 物理透光材质扩展,用于实现光线真正穿过物体的透明 / 半透明效果。
|
|
64
|
+
|
|
65
|
+
## Work 核心能力增强
|
|
66
|
+
> 为 WorkObserver 提供了更多实用的工具函数,便于进行坐标和 UV 转换。
|
|
67
|
+
|
|
68
|
+
### UV 转换工具函数
|
|
69
|
+
* `vectorToEquirectangularUv`: 将方向向量转化为全景图 uv。
|
|
70
|
+
* `equirectangularUvToVector`: 将全景图 uv 转化为方向向量。
|
|
71
|
+
* `vectorToCubemapUv`: 将方向向量转化为立方体贴图 uv。
|
|
72
|
+
* `cubemapUvToVector`: 将立方体贴图 uv 转化为方向向量。
|
|
61
73
|
|
|
62
74
|
## 新增后处理效果 (Post-Processing Passes)
|
|
63
75
|
> 新增了三个可选的内置后处理 Pass,用于增强视觉效果。
|
|
@@ -66,16 +78,13 @@ const five = new Five({
|
|
|
66
78
|
* **[FlowingLight3DPass](../features/flowing-light-3d-pass.md)**: 3D 流光效果,基于深度缓冲区在三维模型表面绘制流光。
|
|
67
79
|
* **[GaussianBlurPass](../features/gaussian-blur-pass.md)**: 高斯模糊效果,可用于实现毛玻璃等视觉特效。
|
|
68
80
|
|
|
81
|
+
## AI 友好文档 (AI Guides)
|
|
82
|
+
> 全面重构了文档结构,使其更适合 AI 辅助编程工具 (如 Cursor, Copilot) 阅读和索引。
|
|
83
|
+
|
|
84
|
+
* 文档目录迁移至 `ai_guides/`,并在 `package.json` 中新增 `ai` 字段指向该目录。
|
|
85
|
+
* 文档内容包含源码链接 (`source` 字段),直接指向对应的 `.ts` 定义文件。
|
|
86
|
+
* 提供了更清晰的 API 定义和概念说明,例如新增了 [ViewLayer](../features/view-layer.md) 的详细文档。
|
|
87
|
+
|
|
69
88
|
## 其他优化
|
|
70
89
|
* **点云渲染**: 计算点位透明度时,现在会排除不活跃的点,提升渲染正确性。
|
|
71
90
|
* **TypeScript 支持**: 优化了 `.d.ts` 打包方式,声明文件现在与源码文件一一对应,提升了 IDE 的跳转体验。
|
|
72
|
-
|
|
73
|
-
## glTF 支持**: 新增 `KHR_animation_pointer` 和 `KHR_node_visibility` 扩展支持
|
|
74
|
-
* `KHR_animation_pointer` 扩展 允许动画通道指向 glTF 资产中任何对象的任何属性,而不仅仅是节点的平移、旋转和缩放。
|
|
75
|
-
* `KHR_node_visibility` 扩展 允许设置节点的可见性属性。
|
|
76
|
-
|
|
77
|
-
## work 提供 uv 转化函数。
|
|
78
|
-
* `vectorToEquirectangularUv` 方法将方向向量转化为全景图 uv。
|
|
79
|
-
* `equirectangularUvToVector` 方法将全景图 uv 转化为方向向量。
|
|
80
|
-
* `vectorToCubemapUv` 方法将方向向量转化为立方体贴图 uv。
|
|
81
|
-
* `cubemapUvToVector` 方法将立方体贴图 uv 转化为方向向量。
|
package/docs/assets/hierarchy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.hierarchyData = "
|
|
1
|
+
window.hierarchyData = "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"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.navigationData = "eJy1ndtyI7cRht9FuTUde+
|
|
1
|
+
window.navigationData = "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"
|