JSAPI Three API Reference
    正在准备搜索索引...

    类 FireEffect

    火灾特效。一个实例可以管理场景里任意多处火灾。

    层级

    • EngineObject3D
      • FireEffect
    索引

    构造函数

    • 参数

      • 可选options: {
            autoRequestRender?: boolean;
            bucketSize?: number;
            color?: string | number | any[];
            fireScale?: number;
            maxParticles?: {};
            renderMode?: string | {};
            severity?: string | number;
            wind?: number[];
        } = {}

        配置

        • 可选autoRequestRender?: boolean

          是否每帧自动请求下一帧。 按需渲染的场景必须开着,否则粒子会静止

        • 可选bucketSize?: number

          RTC 分桶边长,世界单位

        • 可选color?: string | number | any[]

          默认火焰颜色覆盖

        • 可选fireScale?: number

          默认尺寸倍数。名字带 fire 前缀是因为 FireEffect 本身是 Object3D,scale 这个名字被 three 的实例属性占了

        • 可选maxParticles?: {}

          按层覆盖粒子池上限, 如 {smoke: 20000}。层 id 为 smoke / flame / spark

        • 可选renderMode?: string | {}

          覆盖层的渲染模式, 'instanced' 统一覆盖所有层,或 {flame: 'instanced'} 按层 id 覆盖。 三层默认都是 points(省一半顶点带宽);改成 instanced 画的是面片, 不受 gl_PointSize 截顶影响、火焰还能沿速度方向倾斜,适合近距离特写

        • 可选severity?: string | number

          默认严重程度

        • 可选wind?: number[]

          默认风速 [东向, 北向],米/秒

      返回 FireEffect

    方法

    • 新增一处火灾。

      参数

      • 可选options: {
            color?: string | number | any[];
            coordinates: number[];
            enabled?: boolean;
            intensity?: number;
            scale?: number;
            severity?: string | number;
            wind?: number[];
        }

        火灾参数

        • 可选color?: string | number | any[]

          火焰颜色,缺省跟随 FireEffect

        • coordinates: number[]

          [经度, 纬度, 高度],高度单位米

        • 可选enabled?: boolean

          是否燃烧中

        • 可选intensity?: number

          发射速率倍数

        • 可选scale?: number

          尺寸倍数,缺省跟随 FireEffect

        • 可选severity?: string | number

          严重程度,缺省跟随 FireEffect

        • 可选wind?: number[]

          风速,缺省跟随 FireEffect

      返回 FireHandle

      火灾句柄

    • 移除所有火灾。

      返回 void

    • 完全释放。

      返回 void

    • 移除一处火灾。

      参数

      • fire: FireHandle

        addFire 返回的句柄

      返回 void

    访问器

    • get color(): string | number | any[]

      默认火焰颜色覆盖。

      返回 string | number | any[]

      默认颜色

    • get fireCount(): number

      当前火灾数量。

      返回 number

      数量

    • get fireScale(): number

      默认尺寸倍数。

      不叫 scale:FireEffect 继承自 Object3D,three 在构造函数里用 Object.defineProperties 把 scale 定义成了实例自有属性(一个 Vector3), 实例属性优先级高于原型上的 getter/setter,同名的话这里的访问器永远不会被调用, 而且外部写 fireEffect.scale = 2 会把矩阵合成用的 Vector3 换成数字, 导致整个节点的 matrix 变 NaN。

      返回 number

      默认倍数

    • get severity(): string | number

      默认严重程度。改它会影响所有没单独设过 severity 的火灾。

      返回 string | number

      默认严重程度

    • get wind(): number[]

      默认风速 [东向, 北向],米/秒。

      返回 number[]

      风速副本