跳至主要內容

Water

大约 1 分钟

Water

水面,继承自Thing,拥有ThingTHREE.Object3D一切属性和方法。

构造器

new VT.Water({
    // 几何造型类型,可选 Plane 和 Polygon,当选择为 Polygon 时, points 需要独立赋值
    geometryType: "Plane",
    geometry: {
        width: 10,
        height: 10,
    },
    // 点位,[[x, y, z], [x, y, z]...] 可选
    points: [],
    // 材质
    material: {
        // 材质参数
        uniforms: {
            // 生成纹理宽度,可选:256、512、1024、2048
            textureWidth: 512,
            // 生成纹理高度,可选:256、512、1024、2048
            textureHeight: 512,
            // 水纹理图片
            waterNormals: "",
            // 时间初始值 
            time: 0,
            // 角度
            clipBias: 0.8,
            // 角度
            alpha: 0.9,
            // 光线颜色 
            sunColor: 0xffffff,
            // 水面颜色 
            waterColor: "#003399",
            // 扭曲比例
            distortionScale: 1.0,
            //是否受雾影响
            fog: true,
            // 水面波动速度,为0静止
            speed: 0,
        }
    },

})

属性成员

isSync

  • 类型: {Boolean} 是否异步对象,是,不可修改

isWater

  • 类型: {Boolean} 是否水面物体,是,不可修改

type

  • 类型:{String} Water,不可修改

water

  • 类型:{ThreeWater} ThreeWater 实例

方法

updateGeometry

更新几何造型参数

  • updateGeometry(geometry)
  • 类型:Function
  • 参数:
    • geometry {Object} 几何造型参数
      • width {Number} 宽度
      • height {Number} 高度
  • 返回:无

setGeometry

设置水面的几何实例

  • setGeometry(geometryInstance)
  • 类型:Function
  • 参数:
    • geometryInstance {THREE.BufferGeometry|VT.Geometry} 几何实例
  • 返回:无

事件

loaded

水面贴图加载后触发

water.addEventListener("loaded", () => {
    // 加载完成
});
上次编辑于:
贡献者: dashun