1. 类声明
表示一个具体的投影灯光对象,继承自 Object3DCollection
1.1. 参数
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
options | 一个有以下参数的对象 | Object | 是 | {} |
options.viewer | 场景初始化的 Viewer 对象 | Viewer | 是 | |
options.intensity | 投影颜色亮度 | Number | 否 | 1.0 |
options.enabledShadow | 是否开启阴影 | Boolean | 否 | true |
options.shadowBias | 阴影的深度偏移值 | Number | 否 | 15 |
options.near | 投影相机的近裁剪面 | Number | 否 | 100 |
options.map | 需要投影的纹理对象,可以是普通纹理也可以是视频纹理 | Texture 或 VideoTexture | 是 | textureLoaderObject.load("../../../textures/aaa.jpg") |
options.alphaMap | 需要投影的透明贴图,可以是普通纹理也可以是视频纹理 | Texture 或 VideoTexture | 是 | textureLoaderObject.load("../../../textures/alphaMap.png") |
options.target | 投影看向的目标点坐标 | Vector3 | 否 | new THREE.Vector3(0, 0, 0) |
options.fov | 相机的张角 | Number | 否 | 45 |
options.aspect | 相机的横纵比 | Number | 否 | 1.0 |
options.distance | 相机的投影距离(远裁剪面) | Number | 否 | 1000 |
options.color | 投影的混合颜色 | Color | 否 | new THREE.Color(0xffffff) |
1.2. 实例
//创建一个投影灯光对象
let projectorLight = new BOS3D.ProjectorLight({
//场景初始化的Viewer对象
viewer: viewer3D,
//需要投影的纹理对象,可以是普通纹理也可以是视频纹理
map: BOS3D.textureLoaderObject.load("../../../textures/aaa.jpg"),
//相机的透明贴图,可以是普通纹理也可以是视频纹理
alphaMap: BOS3D.textureLoaderObject.load("../../../textures/alphaMap.png"),
//投影看向的目标点坐标
target: new THREE.Vector3(-12000, -5000, 0),
//相机的张角
fov: 45,
//相机的横纵比
aspect: 1.0,
//相机的投影距离(远裁剪面)
distance: 6700,
//投影的混合颜色
color: new THREE.Color(0xffffff),
//投影颜色的亮度
intensity: 1.0,
//开启阴影遮挡
enabledShadow: true,
//阴影的偏移值
shadowBias: 15
});
//将投影灯光对象添加到投影灯光集合下
viewer3D.add(projectorLight);