舰船多视角同步监控样例
基于 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 Cloud | 7.1,云渲染服务可访问 |
| DTS 实例 | 4 个可用实例,需替换源码中的 instanceId |
| 资源 | 已挂载 DTS_Library.pak,且舰船资源路径有效 |
| 坐标 | DTS 工程投影坐标,coordinateType: 0;具体 EPSG 必须与目标工程一致 |
| 前端环境 | Node.js 22.13 或更高版本 |
快速开始
- 下载并解压源码样例包。
- 确认 DTS Cloud 7.1 正常运行,并准备四个可用实例。
- 在
app/page.tsx中替换四个instanceId、云渲染地址和资源路径。 - 确认路线坐标与目标 DTS 工程使用相同投影坐标系。
- 在项目目录执行:
powershell
npm install
npm run dev- 打开
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、资源路径、路线和相机参数目前写在样例源码中,产品化时建议移入独立配置文件。