场景预设插件
场景预设是对场景初始化时的一些属性设置的一个集成插件,更方便用户修改,且对其属性进行特殊赋值和做一些设置,达到了一些特殊的效果。
场景预设从表现、场景、效果、交互四个方面对场景属性进行集成,其中包括图层渲染、点击聚焦等众多功能点。
1. 数据结构
1.1 场景预设
interface ISceneSettingModel {
// 参数
parameter: ISceneSettingParameter
// 更新数据
update(data: ISceneSettingParameter): void
}
1.2 场景预设插件参数
interface ISceneSettingParameter {
// 是否显示模型边缘线
edges: boolean,
// 模型边缘线颜色
edgesColor: string,
// 渲染风格: default--默认, cartoon--动画, sketch--素描, technology--科技
theme: string,
// 渲染质量: low--流畅, medium--均衡-默认, high--画质
renderQuality: string,
// 背景颜色
bgColor: string,
// 高亮颜色
highlightColor: string,
// 界面风格: light--亮色主题, dark--深色主题
interfaceTheme: string,
// 场景地图: gis--GIS场景, static--静态场景-默认
mapMode: string,
// 是否显示天空
sky: boolean,
// 是否显示帧率
frameRate: number,
// 环境光强度
envLightStrength: number,
// 是否显示阴影
shadow: boolean,
// 是否显示菜单
contextMenu: false,
// 鼠标滚动方向, 默认为false
mouseWheel: string,
// 鼠标是否单击聚焦, 默认为false
clickFocus: string
}
2. 使用
2.1 初始化
const settingPlugin = new ubm.SceneSettingPlugin()
2.2 注册插件
scene.plugin.register(settingPlugin)
2.3 插件更新
settingPlugin.model.update({
edges: true,
edgesColor: '#eeeeee',
theme: 'default',
renderQuality: 'low',
bgColor: '#407BFF',
highlightColor: '#407BFF',
interfaceTheme: 'dark',
mapMode: 'gis',
sky: true,
frameRate: true,
envLightStrength: 10,
shadow: true,
contextMenu: false,
mouseWheel: false,
clickFocus: false
})
2.4 卸载插件
scene.plugin.uninstall(settingPlugin)