跳到主内容

PRJ-08 OPEN SOURCE

NetDrone Simulator 网络无人机 VR 模拟器

vr networking lab on pico 4 with drone scenarios

在 VR 里边操控无人机,边学计算机网络

  • VR/XR
YEAR
2025
ROLE
独立开发 · 教学系统设计
STATUS
OPEN SOURCE
TIER
项目

6 个

教学模块:按键教学 / 无人机控制 / 组网 / CRC / 路由 / TCP 握手挥手

50 个

C# 脚本(UI 系统 / 状态机 / 网络模型 / 控制分层)

5 个

预置子网络场景,终端设备依附于交换机下挂网络

// 01

问题背景

计算机网络课的 CRC 校验、路由表、TCP 握手挥手,靠 PPT 和抓包工具学始终隔着一层——学生知道流程,但没有「网络是真实存在的东西」的体感。

这个项目把抽象协议映射到可交互的 VR 场景:学生戴上 PICO 4,亲手把无人机终端加进子网络、编辑路由表、看连通性结果、一步步走完握手挥手的日志——协议从「背下来」变成「操作出来」。

// 02

系统架构

交互层

PICO 4 手柄与 VR 交互

PICO Unity Integration SDK(com.unity.xr.picoxr)XR Interaction Toolkit(XRI 示例资产)手柄按键映射教学界面(右手柄 A 键唤起)

教学模块层

六大可交互教学单元

无人机视角查看与模拟操控(实时相机画面,平移 / 原地旋转)网络设备管理(向子网络添加无人机终端,网络图映射生成)CRCSystem:生成多项式选择 / 自主校验 / 计算步骤展示RouterSystem:路由表查看与编辑、终端连通性验证TCP 三次握手 / 四次挥手流程演示(日志细节逐条展示)

核心框架层

可复用的 C# 基础设施

UISystem:UIManager / UIPanel / UIPopup / 3D 面板StateMachine:教学流程状态机NetworkData:Network / Router / Switch / EndDevice / RoutingEntry / IPAddress 数据模型ControlMode:无人机控制器(ControllerManager / DroneManager)

// 03

关键技术决策

每一条都包含「为什么这样选」与「代价是什么」——这是我理解这个项目的方式。

先建网络数据模型,再做 VR 表现

最容易踩的坑是直接摆场景、把网络逻辑写死在 UI 里。先建 Network / Router / Switch / EndDevice / RoutingEntry 的纯数据模型,教学模块全部基于模型计算(路由连通性、CRC 校验步骤),VR 场景只是模型的可视化。代价是前期看不到「酷炫画面」,但路由编辑、终端添加等功能都变成了对模型的操作,可测试可扩展。

CRC 教学做成「讲解 + 自主校验 + 步骤回看」三位一体

只给学生看动画,学会了也考不过;只给计算器,又不知道为什么。模块拆成知识讲解(语音 + 文字)、输入校验(自选生成多项式、输入数据与自算结果自动比对)、详细计算过程三步回看——把「教、练、评」装进一个界面。这是教学设计决策,技术上要求把 CRC 计算过程逐步骤结构化输出,而不是只给最终结果。

选 PICO 4 一体机而非 PC VR

教学场景在课堂,拖着线缆的 PC VR 不现实。PICO 4 一体机开箱即用,官方 Unity SDK 与 XRI 生态成熟,LivePreview 也缩短了调试回路。代价是一体机算力有限,场景规模与渲染开销要克制;以及平台绑定,移植其他头显需要重做 SDK 适配层。

// 04

我的职责与产出

RESPONSIBILITIES

  • 设计六大教学模块的交互流程与信息架构
  • 实现网络数据模型(网络 / 路由 / 交换机 / 终端 / 路由表项)
  • 实现 CRC 校验学习模块(讲解 / 校验 / 计算过程展示)
  • 实现路由配置与 TCP 握手挥手的交互演示
  • 实现无人机 VR 操控与实时相机视角回显
  • 搭建通用 UI 系统与教学流程状态机

OUTCOMES

  • 协议学习从被动听讲转为 VR 场景中的主动操作
  • CRC 模块支持学生自主输入校验并回看完整计算步骤
  • 路由表可编辑,终端连通性结果即时反馈装配正误

// 05

踩坑与复盘

课堂设备的真实约束(一体机性能、学生零上手成本)比技术选型本身更决定架构。复盘看,网络数据模型前置是最正确的决定;遗憾是 TCP 模块目前以日志演示为主,缺少报文级别的可视化动画,多人协同组网(教师端 + 学生端)也是值得做的下一步。

// 06

技术栈

  • Unity 2022
  • C#
  • PICO XR SDK
  • XR Interaction Toolkit

视觉风格