DevTrends开发者趋势
主题色

userzz1145141919810-rgb /

web-3d-viewer

一个单 HTML 文件的 OBJ 模型查看器,基于 Three.js。把 .obj + .mtl + 贴图打包成 ZIP 丢进浏览器就能看,不需要安装、没有后端。 特点 重点是贴图没显示出来时告诉你为什么。 OBJ/MTL 这套格式里,MTL 写的是 mapKd texture.png,但实际文件可能在子目录里、大小写不同、或扩展名不同。加载器找不到就静默跳过,模型渲染成一片黑或纯白,没有任何提示。 这个工具把每次贴图查找的过程打出来:…

语言HTMLDT软件开发DTWeb原始3d原始3d-model原始3d-viewer原始javascript原始model-viewer原始mtl原始obj原始obj-loader原始offline原始single-file

关于

一个单 HTML 文件的 OBJ 模型查看器,基于 Three.js。把 .obj + .mtl + 贴图打包成 ZIP 丢进浏览器就能看,不需要安装、没有后端。 特点 重点是贴图没显示出来时告诉你为什么。 OBJ/MTL 这套格式里,MTL 写的是 mapKd texture.png,但实际文件可能在子目录里、大小写不同、或扩展名不同。加载器找不到就静默跳过,模型渲染成一片黑或纯白,没有任何提示。 这个工具把每次贴图查找的过程打出来:精确路径 → 去扩展名 → 模糊包含,以及最终未找到的项。同时显示顶点数、三角面数、材质数。 实现上值得一提 按需渲染:静止时不重绘,只在视角变化或贴图加载完成时触发 切换模型时释放上一轮的 geometry、material 和全部 texture,并 revoke 对应的 blob URL(material.dispose() 不会连带释放贴图,这部分是单独处理的) 贴图尺寸超过设备 maxTextureSize 时关闭 mipmap,避免生成 mipmap 时显存溢出 适用边界 只针对 OBJ 工作流,不支持 glTF / GLB,也不支持骨骼与形变动画 需要联网:Three.js 和 JSZip 走 CDN(页面加载失败时会给出可切换的备用源) 移动端处理大 ZIP 受内存限制,实测安全线在 80–100 MB 左右 开发日志 每个改动的原因记在 CHANGELOG 里,不只记改了什么。比如最近修的一个:MTL 的 Kd 是 sRGB 值,而 THREE.Color.setRGB() 默认按线性色彩空间解释,暗色材质会整体发白——Kd=0.2 实际显示成 0.48。 感谢考虑收录。

收录记录

  1. 阮一峰周刊·用户投稿

    2026年10月24日 · 1 次收录

讨论这个产品