1. 喷水效果

生成对象位于:BOS3D.Plugins.SprayWater 配置对象位于:BOS3D.Plugins.SprayWaterConfig

1.1. SprayWaterConfig 配置文件说明

参数名称 说明 类型 是否必须 示例
viewer viewer 对象 对象 BOS3D.Color new BOS3D.Viewer();
color 水柱颜色 对象 BOS3D.Color new BOS3D.Color("#FFFFFF", 1.0);
originPosition 水柱的初始点坐标 对象 {} {x: 0,y: 0,z: 0}
spread 水花扩散程度,效果随着值增大而增大 Number 默认:1
scale 粒子比例 Number 默认:1
originPitch 初始俯仰值,单位为弧度,基于 XY 平面的一个旋转 Number 默认:0
originYaw 初始偏航值,单位为弧度,基于 z 轴的一个旋转 Number 默认:0
originRadius 初始半径,单位为毫米 Number 默认:500
originIntensity 初始强度,影响喷射速度和距离,取值范围[0 , 3],数值越大,强度越大 Number 默认:0.5
particleQuantity 水柱粒子数量,数值越高,粒子数越多 Number 默认:1

1.2. 实例化

var sprayWater = new BOS3D.Plugins.SprayWater(BOS3D.Plugins.SprayWaterConfig);

1.3. 属性

1.4. 方法

1.4.1. getOptions

获取喷水效果参数

名称 说明 类型 是否必须 示例
null null null null
返回值说明 类型 示例
option 参数对象 object
option.color 水柱颜色 BOS3D.Color new BOS3D.Color()
option.scale 水柱缩小放大比例 Number 1
option.originPosition 水柱的点坐标 Object {x:1,y:1,z:1 }
option.originPitch 水柱俯仰值,单位为弧度 Number 0
option.originYaw 水柱的偏航值,单位为弧度 Number 1
option.originIntensity 强度,影响喷射速度和距离,取值范围[0 , 3],数值越大越强 Number 1
option.originRadius 水柱的起始半径,单位为 mm Number 0
option.spread 水花扩散程度,值越大效果越明显 Number 1

调用方式:

/**
 * 获取喷水效果参数
 * @function SprayWaterGroup.prototype.getOptions
 * @return {object} [option] 参数对象
 * @return {BOS3D.Color} option.color 水柱颜色
 * @return {Number} option.scale 水柱缩小放大比例
 * @return {Object} option.originPosition 水柱的初始点坐标
 * @return {Number} option.originPitch 水柱初始俯仰值,单位为弧度
 * @return {Number} option.originYaw 水柱的初始偏航值,单位为弧度
 * @return {Number} option.originIntensity 初始强度,影响喷射速度和距离,取值范围[0 , 3],数值越大越强
 * @return {Number} option.originRadius 水柱的起始半径,单位为mm
 * @return {Number} option.spread 水花扩散程度,值越大效果越明显
 */

let sprayWaterConfig = new BOS3D.Plugins.SprayWaterConfig();
let sprayWater = new BOS3D.Plugins.SprayWater(sprayWaterConfig);
sprayWater.getOptions();

1.4.2. setOptions

设置喷水效果参数

名称 说明 类型 是否必须 示例
option 参数对象 object
option.color 水柱颜色 BOS3D.Color new BOS3D.Color()
scale 水柱缩小放大比例 Number 1
originPosition 水柱的初始点坐标 Object {x:1,y:1,z:1 }
originPitch 水柱初始俯仰值,单位为弧度 Number 0
originYaw 水柱的初始偏航值,单位为弧度 Number 1
originIntensity 初始强度,影响喷射速度和距离,取值范围[0 , 3],数值越大越强 Number 1
originRadius 水柱的起始半径,单位为 mm Number 0
spread 水花扩散程度,值越大效果越明显 Number 1
返回值说明 类型 示例
null null

调用方式:

/**
 * 设置喷水效果参数
 * @function SprayWaterGroup.prototype.setOptions
 * @param {object} [option] 参数对象
 * @param {BOS3D.Color} option.color 水柱颜色
 * @param {Number} option.scale 水柱缩小放大比例
 * @param {Object} option.originPosition 水柱的初始点坐标
 * @param {Number} option.originPitch 水柱初始俯仰值,单位为弧度
 * @param {Number} option.originYaw 水柱的初始偏航值,单位为弧度
 * @param {Number} option.originIntensity 初始强度,影响喷射速度和距离,取值范围[0 , 3],数值越大越强
 * @param {Number} option.originRadius 水柱的起始半径,单位为mm
 * @param {Number} option.spread 水花扩散程度,值越大效果越明显
 */
let op = {
    color: new BOS3D.Color(),
    originPosition: {
        x: 1,
        y: 1,
        z: 1,
    },
    originPitch: 1,
    originYaw: 1,
    originRadius: 0,
    originIntensity: 0.5,
    spread: 1,
    scale: 1,
};
let sprayWaterConfig = new BOS3D.Plugins.SprayWaterConfig();
let sprayWater = new BOS3D.Plugins.SprayWater(sprayWaterConfig);
sprayWater.setOptions(op);

1.4.3. hide

隐藏喷水效果对象

名称 说明 类型 是否必须 示例
null null null null
返回值说明 类型 示例
null null

调用方式:

/**
 * 隐藏喷水效果对象
 * @function hide
 * @return {void}
 */
let sprayWaterConfig = new BOS3D.Plugins.SprayWaterConfig();
let sprayWater = new BOS3D.Plugins.SprayWater(sprayWaterConfig);
sprayWater.hide();

1.4.4. play

喷水开始,创建喷水对象的时候,内部会自动执行这个方法

名称 说明 类型 是否必须 示例
null null null null
返回值说明 类型 示例
null null

调用方式:

/**
 * 喷水开始
 * @function play
 * @return {void}
 */
let sprayWaterConfig = new BOS3D.Plugins.SprayWaterConfig();
let sprayWater = new BOS3D.Plugins.SprayWater(sprayWaterConfig);
sprayWater.play(400);

1.4.5. setAnimationInterval

设置喷水效果动画时间间隔

名称 说明 类型 是否必须 示例
interval 间隔时间,单位为毫秒 数值 Number 100
返回值说明 类型 示例
null null

调用方式:

/**
 * 设置喷水效果动画时间间隔
 * @function setScale
 * @param {float} interval 间隔时间,单位为毫秒
 * @return {void}
 */
let sprayWaterConfig = new BOS3D.Plugins.SprayWaterConfig();
let sprayWater = new BOS3D.Plugins.SprayWater(sprayWaterConfig);
sprayWater.setAnimationInterval(400);

1.4.6. setSpaceScale

设置水流效果空间缩放

名称 说明 类型 是否必须 示例
scale 空间缩放比例 数值 Number 1
返回值说明 类型 示例
null null

调用方式:

/**
 * 设置喷水效果空间缩放比例
 * @function setSpaceScale
 * @param {Number} scale 效果空间缩放比例
 */
let sprayWaterConfig = new BOS3D.Plugins.SprayWaterConfig();
let sprayWater = new BOS3D.Plugins.SprayWater(sprayWaterConfig);
sprayWater.setSpaceScale(5);

1.4.7. show

显示喷水效果对象

名称 说明 类型 是否必须 示例
null null null null
返回值说明 类型 示例
null null

调用方式:

/**
 * 显示喷水效果对象
 * @function show
 * @return {void}
 */
let sprayWaterConfig = new BOS3D.Plugins.SprayWaterConfig();
let sprayWater = new BOS3D.Plugins.SprayWater(sprayWaterConfig);
sprayWater.show();

1.4.8. stop

停止喷水

名称 说明 类型 是否必须 示例
null null null null
返回值说明 类型 示例
null null

调用方式:

/**
 * 停止喷水
 * @function stop
 * @return {void}
 */
let sprayWaterConfig = new BOS3D.Plugins.SprayWaterConfig();
let sprayWater = new BOS3D.Plugins.SprayWater(sprayWaterConfig);
sprayWater.stop();

1.4.9. 完整样例

完整样例

<!DOCTYPE html>
<html lang="zh-cn">
    <head>
        <meta charset="UTF-8" />
        <title>demo</title>
        <style>
            body {
                margin: 0;
                overflow: hidden;
                position: fixed;
            }
        </style>
        <link href="http://bos3d.bimwinner.com/static/UI/latest/BOS3DUI.min.css" rel="stylesheet" />
    </head>
    <body>
        <div id="viewport" class="viewport"></div>
        <script>
            const html = document.querySelector("html");
            document.querySelector(".viewport").style.width = html.clientWidth + "px";
            document.querySelector(".viewport").style.height = html.clientHeight - 1 + "px";
        </script>
        <script type="application/javascript" src="http://bos3d.bimwinner.com/static/latest/BOS3D.min.js"></script>
        <script type="application/javascript" src="http://bos3d.bimwinner.com/static/UI/latest/BOS3DUI.min.js"></script>
        <script>
            var option = {
                host: "http://bos3d.bimwinner.com",
                viewport: "viewport",
            };
            var viewer3D = new BOS3D.Viewer(option);
            viewer3D.addView("M1598257565598", "he3285593fdc4ea3b91784c5741ff8aa");
            viewer3D.registerModelEventListener(BOS3D.EVENTS.ON_LOAD_COMPLETE, function (event) {
                let SprayWaterConfig = new BOS3D.Plugins.SprayWaterConfig();
                SprayWaterConfig.color.r = 231;
                SprayWaterConfig.color.g = 254;
                SprayWaterConfig.color.b = 255;
                SprayWaterConfig.viewer = viewer3D;
                SprayWaterConfig.originPitch = 0.5;
                SprayWaterConfig.originYaw = 3;
                SprayWaterConfig.originRadius = 50;
                SprayWaterConfig.originIntensity = 0.2;
                SprayWaterConfig.scale = 5;
                SprayWaterConfig.originPosition = {
                    x: 66038.61120224059,
                    y: 46350.2137254963,
                    z: -41.97374815331568,
                };
                SprayWaterConfig.particleQuantity = 105;
                SprayWaterConfig.spread = 3.2;
                let sprayWaterEffect = new BOS3D.Plugins.SprayWater(SprayWaterConfig);
            });
        </script>
    </body>
</html>
版权所有@盈嘉互联(北京)科技有限公司 京ICP备15051988号-9 Copyright © 2022 all right reserved,powered by Gitbook该文件修订时间: 2022-06-27 15:28:07

results matching ""

    No results matching ""