ThingOrigin.js
    Preparing search index...

    Class TEffect

    效果(WebGL 后处理 + WebGPU 场景特效)

    Index

    Accessors

    • get outlinePass(): any

      兼容旧代码:返回首个描边槽位

      Returns any

    Methods

    • 创建火焰(WebGPU Sprite 粒子 + 点光源)

      Parameters

      Returns Group

      火焰粒子组

    • 取消模型剖切

      Parameters

      • Optionalmodel: Object3D

        目标模型;不传则取消所有模型的剖切

      Returns void

    • 删除场景剖切面

      Returns void

    • 取消发光效果 WebGL 模式通过图层控制,WebGPU 模式下 Bloom 为全局后处理无法单独关闭

      Parameters

      • model: Object3D

        目标模型

      Returns void

    • 取消呼吸效果,还原所有呼吸组材质并释放描边槽位

      Returns void

    • 多模型交替呼吸不同颜色:按 duration 依次切换激活任务(同一时刻仅一组激活) 每个任务对应单个模型,独立颜色与时长 例如隔 3s 立库-1 变红色,再隔 3s ABB机器人-2 变绿色

      Parameters

      Returns void

    • 给模型添加呼吸效果(默认黄色描边,常驻不切换)

      Parameters

      • model: any

        目标模型

      Returns void

    • 多模型并发呼吸不同颜色:所有任务同时启动,每个模型独立颜色与时长,到期单独停止 例如 ABB机器人-2 绿色闪 5s、ABB机器人-3 蓝色闪 8s,两者同时闪烁、各自独立停止

      Parameters

      Returns void

    • 初始化场景效果合成器 根据渲染器类型(WebGL / WebGPU)分别构建不同的后处理管线:

      • WebGL:EffectComposer + OutlinePass + FXAA + UnrealBloomPass + OutputPass
      • WebGPU:同步 Bloom/Outline 参数到 TWebGPU 并重建 TSL RenderPipeline

      Returns void

    • 对指定模型进行剖切 WebGL:材质级 clippingPlanes + renderer.localClippingEnabled WebGPU:ClippingGroup 场景图级剖切(r185 起 WebGPU 忽略 material.clippingPlanes) 若该模型已在剖切中,则直接复用已有 plane 数组原地更新 normal/constant,

      Parameters

      • model: Object3D

        目标模型

      • options: any

        剖切配置数组,每项含 axis 和 constant

      Returns void

    • 给多个模型添加呼吸效果(默认黄色描边,常驻不切换,同组同步呼吸)

      Parameters

      • modelList: any

        模型列表,每项含 modelName 字段

      Returns void

    • 创建场景级剖切平面 WebGL:renderer.clippingPlanes 全局剖切 WebGPU:r185 起 WebGPU 忽略 renderer.clippingPlanes,改用 ClippingGroup 包裹场景内容实现全局剖切

      Parameters

      • axis: "x" | "y" | "z"

        剖切轴向 'x' | 'y' | 'z'

      • constant: number

        剖切面距原点的距离

      Returns void

    • 移除火焰

      Returns void

    • 设置渲染尺寸(窗口大小变化时调用)

      Parameters

      • width: number

        宽度

      • height: number

        高度

      Returns void

    • 每帧驱动呼吸动画(由 ThingOrigin.update 调用)

      • concurrent:所有组并发呼吸,各自独立倒计时,到期单独停止
      • sequential:同一时刻仅一组激活,到期后切换到队列下一项 每组 emissiveIntensity 在 MIN~MAX 之间 sin 脉动,对应槽位 edgeStrength 同相位脉动

      Parameters

      • delta: number

        帧间隔时间(秒)

      Returns void

    • 更新指定模型剖切面的 constant

      Parameters

      • model: Object3D

        目标模型

      • constant: number

        剖切面距原点的新距离

      • planeIndex: number = 0

        剖切面索引,默认 0

      Returns void

    • 更新场景剖切面的位置

      Parameters

      • constant: number

        剖切面距原点的新距离

      Returns void

    Properties

    bloomComposer: any = null
    bloomLayer: Layers

    图层系统

    bloomPass: any = null

    虚幻引擎风格泛光通道

    colorCorrectionPass: any = null
    effectComposer: any = null

    效果合成器

    effectFXAA: any = null

    着色器通道

    finalComposer: any = null
    fireGroup: Group<Object3DEventMap> = null

    火焰粒子组

    outlinePasses: any[]

    描边槽位池(WebGL 为 OutlinePass;WebGPU 为占位句柄,实际由 TWebGPU 槽位渲染) 每个并发呼吸组独占一个槽,各自独立颜色

    outputPass: any = null

    输出通道

    renderPass: any = null

    渲染通道

    sceneClipPlane: Plane = null

    剖切平面(场景级全局)

    BLOOM_SCENE: number = 1