Skip to content

舰船多视角同步监控样例

基于 DTS Cloud 7.1 的四路云渲染同步监控样例:四个 DigitalTwinPlayer 实例分别从舰艏、左舷、俯瞰和舰艉视角跟随同一舰船对象,点击右侧预览即可无重连切换主画面。

当前发布物为 0.1.0 源码样例。下载包不包含 DTS 场景工程、云渲染实例或舰船模型资产,运行前需在合法的 DTS 环境中准备对应资源。

下载源码样例包

效果截图

舰船多视角同步监控运行效果:左侧主视角,右侧雷达、四路预览与任务仪表

样例能力

  • 同一页面常驻四个独立 DigitalTwinPlayer,分别连接四个 DTS Cloud 实例。
  • 每个实例通过 customObject.add() 加载同一个舰船模型。
  • 四路使用同一条闭环轨迹、相同到达时间和统一启动基准执行 customObject.startMove()
  • 舰艏、左舷、俯瞰和舰艉四套相机参数持续跟随目标。
  • 点击预览只切换布局和清晰度档位,不销毁或重连播放器。
  • 主画面使用 1920×1080,三个预览使用 640×360,四路均保持 16:9 画幅。
  • 提供航向、坐标、航迹进度、航点、渲染档位和雷达扫描等态势信息。

技术实现

样例通过四套独立的播放器/API 引用隔离各个实例。在每一路 onReady 之后创建 CustomObject,确认模型可查询后再启动轨迹并定位相机。

ts
const player = new DigitalTwinPlayer(host, {
  domId: `dts-player-${view.id}`,
  iid: view.instanceId,
  apiOptions: {
    onReady: () => {
      const api = player.getAPI();
      playersRef.current.set(view.id, player);
      apisRef.current.set(view.id, api);
    },
  },
});

舰船使用 DTS 资源库中的蓝图 Actor,通过 localRotation: [0, 90, 0] 修正模型自身朝向。运动路线由 8 个投影坐标组成,并补回首点形成约 9.76 km 的闭环。

ts
await api.customObject.add({
  id: 'naval-multiview-liaoning',
  pakFilePath: '@path:DTS_Library.pak',
  assetPath: '/JC_CustomAssets/ObjectLibrary/Exhibition/海军/red_辽宁号航空母舰',
  location: firstPoint,
  coordinateType: 0,
  localRotation: [0, 90, 0],
  isEffectRotation: true,
  smoothMotion: 1,
  visible: true,
});

await Promise.all(apis.map((api) =>
  api.customObject.startMove(SHIP_ID, 0, patrolPath),
));

系统要求

项目要求
操作系统Windows 10/11 x64
DTS Cloud7.1,云渲染服务可访问
DTS 实例4 个可用实例,需替换源码中的 instanceId
资源已挂载 DTS_Library.pak,且舰船资源路径有效
坐标DTS 工程投影坐标,coordinateType: 0;具体 EPSG 必须与目标工程一致
前端环境Node.js 22.13 或更高版本

快速开始

  1. 下载并解压源码样例包。
  2. 确认 DTS Cloud 7.1 正常运行,并准备四个可用实例。
  3. app/page.tsx 中替换四个 instanceId、云渲染地址和资源路径。
  4. 确认路线坐标与目标 DTS 工程使用相同投影坐标系。
  5. 在项目目录执行:
powershell
npm install
npm run dev
  1. 打开 http://localhost:3000/,等待四路状态进入“同步巡航”。

下载校验

  • 版本:0.1.0
  • 发布日期:2026-09-02
  • 文件:NavalMultiViewSyncDemo-v0.1.0-source.zip
  • 大小:2,207,803 字节(约 2.11 MiB)
  • SHA-256:0913b1a5ac04fd60a8e82c366ed0fe423a46b8bb60c00b4742cdb73bb667e7c8
  • 下载 SHA-256 校验文件
  • 查看发布清单

验证结果

  • ESLint 检查通过。
  • 前端生产构建通过。
  • 已验证四路播放器常驻、点击切换和主辅分辨率交换。
  • 已验证四个实例执行同一条 CustomObject.startMove() 轨迹。
  • 已验证模型本地旋转 90° 后,相机偏航补偿可保持四套相对视角。

数据、资产与安全边界

  • 下载包仅包含网页源码、说明和传播封面,不包含 DTS Cloud、场景工程或舰船模型资产。
  • 舰船模型名称和路径仅作为接口配置示例;使用者必须拥有相应 DTS 环境及资产授权。
  • 路线坐标为样例输入,不附带独立地理数据集;请勿直接用于未知坐标系的项目。
  • 样例只删除并重建自身对象 ID naval-multiview-liaoning,不会调用 customObject.clear() 清空场景中的其他对象。
  • 发布截图中的实例编号和坐标仅用于展示样例运行状态,不能作为远程访问凭据。

已知限制

  • 当前实现的是业务对象和时间轴同步,不是视频编码层面的逐帧 Genlock;不同实例的网络与渲染延迟可能造成少量画面偏差。
  • 雷达目标点、链路延迟和部分负载条属于界面演示数据;舰船坐标、航向、航迹进度和当前视角由实际运行逻辑驱动。
  • 样例依赖本地 DTS Cloud 与目标工程资源,不能作为纯静态网页独立运行。
  • 实例 ID、资源路径、路线和相机参数目前写在样例源码中,产品化时建议移入独立配置文件。