Skip to content

Interface: ViewerOptions

Defined in: packages/viewer-core/src/public/types.ts:475

Viewer.create() 的构造选项;全部可选。

Properties

antialias?

optional antialias?: boolean

Defined in: packages/viewer-core/src/public/types.ts:479

硬件 MSAA(传给 WebGLRenderer,构造后不可变,默认 true)。SMAA 后处理抗锯齿见 quality.antialias


background?

optional background?: Color | "transparent"

Defined in: packages/viewer-core/src/public/types.ts:477

初始背景:纯色或 "transparent";不传则用引擎默认浅灰垂直渐变。


batchedFaces?

optional batchedFaces?: boolean

Defined in: packages/viewer-core/src/public/types.ts:523

面几何走「按材质×空间区域分桶的 BatchedMesh」而非 per-mesh InstancedMesh (BatchedMesh 面几何基座)。face draw call 从 O(可见件数) 塌到 O(桶数)。 Viewer.create 缺省为开(未传 → true),显式传 false 才退回 per-mesh InstancedMesh 路径,退回时行为与启用批处理前字节级一致。

外观(面色 / 节点色 / highlight / 金属粗糙)、拾取、剖切、Sobel 描边均已对齐 flag-off——经 per-instance DataTexture + 顶点属性重灌 + clip fork USE_BATCHING:

  • 面色(FMO per-face)、逐面金属/粗糙 → 顶点属性重灌 (setMeshFaceGroupVertexColors / aFaceMetalness·aFaceRoughness + FaceBatchStore.syncMeshGeometry 的 setGeometryAt 重灌带色几何);
  • 节点色 / 用户色 → per-instance,经 BatchedMesh 原生 setColorAt;
  • highlight(选中/hover/flash)、逐实例金属/粗糙 → 每桶 DataTexture(batchId 索引)+ 顶点 shader USE_BATCHING 分支 texelFetch;
  • 拾取:InstancedMesh 骨架以真实 cpuGeom 作 invisible 拾取代理,拾取链零改复用;
  • 剖切:clip fork 顶点世界坐标补 USE_BATCHING batchingMatrix 分支,capping 走骨架;
  • Sobel 描边:BatchedMesh 纳入 MODEL_GEOMETRY_LAYER,深度预渲染取 batch 面深度。

未做:透明度操作(v2);eviction / 内存释放(cpuGeom 不释放,拾取代理与 batch 双份内存);材质编辑跨桶迁移(v2)。


debug?

optional debug?: boolean

Defined in: packages/viewer-core/src/public/types.ts:495

调试开关;当前版本未接线,预留。


environment?

optional environment?: string

Defined in: packages/viewer-core/src/public/types.ts:501

可选 HDRI 环境贴图 URL(.hdr equirect),用于 IBL;不传则用内置程序化环境。


initialCamera?

optional initialCamera?: object

Defined in: packages/viewer-core/src/public/types.ts:485

初始相机位姿(位置 / 目标点);不传用引擎默认位姿。

position?

optional position?: Vec3

target?

optional target?: Vec3


initialProjection?

optional initialProjection?: CameraProjection

Defined in: packages/viewer-core/src/public/types.ts:487

初始相机投影方式(透视 / 正交);不传默认透视。会话内状态、不持久化,运行时经 viewer.camera.setProjection 切换。


lod?

optional lod?: LodOptions

Defined in: packages/viewer-core/src/public/types.ts:499

LOD 与小件代理初始化策略,默认 "auto"


optional navCube?: object

Defined in: packages/viewer-core/src/public/types.ts:489

导航立方体初始配置:enabled 默认 true,anchor 默认 "top-right",size 为 CSS 像素、默认 185。

anchor?

optional anchor?: NavCubeAnchor

enabled?

optional enabled?: boolean

size?

optional size?: number


pixelRatio?

optional pixelRatio?: number

Defined in: packages/viewer-core/src/public/types.ts:481

渲染像素比;默认取 window.devicePixelRatio(非浏览器环境为 1)。


quality?

optional quality?: QualityOptions

Defined in: packages/viewer-core/src/public/types.ts:497

渲染质量选项,逐项默认值见 QualityOptions


workerPoolSize?

optional workerPoolSize?: number

Defined in: packages/viewer-core/src/public/types.ts:483

几何解码 worker 池大小;默认按 CPU 核数减一,钳制在 1–12。