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>