6.8.x 版本发布日志
npm install @realsee/five@6.8
Five 现已支持 Gaussian Splatting (3DGS) 渲染管线。这是一种基于点的渲染技术,能够提供高质量的实时渲染效果。 仅在 WebGL2 环境下可用。
.splat 文档及工具 GitHub - antimatter15/splat: WebGL 3D Gaussian Splat Viewer.spz 文档及工具 GitHub - nianticlabs/spz: File format for 3D Gaussian splats. About 10x smaller than the PLY equival.glb .gltf 对应的 KHR_gaussian_splatting, KHR_gaussian_splatting_compression_spz, KHR_gaussian_splatting_compression_spz_2 扩展。通过 3d-tile 标准,使用 glb 作为模型格式。
{
"asset": {
"version": "1.0",
},
"geometricError": 265.4529731527354,
"root": {
"boundingVolume": {
"box": [
0.9499778747558594, 3.5037269592285156, 17.48550033569336,
97.01779174804688, 0.0, 0.0,
0.0, 88.27268981933594, 0.0,
0.0, 0.0, 20.292869567871094
]
},
"content": {
"uri": "splat.glb"
},
"geometricError": 66.36324328818385,
"refine": "ADD"
},
"transform": [
1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0
]
}
{
"work_code": "",
"model": {
"layers": {
"tileset_url": "tileset.json",
"name": "poincare_3dgs",
"type": "gaussian_splatting"
}
}
}
可以通过 five.parameter.gaussianSplattingSHDegree 设置球谐光照阶数,支持 0, 1, 2 阶,默认为 0 阶。
const five = new Five({
parameters: {
gaussianSplattingSHDegree: 1 // 设置为 1 阶 SH
}
});
gaussian_splatting 的模型同时也支持 rayscast 射线检测。同点云的处理保持一致。但是因为 gaussian_splatting 的射线交点对应的法线方向是一个估算值,精度并不高。请酌情使用。
新增了对更多 glTF 扩展的支持,提升了模型的表现力和动画能力。
KHR_animation_pointer 允许动画通道指向 glTF 资产中任何对象的任何属性。
默认的 animtion 只能修改 node 的 transform 实现节点的平移、旋转和缩放
这个能力可以实现材质动画。比如:
允许设置节点的可见性属性。 用于 配合 KHR_animation_pointer 实现显隐效果。
用于在材质上添加一层透明涂层,模拟车漆、碳纤维、清漆木材等真实世界中的表面效果。
这个能力可以实现材质动画。比如
物理透光材质扩展,用于实现光线真正穿过物体的透明 / 半透明效果。
这个能力可以实现材质动画。比如
调整自发光强度
不感光材质 正确解析 KHR_materials_unlit。是否感光作用到对应的 material 上,而不是 gltf 中的所有元素。
优化了 ViewLayer 的加载和显隐逻辑,以减少内存占用并提高性能。
默认情况下,Five 不再加载所有图层,而是根据优先级仅加载一个图层。 优先级顺序:mesh > point_cloud > gaussian_splatting > 其他类型。
为 WorkObserver 提供了更多实用的工具函数,便于进行坐标和 UV 转换。 UV 转换工具函数
新增 five.panoId 属性,使其与 work.observer 保持一致。
derived_id 的类型从 number 改为 number | string。
新增了全景图滤镜功能,支持实时调整全景图的亮度、对比度、饱和度、色温和色调等参数。
通过 five.modelScene.parameter.set('panoFilter', filter) 绑定。
支持的参数如下:
新增了三个可选的内置后处理 Pass,用于增强视觉效果。
全面重构了文档结构,使其更适合 AI 辅助编程工具 (如 Cursor, Copilot) 阅读和索引。
parameter.resolveValue('xxx') 快速获取单个参数的最终值,无需创建完整的 ResolvedParameterValue 对象。pano.prepare 事件(ExtendableEvent),支持通过 waitUntil(promise) 在点位切换前插入异步操作。PanoEvent 和 PanoPrepareEvent 新增 pano 字段,包含目标点位信息。resolveValueTo 支持对象复用以减少 GC,版本标识改用整数哈希(versionNumber: number)替代字符串拼接。