本文主要介绍智能导览的功能详情、配置文件和对应的插件API使用方式。
功能简介
智能导览会根据用户配置的导览文件,进行相应的场景跳转,场景旋转,语音播放(如果配置了语音),达到导览完整场景的目的。示例效果如下:
导览配置
{
paths: [{
id: 'default', // 路线id
group: [{ // 路线中具体的场景组
spotId: 'p0', // 场景
animation: {
duration?: 3, // 动画时长,单位秒,若未配置,sdk内置默认值为3
direction: 1 | 2 | 3, // 旋转方向:1:最短路径 2:顺时针,3:逆时针,
from: { // 相机起始位置,算法默认生成的值是前一个场景的to的值
ath: -50,// [-180, 180]
atv: 30, // [-90, 90]
},
to: { // 相机结束位置,算法默认生成的值是指向下一个场景的角度
ath: 120, // 水平角度:[-180, 180]
atv: 30, // 垂直角度:[-90, 90]
}
},
transition?: {
duration: 2 // 过渡时长,单位秒,若未配置,sdk内置默认值为2
},
audio?: { // 语音配置,若未配置,则不播放语音
enable: true | false,
name: 'xxx',
url: 'xxxxxxxxxx', // 语音链接
text: 'xxxxxxxxxx', // 语音文本
duration: 8.5, // 语音时长
voice: 1 | 2, // 语音类型:1: 男声 2:女声
}
}]
}]
}
功能使用
智能导览是以插件的形式引用
<script type="text/javascript" src="https://g.alicdn.com/sail-fe/alibaba-lyj-js-player-umd/1.1.2/plugin.js"></script>
<script type="text/javascript">
const { AiTourPlugin } = TideWanhuatongPlugins;
</script>
// 第一步:注册插件
app.use(new AiTourPlugin(), 'AiTourPlugin');
// 第二步:获取导览配置数据
const tourConfig = xxx // 数据根据实际应用场景获取,格式如上述导览配置所示
// 第二步:在场景加载完成后,启动导览
ProgressAPI.event.on("SceneLoadEnd", () => {
const aiTour = app.getPlugin('AiTourPlugin'); // 获取插件实例
aiTour.start(tourConfig); // start方法必须在场景加载完成后调用才能正常启动,如果自行用按钮控制启动也要注意这一点
})
交互API
const aiTour = app.getPlugin('AiTourPlugin'); // 获取插件实例
/**
* 开启导览
*/
aiTour.start(tourConfig: any)
/**
* 暂停导览
*/
aiTour.pause()
/**
* 恢复导览
*/
aiTour.resume()
/**
* 根据索引切换导览路线
* @param index 路线索引
*/
aiTour.switchToPathByIndex(index: number)
/**
* 根据id切换导览路线
* @param id 路线id
* @returns
*/
aiTour.switchToPathById(id: string)
/**
* 根据索引切换当前导览路线上的点位
* @param index 点位索引
*/
aiTour.switchToGroupByIndex(index: number)
事件
// 导览点位变化
aiTourPlugin.event.on('tourChange', (spotInfo)=>{
})
// 导览结束
aiTour.event.on('tourEnd', ()=>{
})
文档内容是否对您有帮助?