前言

在数字孪生平台中,将监控视频实时投影到三维模型表面,可实现视频与场景的深度融合,提升可视化与监控能力。本文介绍如何通过 MapGIS 数字孪生平台的接口实现视频投影。

效果预览

在这里插入图片描述

接口说明

视频投影功能通过 MapGISCloudRender.MapGISSceneProjection 类实现。

构造方法:

new MapGISCloudRender.MapGISSceneProjection(url, position, options)
  • url (String):视频地址
  • position (Cartesian3):投影起点坐标(经度、纬度、高程)
  • options (Object):可选参数,详见下表
参数类型默认值说明
brightnessNumber1亮度
widthNumber108宽度(米)
heightNumber72高度(米)
farNumber100.0投放距离(米)
fovxNumber90水平视域(°)
fovyNumber90垂直视域(°)
pitchNumber0俯仰角
yawNumber0偏航角
showLineBooleantrue是否显示投放范围
bCoverBooleantrue是否覆盖背景
loopBooleantrue是否循环播放
animationOnEndfunction动画结束回调

快速开始

const videoUrl = 'http://xxx/yourvideo.mp4';
const position = new MapGISCloudRender.Cartesian3(经度, 纬度, 高程);
const projection = new MapGISCloudRender.MapGISSceneProjection(videoUrl, position, {
  fovy: 70,
  brightness: 10,
  far: 60,
  yaw: -180,
  pitch: -50
});
scene.addCovering(projection).then(() => {
  projection.play();
});

可以通过调整 options 参数,实现不同的投影效果。

常见问题

  • 视频无法播放:由于数字孪生平台采用云渲染技术,因此请检查Server for Unreal是否能访问视频,而不是像webgl三维开发,将视频放在客户端目录。
  • 投影位置不正确:请确认 position 坐标的经纬度和高程。

更多推荐