Initial commit: RHINE LAB · ANALYSIS OS:三维界面与动效实验(本仓库不含个人归档索引数据)

This commit is contained in:
WpyQwq
2026-09-19 13:04:56 +08:00
commit 3f422218a5
1098 changed files with 39410 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
# 内部模型专项打磨
日期:2026-09-09。需求:更锐利的内构边缘、半透明磨砂质感、改善两环连接处。继续采用 Blender MCP 建模;外壳与交互规则沿用现状。
## 几何与法线
- `art/internal_architecture.py` 生成环形屋面、直立壁板、内孔薄阶、橙色嵌带、84/52 根立面细肋与连续连接薄片。`art/clear_reference_details.py` 保留外盖压槽、浮雕文字等已有细节。
- 环形面沿圆周使用 192 段并平滑插值,在截面折边处使用分裂法线;不跨屋面与侧壁平均法线。切边为小平面。橙色嵌带也采用直壁截面。
- 连接薄片为一条三次贝塞尔路径,两端导数与环切线一致,宽度 0.225–0.260,烘焙后厚度 0.008。截面角处断开法线,沿路径平滑;两端展宽、中央浅拱。
- 导出前断言内构位于盖板与基板之间;GLB 实测内构深度 -0.0340000 至 0.142399997。没有左侧高塔。
- 通过 Blender MCP 顺序执行 `art/build_archive.py` 和 `art/build_assembly.py`,保留单体与拆解 `.blend`。先导出至 `art/.cache`,成功后替换产品 GLB,避免浏览器读取到半写入文件。
## 材质
`src/internal-optics.ts` 定义四类内部玻璃表面:壁板、屋面、切边和连接片。使用粗糙高光与掠射角透明密度,保持薄片的平面感。闭合薄层使用正面绘制,避免前后表面重复加深。
Three.js 的外层 transmission 捕获不包含其他 transmissive 网格。因此内构先在不透明捕获序列中,以自定义 alpha 混合绘制到基板与细肋上,外盖再折射已经合成的内构。它是实时薄层透明近似;没有完整体积散射或多层路径追踪。基线灯光和外盖清晰/磨砂参数未改变。
## 验证
- `node --experimental-strip-types scripts/check-internal-optics.mjs`:通过。外壳顶点误差 0、法线误差 0;内构三角形几何法线与着色法线最小点积 0.9997446,说明折边未再次被平均成圆角。四种半透明材料与一条连接薄片检查通过。
- `node --experimental-strip-types scripts/check-assembly.mjs`:通过;六组装配与单体顶点最大差 1.688e-7,高度 3.70000005。
- `node --experimental-strip-types scripts/check-decryption.mjs`:通过;包含实际 GLB 的内构空间约束与材质连续切换绑定。
- `npm run build`:通过,保留既有包体大小提示。
- `reference/decryption-check.html`:8 项真实应用检查通过,覆盖解密、清晰/磨砂反向切换、拆解时切换、返回详情及中途退出。
- 浏览器复核:无遮挡的斜视、连接处 1.6 倍放大、清晰装配与磨砂装配。外盖透视正常,原片与模型仍有材质、比例及光照差异,最终效果待用户查看。
## 对照
`reference/internal-review.html` 保留本轮打磨前与当前资产,可切换三种装配显示、三个角度及放大。两边共用相同灯光与视角。网格用于展示透明层次,仅存在于本地对照页。打磨前资产为 `reference/internal-study/assembly-before.glb`;此前正式版本可从提交 89c7742 恢复。