1. 投影灯光对象

位于: BOS3D.ProjectorLight

1.1. 类声明

表示一个具体的投影灯光对象,继承自 Object3DCollection

1.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.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.addToRootScene(projectorLight);

1.2. 属性

1.2.1. map

/**
 * 需要投影的纹理对象,可以是普通纹理也可以是视频纹理
 * @type Texture
 * @memberOf ProjectorLight.prototype
 */

1.2.2. alphaMap

/**
 * 相机的透明贴图,可以是普通纹理也可以是视频纹理
 * @type Texture
 * @memberOf ProjectorLight.prototype
 */

1.2.3. target

/**
 * 投影看向的目标点坐标
 * @type Vector3
 * @memberOf ProjectorLight.prototype
 */

1.2.4. fov

/**
 * 相机的张角
 * @type Number
 * @memberOf ProjectorLight.prototype
 */

1.2.5. aspect

/**
 * 相机的横纵比
 * @type Number
 * @memberOf ProjectorLight.prototype
 */

1.2.6. distance

/**
 * 相机的投影距离(远裁剪面)
 * @type Number
 * @memberOf ProjectorLight.prototype
 */

1.2.7. color

/**
 * 投影的混合颜色
 * @type Number
 * @memberOf ProjectorLight.prototype
 */

1.2.8. intensity

/**
 * 投影颜色的亮度
 * @type Number
 * @memberOf ProjectorLight.prototype
 */

1.2.9. enabledShadow

/**
 * 是否开启阴影遮挡
 * @type Boolean
 * @memberOf ProjectorLight.prototype
 */

1.2.10. shadowBias

/**
 * 阴影的偏移值
 * @type Number
 * @memberOf ProjectorLight.prototype
 */

1.3. 方法

1.3.1. getView

获取当前投影相机的时间参数

名称 说明 类型 是否必须 示例
null null null null
//创建投影对象
let projectorLight = new BOS3D.ProjectorLight({
    viewer: viewer3D,
    //需要投影的纹理
    map: texture,
    //alpha贴图
    alphaMap: BOS3D.textureLoaderObject.load("../../../textures/alphaMap.png"),
});

//将投影灯光对象添加到投影灯光集合下
viewer3D.addToRootScene(projectorLight);

/**
 * 获取当前投影相机的视角参数
 * @return {Object}
 * */
let view = projectorLight2.getView();
console.log(view); //打印当前的相机参数
版权所有@盈嘉互联(北京)科技有限公司 京ICP备15051988号-9 Copyright © 2022 all right reserved,powered by Gitbook该文件修订时间: 2022-06-27 15:28:07

results matching ""

    No results matching ""