这是《数字展厅 Unity 项目开发实战分享》系列的第二篇,聚焦没有技术文档的大型 Unity 工程怎么接手梳理。清点不是打开脚本从头读,而是固定扫三处、交叉验证,最后产出一份主要给不会写代码的人看的清单。文中涉及的后台地址、服务凭据、设备 IP 一概不展开。

本页目录

  1. 2.1 先扫三处,再落清单
  2. 2.2 清单长什么样
  3. 2.3 遇到的问题与解决办法

点击目录可直达对应小节;页面各小节标题均已设置锚点 id,便于外链引用与搜索引擎抓取。

2.1 先扫三处,再落清单

接手没有技术文档的交付工程,最忌讳"打开脚本从头读"。我的办法是固定扫三处、交叉验证:① Assets\Scripts 下的全部业务脚本,按目录分组清点;② StreamingAssets 下的 JSON 与 txt,它们往往比注释更能说明运行时行为;③ 场景 YAML,反查组件挂载与引用,补上代码看不出的绑定。产出统一为"一节一个模块",写清模块作用、实现方式、关键脚本与方法、触发方式——66 点位项目最后落成 20 节。

2.2 清单长什么样

模块主要脚本触发方式
设备注册 / 登录Register.cs启动自动执行
MQTT 通信中心MQTT.cs由注册流程调用 Init
主控分发(台号选择与指令路由)UIManager.csMQTT 消息驱动
点位数据与显示PointsManager.cs / PointController.cs启动加载 + 点位更新消息
路线绘制SurveyingAndMappingComponent.cs / InfoShowPanel.cs点击"去这里"
LED 屏控制LED/LEDController.cs启动登录 + 导航联动 + 定时刷新
机械臂控制Port/PortController.cs / DebugModel.cs启动复位 + 导航联动 + 调试面板
待机轮播Standby.cs360s 无操作
语音搜索SearchPanel.cs语音按钮 / 音量超阈值唤醒

配套盘点表比清单本身更常被同事翻:

盘点项内容
业务脚本根目录 26 个 + LED 5 个 + Port 2 个
场景Regist.unity / Map.unity / Test.unity
配置文件9 个(config.txtmqttConfig.jsonLEDConfig.txtPortConfig.txtAngleConfig.txtCarouselText.txtbuild_info.txtdevice_auth_token.datPointsInfo.json
点位数据66 条(字段 pointName / pointInfo / distance / angle
第三方依赖10 项(MQTTnet、UniTask、DOTween、AVProVideo、TouchScript、UnityMainThreadDispatcher、Newtonsoft.Json、LitJson、ZXing、SAPI)
受控外设3 块 LED 屏 + 3 个机械臂

2.3 遇到的问题与解决办法

问题:第三方依赖最容易漏。

只看 using 会漏掉经资源与场景引入的库(如视频播放组件、触摸手势库)。用"using 清单 + 第三方目录 + 场景组件类型"三头对齐,核对出 10 项;后来换机部署时,这张依赖表直接当环境检查单用。

问题:命名和注释会骗人。

工程里有两个串口实现,Port/PortOne.cs 大部分代码被注释掉了,真正在用的是 PortController.cs。对可疑脚本我坚持两条验证——场景里实际挂的是哪个组件、运行时是否被调用;都不成立就标注为"遗留/未启用"。

问题:后台侧功能也要清点,且要趁登录态在的时候做。

后台是 FastAdmin(ThinkPHP)底的物联网设备工程管理系统,业务链路是项目 → 地图 → 分类/点位目标 → 设备,再叠加一层项目级权限分配。后台菜单受登录态与权限控制,未登录时很多菜单根本不出现,清点必须一次做完,否则清单天然缺项。

问题:外配型工程,"是否需要改代码"必须单列。

另一个展厅大屏项目(8 个展示模块,6 个走小图+大图外配、2 个走视频)我做过一份资源外配对应表,核心三列:资源位、消费方代码、是否需要改代码。它暴露过两类典型问题:某模块瀑布流的目录前缀在代码里写成了 Small/01HXTD,实际目录是 SmallPic/01HXTD,一点该模块就抛 DirectoryNotFoundException,改一行字符串即可,但没有这张表很难定位;以及历史遗留的双重扩展名文件(xxx.mp4.mp4)不会被正常识别。还有几条必须写进注意事项的约定:小图与大图目录必须同名成对、文件名不能含 meta 字样(代码用 Contains("meta") 过滤元数据文件)、窗口分辨率由 Config.txt键@值 控制、部署后配置改动一律重启生效。

这份清单的价值不在"给开发看",而在"给不会写代码的人看":运营换图、换视频、改分辨率,照着对应表操作,就不用来回找开发。

回头看这一方向,能沉淀成方法的其实就一条:接手工程先扫三处再写清单,把"是否需要改代码"这类判断标清楚。都不是什么高深技术,但都是被现场问题反复教育出来的。

(内容由AI生成,仅供参考)

想聊聊您的项目?

从技术选型到落地实施,欢迎随时交流。

联系我们