Gemini 4 Argon high / Antigravity
构建一个完整、照片级真实、可游玩的 3D 1974 模块化模拟合成器与直驱 180g 黑胶唱机工作室("CHRONO ANALOGUE // SYSTEM 1974"),并渲染一段 2 分钟(120.00 秒,7,200 帧)Full HD 1920x1080 @ 60.0 fps 的展示视频,演奏四部古典交响曲。使用 Gemini 4 Argon 来指导并整合项目,使用无头 Blender 5.2 Python(bpy)制作可编辑的倒角 3D 资产,使用 Nano Banana(图像生成器)+ 确定性 Python Sobel/PBR 合成生成 16 张表面纹理,使用 Three.js(r169 MeshPhysicalMaterial)实现 60 FPS 交互,使用 Web Audio API 实现实时声音,并使用 FFmpeg 进行 1080p60 H.264/AAC 编码。
1. 共享模式记录与管线校准
在项目根目录维护三条通过模式校验的 JSON 记录(并镜像到 public/ 以供运行时验证):
- contract.json:0.1 m 源单位(1.0 m 导出 glTF 单位),0.8 m 机架宽度(4 个 0.2 m 的槽位:VCO BANK、VCF 24 dB/OCT LADDER FILTER、CONTOUR ADSR/VCA、MODULATION LFO & BBD DELAY),15.0 度后面板后倾,Blender(+X 右、-Y 前、+Z 上)到 Three.js(+X 右、+Y 上、+Z 前)的转换,16 个已校准旋钮(绕局部 Z 轴 -135 度到 +135 度),12 个跳线插孔(6 个上部 [OUT] 插孔:VCO 1 OUT、VCO 2 OUT、VCF OUT、ENV CV OUT、LFO CV OUT、PHONO OUT;6 个下部 [IN] 插孔:VCO PITCH CV、VCF AUDIO IN、VCF CUTOFF CV、VCA AUDIO IN、VCA GAIN CV、DELAY IN),25 个从 C3 到 C5 的铰链琴键(MIDI 48-72,绕局部 +X 后铰链旋转 +4.5 度),以及 Turntable_Platter / Tonearm_Gimbal / Tonearm_Headshell / Turntable_SpeedSwitch / Turntable_StartStop 契约。
- world.json:64 个稳定实体,包含父子关系、带坐标标记的变换、16 条纹理资产记录、5 个相机预设(opening_studio、synth_rack_closeup、patch_and_keys、turntable_closeup、side_profile_tilt),以及已确定的视觉决策。
- progress.json:当前里程碑、角色负责人、已完成/未解决的工作,以及验证证据路径。
先通过将 blender/calibration_knob.blend 导出到 public/assets/models/calibration_knob.glb 并验证拾取和音频激活来证明管线可行,然后再构建完整的 64 实体场景。
2. 制琴师级 Blender 几何、UV 与 16 图 PBR 纹理
- 使用 Nano Banana 生成基础表面图像(上油美国黑胡桃木、拉丝枪金属唱机台面、1974 年前卫电子 LP 封面艺术、深浓缩咖啡色卵石纹人造革桌面,以及拉丝黑青铜 UI 控制台表皮),并运行 scripts/prepare_textures.py 合成 16 张高 DPI PBR 贴图(反照率、Sobel 高度转法线、微粗糙度、金属度,以及径向黑胶沟槽法线贴图)。
- 在 scripts/build_studio_assets.py 中,先对所有矩形柜体、底座、琴键和板条网格进行倒角(3 段),并沿每块板面的最长轴映射 V 坐标,使水平柜体横档和底座边沿显示水平木纹,而垂直侧板和板条显示垂直木纹。
- 将合成器面板(synth_faceplate_albedo.png)加深为 #101215 炭黑色阳极氧化铝,带有清晰的奶油色丝印刻度(#faf2e0)、琥珀/青色副标题、雕刻槽位接缝、角部螺丝,以及所有 16 个旋钮下方的金属电位器轴垫圈。将 mat_anodised_panel(丝印面板)与 mat_anodised_trim(哑光深色键床底盘,零纹理渗色)分开。
- 建模 56 段凹槽胶木旋钮,带旋压铝顶盖和高对比度奶油色指示嵌件;32 段六角螺母 3.5mm 跳线插孔,带深色孔洞;25 个雕塑感瀑布式白键和倒角乌木黑键,倚靠在深红色毛毡条上;240 段铸铝转盘边缘,带 2 条不同的频闪点轨道(33 1/3 和 45 RPM)以及一条凹陷的黑色分隔槽;一座雕塑感棱镜频闪照明塔,带发光的霓虹琥珀色透镜;一个凹陷的 45-RPM 适配器圆盘;一根万向液压 cueing 拨杆;一根 36 步 S 形管状镀铬唱臂,带开槽压铸镁唱头壳、唱头和指抬;一个对开 12 英寸 LP 封套支架;以及一张 3.80 m x 1.60 m 的浓缩咖啡色人造革工作室桌,带圆润胡桃木牛鼻前缘和连续的 L 形胡桃木声学板条墙(slat_i 从 -32 到 32,带胡桃木护墙板横梁,使任何视角都不出现背景空洞)。
3. 暗室 1974 工作室 PMREM 照明与 60 FPS 硬件控制台 UI
- 不要使用 Three.js 默认的白天花板 RoomEnvironment(),它会把水平黑胶和桌面表面冲淡成浅灰色。构建一个自定义深色天花板(0x060709)1974 工作室柔光箱 PMREM 环境,带掠射 3200K 暖色主光、冷青色控制室补光、暖琥珀色轮廓柔光箱,并在唱机频闪棱镜处添加一个局部霓虹琥珀色 PointLight(0xff5e14)。
- 将所有网格升级为 MeshPhysicalMaterial,使用计算切线和各向异性纹理过滤。将 mat_vinyl_record 设为乌黑(0x050507,clearcoat: 0.92,anisotropy: 0.90),以获得清晰的领结形沟槽反射,并保持水平金属表面(mat_turntable_deck、mat_anodised_trim)低眩光(roughness: 0.58-0.78,specularIntensity: 0.15-0.32),使其在方向光下永不爆白。
- 完全消除 CSS backdrop-filter: blur()。用实心拟物化拉丝黑青铜机架表皮(ui_hardware_console_skin.png)为顶部和底部 HUD 栏设置样式,将非拖拽悬停射线检测和 2D 示波器绘制节流至 30 Hz,并使用 THREE.PCFShadowMap,使交互式工作室保持 60 FPS,零控制台错误和零弃用警告。
4. Web Audio 合成器、唱机与走廊电缆布线
- 实现一个实时 Web Audio API 合成器(双振荡器,带连续波形变形和低八度方波、24 dB/oct 谐振梯形滤波器带饱和驱动、ADSR 包络、LFO 和立体声 BBD 延迟),以及一个可游玩的 180g 黑胶唱机,带 33 1/3 RPM(1.00x)和 45 RPM(1.35x)速度预设,在速度切换时保持播放位置。
- 将跨槽位跳线电缆(horizDist > 0.26 m)路由穿过上部 [OUT] 和下部 [IN] 插孔行之间中点处的透明水平走廊(corridorY = (p0.y + p1.y) * 0.5 - 0.005),并为每根电缆设置深度/高度车道偏移,使中间插孔(ENV CV OUT、LFO CV OUT、VCA AUDIO IN、VCA GAIN CV)和标签永不被遮挡。将同位置插头同轴堆叠(沿面板法线 +0.014 m),使共享插孔的多个电缆永不发生 Z-fight。
- 通过 scripts/verify_and_capture_rev3.py 验证所有 64 个 GLB 节点、红转绿自检故障注入、C3-C5 范围内 0.000 Hz 调音精度、跳线验证/拒绝规则、窗口失焦时防止卡音,以及 60 FPS 遥测。
5. 2 分钟 Full HD 1080p60 四交响曲社交媒体展示
- 创建 scripts/showcase_choreography.py 和 scripts/render_social_showcase_1080p60.py,渲染一段确定性的 120.00 秒(7,200 帧 @ 60.0 fps,1920x1080)展示视频(showcase-1080p60.mp4)和 48 kHz 立体声 WAV 母带(evidence/social_showcase_1974_symphonies_48k.wav),以及配套 .srt 字幕和社交媒体帖子文案:
- 0:00-0:30(第一乐章:贝多芬 C 小调第五交响曲,Op. 67):实时动画电缆跳线(VCO 1 + VCO 2 -> VCF,ENV CV -> VCF CUTOFF,4 根电缆)以及扫频 CUTOFF FREQ(280 Hz -> 7,400 Hz)和 LADDER DRIVE(3.8x)。
- 0:30-1:00(第二乐章:巴赫 D 小调托卡塔与赋格,BWV 565 / 维瓦尔第 — 冬 快板):实时电缆切换(LFO CV -> VCO PITCH CV,VCF OUT -> DELAY IN,5 根电缆)、簧片/方波管风琴音栓配置、C3-C5 范围内快速 16 分音符对位,以及立体声 BBD 延迟。
- 1:00-1:30(第三乐章:莫扎特 G 小调第四十交响曲,K. 550):跳线 PHONO OUT -> VCF AUDIO IN(5 根电缆),将 S 形唱臂降落到以 33 1/3 RPM 旋转的 180g LP 上,实时切换到 45 RPM(1.35x 音高与速度)演奏曼海姆火箭过渡段,然后返回 33 1/3 RPM。
- 1:30-2:00(第四乐章:贝多芬第九交响曲"欢乐颂"终曲):全机架极繁跳线,同时占用所有 4 个槽位的全部 6 个 [OUT] 插孔 + 旋转唱机伴奏,将 CUTOFF FREQ 扫频至 11.5 kHz,LADDER DRIVE 扫频至 4.2x。
- 在正在扫频的旋钮上使用 3D 双环皇冠高光,在实时电缆跳线期间用绿色高亮源插孔和目标插孔,将所有相机预设干净地框在 96 px 顶部 HUD 和 216 px 底部 HUD 之间,并在并行 Chrome worker 上运行 30 帧预卷预热,使琴键行程、唱臂角度和时间码(向下取整的十分之一秒)在所有 7,200 帧中无缝衔接。
来源:Emily · x.com