用 Astra 手写几百条提示词,我搞出了一台能转的 3D 恩尼格玛密码机
为什么要死磕恩尼格玛的内部机械结构
看 Veritasium 那期关于恩尼格玛密码机的视频,确实挺精彩。Jared Owen 的全流程动画演示也很直观,但看完之后,脑子里关于那些转子(Rotors)、反射器(Reflector)和接线板(Plugboard)之间精密咬合的逻辑,还是有一层雾蒙蒙的感觉。视频展示的是宏观运作,但我想要的是微观的、零件级别的机械直觉。
与其继续翻资料,不如自己动手建一个。于是我用 Astra 开始搭建这台机器的 3D 模型。这不是那种随便找个现成模型贴个图的活儿,我是从头开始定义每一个齿轮、每一个触点。
整个过程的核心不在于建模软件的操作,而在于如何向 AI 描述那些极其细微的机械公差和历史规格。
用 Astra 构建高保真模型的 workflow
我没有直接让 AI “生成一个恩尼格玛机器”,那得到的肯定是个大概其的几何体。我的策略是分拆、细化、校验。
1. 拆解参考与提示词工程
我收集了大量历史照片和剖面图作为参考。然后,针对每一个内部组件,我写了数百条极度详细的提示词(Prompts)。
比如,对于转子环上的接触片,普通的描述是“金属片”,但在 Astra 里,我会这样写:
A close-up view of the Enigma rotor contact ring, made of brass with a slightly oxidized patina, featuring 26 precisely spaced electrical contacts, each contact having a specific depth and angle consistent with M3 rotor specifications, rendered in 8k resolution, macro photography style, showing the wear patterns from thousands of turns.
这种写法强制 AI 关注材质、公差、磨损痕迹以及历史准确性。每一根导线、每一个弹簧的位置,都是通过这种“显微镜式”的提示词一点点抠出来的。
2. 自建检测工具确保尺寸精准
光靠 AI 生成还不够,因为它可能会在比例上“幻觉”。为了保证历史准确性,我编写了一套自己的检查脚本(Inspection Tools)。
这些脚本主要做两件事:
- 尺寸校验:测量生成模型中关键部件的距离。例如,相邻触点之间的角度偏差不能超过特定阈值。
- 位置对齐:确保转子轴心、接线板插座与外壳安装孔的相对位置符合二战时期德国陆军标准型(Wehrmacht Enigma)的规格。
如果检测脚本报错,我就调整提示词中的参数,重新生成,直到误差在允许范围内。这是一个迭代的过程,但结果非常精确。
3. 当前进度与体验
现在这个模型还处于进行中的状态(Work in Progress)。虽然外观已经高度还原,但内部的电气逻辑联动还在调试中。
目前的体验是:
- 视觉反馈强:你可以清楚地看到当你转动钥匙时,转子是如何带动滑环旋转的,这种机械美感比静态图片直观得多。
- 可交互性:模型支持基本的交互,你可以尝试模拟按键过程,观察电流路径的变化(虽然目前主要是视觉模拟,而非真正的加密算法实现)。
几个实际踩过的坑
提示词的颗粒度决定上限
一开始我以为用自然语言描述即可,后来发现对于机械结构,必须引入半结构化甚至伪代码式的描述。比如指定“齿距为 360/26 度”,AI 才能生成正确的齿轮形状。模糊的描述如“紧密排列”会导致随机性误差过大,无法通过后续的脚本检测。
参考图的权重平衡
使用参考图像时,容易陷入“过度拟合”。AI 有时会把背景里的杂物也当成机器的一部分建模。我学会了在提示词中明确排除项(Negative Prompts),比如 no background clutter, no extra wires, clean workspace,这能大幅减少清理模型的时间。
历史变体的混淆
恩尼格玛有好几种型号(海军版、空军版、陆军版),它们的转子数量和接线板布局不同。我在初期没区分清楚,导致生成的接线板针脚数不对。后来在提示词中严格锁定了型号为 Enigma I (Army),才解决了这个问题。这点提醒我们,在使用 AI 辅助创作历史内容时,明确的元数据约束至关重要。
结论与建议
如果你想深入理解某种复杂机械或历史设备,单纯看视频是不够的。利用像 Astra 这样的工具,配合精细的提示词工程和自动化检测脚本,你可以构建出属于自己的交互式知识库。
这个项目证明了两点:
- 细节决定真实感:几百条针对性极强的提示词,远比一条笼统的大指令有效。
- 人机协作的新范式:人类提供历史知识和精度标准,AI 负责具象化和细节填充,脚本负责质检。
如果你对历史机械感兴趣,或者正在尝试用 AI 进行高精度 3D 建模,不妨试试这种“提示词+脚本校验”的组合拳。模型开源部分还在整理中,后续如果有更完整的电气逻辑实现,我会再更新。
目前最直观的感受是,当你亲手“组装”并看到那些齿轮严丝合缝地转动时,对恩尼格玛这台机器的敬畏感会完全不一样。它不再只是一个密码学符号,而是一个精密的工程奇迹。
看完就愣了——你写提示词的耐心,我之前用 CAD 建过个火柴盒大小的蒸汽机模型,也整得自己手指发麻。那种“一个公差错了全盘推翻”的绝望感太熟了,你们这些 3D 建模的战友真的有毅力。