ThingOrigin.js
    Preparing search index...

    Class TModel

    基础模型

    Index

    Methods

    • 创建组合模型

      Parameters

      Returns Promise<any>

      2026/07/01 - 整合loadModel方法

    • Parameters

      • array: any
      • itemSize: any

      Returns BufferAttribute<BufferAttributeEventMap>

    • Returns BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>

    • 创建圆形(平面)

      Parameters

      • OptionalmodelInfo: any

        模型参数

      Returns Object3D

    • 创建立方体

      Parameters

      • OptionalmodelInfo: modelInfoParams

        模型参数

      • Optionalmaterial: any

        材质

      Returns Object3D

    • 创建围栏

      Parameters

      Returns Promise<Object3D<Object3DEventMap>>

    • 创建LOD(Level of Detail)对象 支持两种模式:

      1. 距离模式:根据距离阈值自动切换不同细节层次的模型(传统LOD)
      2. 性能模式:根据设备性能自动选择合适细节层次的模型 自动检测模式:如果levels中有distance属性,使用距离模式;否则使用性能模式

      Parameters

      • OptionalmodelInfo: modelInfoParams

        模型参数

      • mode: "auto" | "performance" | "distance" = 'auto'

        可选,强制指定模式:'distance' | 'performance' | 'auto'(默认自动检测)

      • disableCache: boolean = false

        可选,是否禁用缓存(默认不禁用)

      Returns Promise<Object3D<Object3DEventMap>>

    • Loft 放样(r185 LoftGeometry)

      Parameters

      • options: {
            capEnd?: boolean;
            capStart?: boolean;
            color?: string;
            modelName?: string;
            position?: { x: number; y: number; z: number };
            sections: Vector3[][];
        }

      Returns Object3D

    • 创建地图

      Parameters

      • OptionalmodelInfo: any

        模型参数

      Returns Promise<Object3D<Object3DEventMap>>

    • Parameters

      • Optionalgeometry: any
      • Optionalmaterial: any

      Returns Mesh<any, any, Object3DEventMap>

    • 创建平面

      Parameters

      Returns Promise<Object3D<Object3DEventMap>>

    • 创建平面缓冲几何体

      Parameters

      • Optionalwidth: number
      • Optionalheight: number

      Returns PlaneGeometry

    • 创建货架 自定义尺寸

      Parameters

      Returns Promise<Object3D<Object3DEventMap>>

    • 创建仿真文字

      Parameters

      • info: any
      • model: any

      Returns Promise<void>

    • 创建球体

      Parameters

      • OptionalmodelInfo: modelInfoParams

        模型参数

      • Optionalmaterial: any

        材质(不传使用默认)

      Returns Object3D

    • 创建视频面板

      Parameters

      • dom: HTMLVideoElement

        video标签

      • OptionalmodelInfo: modelInfoParams

        模型参数

      Returns Object3D

    • 创建压缩包导入模型(支持gltf/glb/fbx/obj/stl/json及跨目录纹理)

      Parameters

      Returns Promise<Object3D<Object3DEventMap>>

      2026/04/24 (性能优化版:异步解压、合并遍历、减少主线程阻塞)

      下载 → Worker 解压 → 建文件映射 → 选模型 → 独立 LoadingManager + setURLModifier(把贴图 URL 重写成 Blob URL)→ loadWithConfig → FBX 贴图自动修复 → 清理 Blob。

    • 加载模型(单个或批量)

      • 传入单个 modelInfo:走单模型加载,返回 Object3D
      • 传入 models 数组:走批量逻辑(同 id 仅首条 loadModel,其余复制并应用独立配置;indexedDB 缓存、加载进度),返回 Object3D[]

      Parameters

      • modelInfo: modelInfoParams

        单个模型信息

      • OptionaluseIndexedDB: boolean

        是否使用 indexedDB(仅单模型时有效,默认 true)

      Returns Promise<Object3D<Object3DEventMap>>

      2026/06/20 - 优化 indexedDB 存储逻辑、批量加载逻辑

    • 加载模型(单个或批量)

      • 传入单个 modelInfo:走单模型加载,返回 Object3D
      • 传入 models 数组:走批量逻辑(同 id 仅首条 loadModel,其余复制并应用独立配置;indexedDB 缓存、加载进度),返回 Object3D[]

      Parameters

      • models: modelInfoParams[]

        模型数组

      • OptionalonModelLoaded: (model: Object3D, index: number) => void

        单个模型加载完成的回调

      • OptionalonAllLoaded: (models: Object3D<Object3DEventMap>[], thingOrigin?: ThingOrigin) => ThingOrigin

        所有模型加载完成的回调,接收模型数组和 ThingOrigin 实例,返回 ThingOrigin 实例供后续操作

      Returns Promise<Object3D<Object3DEventMap>[]>

      2026/06/20 - 优化 indexedDB 存储逻辑、批量加载逻辑

    • Parameters

      • meshArray: Mesh<
            BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>,
            Material<MaterialEventMap> | Material<MaterialEventMap>[],
            Object3DEventMap,
        >[]

      Returns Mesh<
          any,
          Material<MaterialEventMap>
          | Material<MaterialEventMap>[],
          Object3DEventMap,
      >

      合并Mesh网格

      需手动将合并的模型删除

    • 更新模型层级

      Parameters

      • root: Object3D

        根模型节点

      Returns void

    • 预热 Draco / KTX2 解码器(在首批 glb 加载前调用,避免 wasm 计入首模时间) 远程 wasm 加载失败时(如本地 dev CORS)自动回退 three 内置资源

      Parameters

      Returns Promise<void>

    Properties

    ColladaLoader: ColladaLoader = ...
    DRACO_LOADER: DRACOLoader = ...
    FBXLoader: FBXLoader = ...
    GLTFLoader: GLTFLoader = ...
    KTX2_LOADER: KTX2Loader
    MANAGER: LoadingManager = ...
    ObjectLoader: ObjectLoader = ...
    OBJLoader: OBJLoader = ...
    PLYLoader: PLYLoader = ...
    Rhino3dmLoader: Rhino3dmLoader = ...
    STLLoader: STLLoader = ...
    SVGLoader: SVGLoader = ...
    TDSLoader: TDSLoader = ...
    URDFLoader: URDFLoader = ...