ThingOrigin.js
    Preparing search index...

    Class TScene

    场景

    Hierarchy

    • Scene
      • TScene
    Index

    Methods - 方法

    • 克隆模型

      Parameters

      • targetModel: Object3D

        被克隆的模型

      • position: xyz

        克隆模型摆放位置

      Returns Group

    Methods - Other

    • 批量加载开始(与 resetModelLoadingStatus 配合)

      Parameters

      • total: number

      Returns void

    • 批量 loadModel 兜底:若有未 finish 的计数项则清理;已上报则跳过

      Returns void

    • 完成模型加载

      Parameters

      • modelName: string

        模型名称

      Returns void

    • 生成场景截图

      Parameters

      • resolutionScale: number = 1

        分辨率缩放倍数(默认为 1)

      Returns Promise<Blob>

      Promise<Blob | null> 返回一个包含图像数据的Blob对象或null

    • 获取剔除统计信息

      Returns {
          cullingRate: string;
          distanceCulled: number;
          frustumCulled: number;
          total: number;
          totalCulled: number;
          visible: number;
      }

      剔除统计对象

      const stats = TO.scene.getCullingStats();
      console.log(`总计: ${stats.total}, 可见: ${stats.visible}, 剔除: ${stats.frustumCulled + stats.distanceCulled}`);
    • 根据模型名称获取模型

      Parameters

      • name: string

        模型名称

      • OptionalparentName: string

        父级名称

      Returns Object3D<Object3DEventMap>

    • 获取模型加载状态

      Returns {
          isAllLoaded: boolean;
          loadedCount: number;
          loadedModels: string[];
          loadingCount: number;
          loadingModels: string[];
          totalElapsedMs: number;
      }

    • 获取升序模型名称

      Parameters

      • modelName: string

      Returns { id: number; modelName: string }

    • 真实感物理天空(基于 r185 SkyMesh:Preetham 大气散射 + 太阳圆盘 + 云)

      Parameters

      • skyPhysicalParams: any

        物理天空参数(见 sceneParams.js → background.skyPhysical)

      Returns void

      统一使用 SkyMesh(NodeMaterial/TSL 实现),仅 WebGPU 渲染器可用; 若场景为 renderer='webgl',则使用渐变天空 background.type='sky'。

    • 创建天空盒(场景背景互斥,只显示一种) 支持两种渐变模式:

      1. 世界空间渐变(默认):基于世界坐标,随相机旋转而变化
      2. 屏幕空间渐变:基于屏幕坐标,始终相对于屏幕保持上白下黑

      Parameters

      • skyParams: any

        天空盒参数

      Returns void

    • 设置所有模型加载完成的回调

      Parameters

      • callback: () => void

        回调函数

      Returns void

    • 批量:已入屏 + 已失败 达到总数时立即打印耗时(在 scene.add 后同步调用)

      Parameters

      • rendered: number
      • failed: number

      Returns void

    • 设置加载错误回调

      Parameters

      • callback: (error: Error) => void

        回调函数

      Returns void

    • 设置加载进度回调

      Parameters

      • callback: (progress: number) => void

        回调函数

      Returns void

    • 执行所有剔除优化(视锥+距离)

      Parameters

      • camera: Camera

        当前相机

      Returns void

      // 在渲染循环中调用
      TO.scene.performCulling(TO.camera.camera);
    • 执行距离剔除(在渲染循环中调用)

      Parameters

      • camera: Camera

        当前相机

      Returns void

      TO.scene.performDistanceCulling(TO.camera.camera);
      
    • 执行视锥剔除(在渲染循环中调用)

      Parameters

      • camera: Camera

        当前相机

      Returns void

      TO.scene.performFrustumCulling(TO.camera.camera);
      
    • 播放模型内置动画(gltf)

      Parameters

      • model: Object3D

        含动画模型

      • index: number | number[]

        播放动画的下标

      • loop: boolean

        是否循环播放

      • timeScale: number = 1

        动画时间缩放倍数

      Returns Promise<void>

      动画播放完成时 resolve

    • 删除模型(模型名称)

      Parameters

      • name: string

        模型名称

      • OptionalparentName: string

        父级名称

      Returns void

    • 重置模型加载状态

      Returns void

    • 重置所有对象可见性(禁用剔除时使用)

      Returns void

      TO.scene.resetVisibility();
      
    • 设置背景颜色

      Parameters

      • bgColor: any

      Returns void

    • 设置背景图片

      Parameters

      • url: string

      Returns void

    • 启用距离剔除

      Parameters

      • enabled: boolean

        是否启用

      • maxDistance: number = 1000

        最大渲染距离(默认1000)

      Returns void

      TO.scene.setDistanceCulling(true, 500); // 启用距离剔除,最大距离500
      
    • 设置场景雾效

      Parameters

      Returns void

    • 启用视锥剔除

      Parameters

      • enabled: boolean

        是否启用

      Returns void

      TO.scene.setFrustumCulling(true); // 启用视锥剔除
      
    • 设置环境光

      Returns void

    • 控制模型显示隐藏

      Parameters

      • name: string

        模型名称

      • visible: boolean

        是否可见

      Returns void

    • 开始加载模型

      Parameters

      • modelName: string

        模型名称

      Returns void

    • 停止模型内置动画(gltf)

      Parameters

      • model: Object3D

        模型对象

      • index: number

        动画下标

      Returns Promise<void>

      停止成功时 resolve,失败时 reject

    • Executes the callback on this object and all descendants.

      Parameters

      • callback: (node: any) => void

        A function with as first argument an Object3D object.

      Returns void

      Note: Modifying the scene graph inside the callback is discouraged.

    Properties

    ground: Object3D = null