跳到主要内容

VoxelViewerOptions

创建后直接为字段赋值,再传入 VoxelViewerController。这是一个可变配置对象;已经加载场景时建议修改后调用 controller.setOptions(options),不要只修改字段而不通知 Controller。

动画与模型显示

字段类型默认值作用
animationModeVoxelLoadAnimationModeSTACK导入后的揭示方式。
playLoadAnimationbooleantrue是否播放揭示动画。
loadAnimationDurationMsnumber1500动画时长,毫秒。
showGroundGridbooleantrue是否显示地面网格。
unitGridTexture`Resourceundefined`undefined

animationMode 可取 STACKSOFTRADIALWAVESPIRALCONVERGE。动画仅影响可视揭示,不改变 VOXO 体素数据。

背景

字段类型默认值作用
darkBackgroundbooleanfalse使用暗色三段背景。
backgroundModeVoxelBackgroundModeBUILTIN_CUSTOM背景责任方。
lightBackgroundTopColor/MiddleColor/BottomColorstring三段浅色浅色渐变。
darkBackgroundTopColor/MiddleColor/BottomColorstring三段深色深色渐变。
backgroundImage`Resourceundefined`undefined
backgroundImageFitImageFitImageFit.Cover图片适配方式。
backgroundImageOpacitynumber1图片不透明度。
backgroundImageOverlayColorstring#00000000图片上方色罩。

BUILTIN 使用 HAR 固定工作室背景;BUILTIN_CUSTOM 使用以上颜色;BUILDER 由宿主 Builder 替换整层;EXTERNAL 不绘制背景,由外部页面提供。

手势与导入上限

字段类型默认值说明
orbitSensitivitynumber1单指旋转灵敏度。
panSensitivitynumber1双指平移灵敏度。
minZoomFactornumber0.08可缩放的最近边界。
maxZoomFactornumber5可缩放的最远边界。
autoRotatebooleanfalse预留字段;当前版本不启动自动旋转。
maxJsonBytesnumber15 * 1024 * 1024JSON 导入最大 UTF-8 字节数。

加载层

字段类型默认值说明
loadOverlayModeVoxelLoadOverlayModeBUILTIN内置、定制、Builder 或外部加载层。
loadOverlayStyleVoxelLoadOverlayStyle新建默认样式文案、颜色、圆角、指示器。
onLoadOverlayStateChanged(state) => void空函数读取阶段状态,常用于 EXTERNAL

完整配置示例

const options = new VoxelViewerOptions();
options.animationMode = VoxelLoadAnimationMode.RADIAL;
options.loadAnimationDurationMs = 900;
options.showGroundGrid = false;
options.backgroundMode = VoxelBackgroundMode.BUILTIN_CUSTOM;
options.lightBackgroundTopColor = '#F5F8FF';
options.lightBackgroundBottomColor = '#D7E1F0';
options.orbitSensitivity = 0.85;
options.panSensitivity = 0.9;
options.minZoomFactor = 0.04;
options.maxJsonBytes = 15 * 1024 * 1024;
options.onLoadOverlayStateChanged = (state: VoxelLoadOverlayState): void => {
console.info(state.phase + ': ' + state.message);
};
const controller = new VoxelViewerController(options);

颜色使用 ArkUI 可接受的字符串。对 backgroundImageOpacity、灵敏度、缩放边界等数值,请在产品侧施加合理范围,避免传入负数或最小值大于最大值。