1.0.7 • Published 2 months ago

bim3d v1.0.7

Weekly downloads
-
License
ISC
Repository
-
Last release
2 months ago

bim3d

基于three.js封装的工具函数,用于更快的搭建three.js场景。

需在已安装thee.js、tweenjs的基础上使用

安装

使用npm:

$ npm install bim3d

Using yarn:

$ yarn add bim3d

使用pnpm:

$ pnpm add bim3d

一旦安装了包,你可以使用' import '或' require '方法导入库:

import { BIM3D } from 'bim3d';

初始化three.js场景:

let bim3d = new BIM3D(dom容器)

bim3d.init()

释放场景,用于页面销毁时释放内存:

bim3d.dispose()

加载环境贴图:

加载一个hdr环境图,并将其设置为场景的背景和环境。函数接受参数是hdr环境图的地址(url)。

bim3d.initEnvironment(url);

加载地面:

创建一个平面作为地面,并将其添加到指定的组(group)中。函数接受两个参数,第一个参数是贴图的地址(url),第二个参数是要添加地面的组对象(group)。

bim3d.initGround(url,group);

加载模型:

// 生成模型组
// initGroupModel("模型组的名字")
bim3d.initGroupModel("buildingGroup").then((res) => {
  // 加载模型,并将模型添加到你刚刚生成的模型组里
  // loadGltf(模型地址,位置,组,缩放)
  bim3d
    .loadGltf(
      "/tower_crane/scene.gltf",
      { x: 0, y: -38, z: 0 },
      bim3d.buildingGroup,
      [1.5, 1.5, 1.5]
    )
    .then(() => {
      resolve();
    });
});

模型点击事件:

用于获取点击模型时获取模型对象,data为点击的模型对象

bim3d.clickEventListener = (data) => {};

模型轮廓效果:

用于添加轮廓效果的通道到Three.js场景中的模型上的。它的作用是在模型的边缘周围创建一个轮廓效果,以突出显示模型的形状。函数接受参数是模型对象(model)。

// 创建高亮组
bim3d.initGroupModel("outlinePassGroup");
// 添加模型轮廓渲染,内部函数会将高亮的模型对象添加到高亮组
bim3d.addOutlinePass(model)
// 移除模型轮廓渲染
bim3d.removeOutlinePass()

流动管道效果:

用于创建一个具有贴图流动效果的的管道,第一个参数是贴图的地址(url),第二个参数是一个包含一系列点坐标的数组(pointsArr)。

bim3d.initPipe(url,pointsArr)

创建发光旋转四棱锥:

用于创建一个发光旋转四棱锥

bim3d.initRotatingPyramidWithGlow(position, color = "0xffff00", opacity = 1)
// 移除
bim3d.clearRotatingPyramidWithGlow()

位移动画效果:

用于实现位移动画效果,将一个物体从原来的位置移动到新的位置。函数接受四个参数,分别是需要移动的物体(cube)、物体原来的位置(oldPo)、物体新的位置(newPo)和动画的时间(time)。

bim3d.initTweenNone(cube, oldPo, newPo, time)

更新相机位置:

用于更新相机的位置。它使用了Tween.js库来创建一个动画效果,将相机的位置从当前位置移动到指定的位置。

函数接受两个参数:position表示目标位置,offset表示相对于目标位置的偏移量,默认为{x: 0, y: 0, z: 0}。

bim3d.updateCamera(position, offset)

//还原相机位置(position为需要还原的目标位置)
bim3d.resetCamera(position)
1.0.7

2 months ago

1.0.6

6 months ago

1.0.5

6 months ago

1.0.4

6 months ago

1.0.3

6 months ago

1.0.2

6 months ago

1.0.1

6 months ago

1.0.0

6 months ago