GaussianSplats3D开源库加载模型
https://github.com/mkkellogg/GaussianSplats3D
作为 NPM 包安装
如果您不想从源代码构建库,也可以将其作为 NPM 包使用。NPM 包不附带源代码库中提供的源代码或演示。若要安装,请运行以下命令:
npm install @mkkellogg/gaussian-splats-3d
基础使用
import * as GaussianSplats3D from '@mkkellogg/gaussian-splats-3d';
const viewer = new GaussianSplats3D.Viewer({
'cameraUp': [0, -1, -0.6],
'initialCameraPosition': [-1, -4, 6],
'initialCameraLookAt': [0, 4, 0]
});
viewer.addSplatScene('<path to .ply, .ksplat, or .splat file>', {
'splatAlphaRemovalThreshold': 5,
'showLoadingUI': true,
'position': [0, 1, 0],
'rotation': [0, 0, 0, 1],
'scale': [1.5, 1.5, 1.5]
})
.then(() => {
viewer.start();
});
GaussianSplats3D详细参数
参数
Parameter | Purpose |
---|---|
selfDrivenMode | 如果为false,则表明你将手动调用视图的update()和render()方法。 默认值为true。 |
useBuiltInControls | 告诉视图使用其自己的相机控制。 默认值为true。 |
renderer | 将一个Three.js Renderer的实例传递给视图,否则它将创建自己的。 默认未定义。 |
camera | 将一个Three.js Camera的实例传递给视图,否则它将创建自己的。 默认未定义。 |
ignoreDevicePixelRatio | 告诉视图认为设备像素比例为1, 可以在设备像素比率较高的设备上提高性能,但可能略微降低视觉质量。 默认为false。 |
gpuAcceleratedSort | 告诉视图使用部分GPU加速的方法对splat进行排序。 目前,这意味着从相机处计算splat距离的预计算在GPU上执行。 建议仅在sharedMemoryForWorkers也为true时将此选项设置为true。在移动设备上默认为false,否则为true。 |
halfPrecisionCovariancesOnGPU | 告诉视图在储存splat协方差数据到纹理时, 使用16位浮点数,而非32位。 默认为false。 |
sharedMemoryForWorkers | 告诉视图使用共享内存, 通过SharedArrayBuffer来从排序web worker中传输数据。 如果设为false,建议将gpuAcceleratedSort设为false。默认为true。 |
integerBasedSort | 告诉排序的web worker用整数版本的 相关数据计算splat离相机的距离。由于整数运算比浮点运算快, 所以这可以减少排序时间。但在较大的场景中可能会导致整数溢出,因此仅应用于小场景。 默认为true。 |
dynamicScene | 告诉视图不基于静态场景进行任何优化。 此外,从视图的splat网格获取的所有splat数据默认不会应用各自的场景变换。 |
webXRMode | 告诉视图是否启用内置的Web VR或Web AR。 有效值定义在WebXRMode枚举中:None,VR和AR。默认为None。 |
renderMode | 控制视图渲染场景的时机。 有效值在RenderMode枚举中定义:Always,OnChange,Never。 默认为Always。 |
sceneRevealMode | 控制加载场景时使用的淡入效果。 有效值定义在SceneRevealMode枚举中:Default,Gradual和Instant。 Default会使逐步加载的场景进行慢慢淡入,非逐步加载的场景则快速淡入。 Gradual会对所有场景进行慢慢淡入。Instant将使所有加载的场景数据立即可见。 |
antialiased | 当为true时,会在渲染时进行附加步骤以解决高斯呈现 在与训练期间的分辨率大不相同的情况下引起的人工效应。 此特性只对使用了这种补偿计算的模型有效。 更多详情请见:https://github.com/nerfstudio-project/gsplat/pull/117, https://github.com/graphdeco-inria/gaussian-splatting/issues/294#issuecomment-1772688093 |
focalAdjustment | 用于调整焦距有关计算的非科学参数。 对于具有非常小的高斯数据和小细节的场景,提高这个值可以提高视觉质量。 默认值为1.0。 |