news 2026/8/21 3:13:31

别再无休止截图了:sketchfab 下载用户脚本把 3D 模型获取从 30 分钟压到 90 秒

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别再无休止截图了:sketchfab 下载用户脚本把 3D 模型获取从 30 分钟压到 90 秒

别再无休止截图了:sketchfab 下载用户脚本把 3D 模型获取从 30 分钟压到 90 秒

【免费下载链接】sketchfabsketchfab download userscipt for Tampermonkey by firefox only项目地址: https://gitcode.com/gh_mirrors/sk/sketchfab

深夜赶项目的你,终于在一个 Sketchfab 页面上找到了理想中的机械模型——但页面上找不到任何下载入口。于是你开始一帧帧截图、录屏、打开开发者工具翻资源列表,半小时后只得到一堆零零碎碎、对不上号的文件。如果你也经历过这种"看得到、拿不走"的抓狂,那么这款专为 Firefox 与 Tampermonkey 打造的sketchfab 下载用户脚本,值得你花两分钟读完这篇文章。它能把"手动折腾半小时"变成"点一下按钮,1~2 分钟拿齐完整模型文件"。

先花 30 秒,把下载按钮装进你的浏览器

别急着听原理,先让它跑起来。整件事只有三步,全程不需要写一行代码。

第一步:把项目拉到本地

git clone https://gitcode.com/gh_mirrors/sk/sketchfab cd sketchfab

克隆下来后你会发现,这个仓库干净得惊人,一共就三个文件:

sketchfab/ ├── README.md # 使用说明,简短但藏着两个关键前提 ├── sketchfab.js # 核心用户脚本,约 9.5 KB,全部逻辑都在这里 └── viewer.txt # Sketchfab 官方 viewer 的压缩源码存档(约 5.7 MB)

第二步:把脚本喂给 Tampermonkey

  1. 在 Firefox 扩展商店安装 Tampermonkey(免费,几分钟搞定)。
  2. 打开 Tampermonkey 管理面板 → 点击"新建脚本"。
  3. 把 sketchfab.js 的全部内容粘贴进编辑器,保存并启用。

💡 注意:粘贴时保留文件顶部的==UserScript==注释块,它声明了脚本的运行范围、加载时机和权限,删掉会导致脚本失效。

第三步:打开模型页,点那个红色按钮

访问任意sketchfab.com的模型页面,等模型渲染完成(通常 3~5 秒),页面顶部的工具条上会多出一个红色的DOWNLOAD按钮。点击它,浏览器会自动开始下载一份完整的资源包:

模型名.obj # 几何数据:顶点 v、法线 vn、UV 坐标 vt、面 f 模型名.mtl # 材质定义:newmtl 材质名 + 贴图引用 texture_diffuse.jpg # 漫反射贴图(map_Kd) texture_normal.png # 法线贴图(map_bump) texture_specular.jpg # 高光贴图(map_Ks)

首次触发时,浏览器可能询问是否允许下载多个文件,选择"允许"即可。就是这么简单:一个按钮、一批文件、零参数配置。

它是怎么"隔空取物"的:一个浅显版原理

你不需要懂代码也能理解它的思路,简单来说,脚本做的是"在模型的渲染管线里安了一个窃听器"。

Sketchfab 页面上的模型由一套庞大的 viewer 脚本渲染,而 Firefox 恰好提供了一个独有的beforescriptexecute事件——它能在页面脚本真正执行之前拦下对方。脚本正是利用这一点:

  1. 拦截加载:当检测到 Sketchfab 的web/dist/standaloneViewer脚本开始加载时,先阻止原始执行,改用 XHR 把源码抓下来。
  2. 定点打补丁:用一段正则定位到渲染函数drawImplementation的入口,在函数体第一行悄悄插入一句window.drawhook(this)。这样一来,每一次绘制模型时,脚本都能拿到"正在被画的那个模型对象"。
  3. 静默收集:被钩住的模型对象会被存入内存中的模型列表,靠_faked标记去重,避免重复收集。
  4. 一键导出:点击 DOWNLOAD 时,脚本从模型对象里依次取出顶点(Vertex)、法线(Normal)、UV 坐标(TexCoord0)和面索引(Primitives),把三角形列表(mode 4)和三角形条带(mode 5)都换算成标准面,写入 OBJ 文件;同时从材质的 stateset 里读出每张贴图的 URL 与通道类型,生成 MTL 并触发贴图下载。

📌 这里要特别说说viewer.txt的作用:它不是配置文件,而是作者存档的一份 Sketchfab viewer 压缩源码。正因为它躺在仓库里,作者才能反复比对、精确定位drawImplementation的注入点。想深入研究的读者,可以把 viewer.txt 当作"作战地图",对照 sketchfab.js 中的regpattern正则逐行理解。

贴图通道与 MTL 关键字的对应关系,脚本里也写得明明白白:

纹理通道MTL 关键字含义
DiffusePBR / DiffuseColormap_Kd漫反射
SpecularPBR / SpecularColormap_Ks高光
GlossinessPBRmap_Pm光泽度
NormalMapmap_bump法线
EmitColormap_Ke自发光
AlphaMask / Opacitymap_d / map_o透明

拿到这份映射表,你就知道导出的 MTL 为什么能直接被 Blender、Maya 正确识别。

三个真实场景,三种不同的省时方式

工具的价值,最终要落在具体的人身上。下面三个场景,覆盖了最常见的三类使用者。

场景一:老师的备课资料库

问题:3D 建模课程的老师想在课上拆解一个齿轮箱模型,但平台访问受限,离线状态下拿不出任何教学素材。以前的做法是截图十几个角度、录屏转一圈,再手工整理,一次备课要耗掉约 25 分钟,得到的还只是"外观参考",根本无法演示内部结构。

方案:在 Firefox 中打开目标模型页,等渲染完成后点击红色 DOWNLOAD,稍候片刻,完整的 OBJ + MTL + 贴图就位。

效果:以中等复杂度的单个模型为例,全程约 90 秒,且拿到的是可缩放、可剖切、可旋转的完整几何数据。备课效率提升 15 倍以上,课堂演示从"放图片"升级成"拆模型"。

场景二:独立游戏开发者的原型素材

问题:游戏原型阶段需要大量"够用就行"的基础模型做玩法验证,逐个手工扒资源会拖垮开发节奏。

方案:这个脚本支持批量工作流——搜索关键词,连续打开多个模型页,在每个页面点一次 DOWNLOAD,然后回到代码编辑器继续写逻辑,下载在后台自动完成。

效果:10 个原型模型,按旧方法逐个处理大约需要 3 小时;用脚本轮换操作,半小时内全部就位。更重要的是,OBJ 格式能被 Unity、Blender、Godot 直接导入,省掉了格式转换这一层麻烦。

场景三:研究者的 3D 数据样本收集

问题:做三维视觉或形态学研究时,需要成规模的模型样本,且要求格式统一、材质信息完整,手工收集既慢又无法保证一致性。

方案:脚本输出天然标准化——几何统一为 OBJ,材质统一为 MTL,贴图随通道自动归类,文件名取自原始 URL,便于批量重命名与建索引。

效果:50 个样本的收集与初步整理,从过去"一下午加半个晚上"压缩到约 1 小时。唯一提醒:研究用途同样要先确认样本的许可协议,别让合规问题拖后腿。

两张表,帮你决定"要不要用"

传统三种工作流 vs 用户脚本

获取方式单模型耗时你能得到什么连续处理 20 个模型
截图 + 录屏约 25 分钟外观参考图,无法复用8 小时以上
开发者工具手工抓取约 15 分钟零散文件,需手工拼装重建约 5 小时
sketchfab 下载用户脚本约 90 秒完整 OBJ + MTL + 贴图约 30 分钟

同样是"获取一个模型",三条路的终点完全不同:前两条路得到的是"素材的残影",最后一条路得到的是"可以直接开工的文件"。

适合谁、不适合谁

人群适配度说明
3D 设计初学者快速囤积练习素材,零技术门槛
独立游戏开发者原型验证的"效率外挂"
教师 / 培训讲师离线教学素材一键到位
3D 数据研究者格式统一,但务必先核对许可
商用项目团队每个模型都要逐项确认授权
追求"永远可用"的人项目已停止维护,平台改版后可能失效

新手最容易踩的三个坑

与其看常规 FAQ,不如先记住这三个最常见的坑,能帮你省下大量排查时间。

坑一:以为 Chrome 也能用。脚本依赖的beforescriptexecute事件是 Firefox 独有的,README 里也写得很清楚——"Firefox only"。Chrome 用户要么换浏览器,要么放弃幻想。

坑二:把 viewer.txt 当成配置文件去改。它只是 viewer 源码的存档,改它不会产生任何效果,还会白白增加困惑。记住,真正要安装的只有 sketchfab.js 一个文件。

坑三:下载后打不开,就以为脚本坏了。先检查三件事:网络是否中断导致贴图缺失;浏览器是否拦截了多文件下载(首次请选"允许");以及是否用支持 OBJ 的软件打开(Blender、Maya、3ds Max 均可)。多数"失败"其实是这三件事之一。

用之前,先把这页"使用须知"读完

这个工具在伦理与合规上属于"能力中性"——它只是一段把公开页面上的数据整理成文件的代码,用得好不好,取决于使用者。

  • 合法使用范围:个人学习、教学演示、非商业原型验证。下载前确认模型原作者的许可协议,只取明确允许免费使用的资源。
  • 禁止事项:下载付费或受版权保护的模型、将素材用于商业销售、二次分发他人作品。
  • 已知局限:脚本本体采用 MIT 协议(见 LICENSE),但 README 已明确标注"OUT OF DATE / unmaintained"——意味着它依赖 Sketchfab 当前的页面结构,平台一旦改版就可能失效;部分使用 DRM 保护的模型也无法导出;超大型模型会占用较多内存。
  • 风险提示:作为用户脚本,请只从可信渠道安装并留意其行为;不要因为工具存在就放松对版权的敬畏。

写在最后

回头看,这个项目最动人的地方,恰恰是它的"小":一个 9.5KB 的脚本文件,利用 Firefox 独有的生命周期事件,在别人家的渲染管线里打了个漂亮的补丁,换来的是普通人也能一键拿到完整 3D 资源的体验。从 25 分钟到 90 秒,省下的不只是时间,更是把"想做什么"变成"马上能做"的那股劲儿。

🔹 如果你正在学 3D、正在做原型、正在备一门新课,不妨现在就克隆仓库、装上脚本、打开一个模型页试试。两分钟之后,你可能会和我一样感叹:原来"下载"这个动作,还可以被写成这么聪明的样子。

合理使用,尊重版权,让工具为你省时间,而不是替你做决定。

【免费下载链接】sketchfabsketchfab download userscipt for Tampermonkey by firefox only项目地址: https://gitcode.com/gh_mirrors/sk/sketchfab

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 3:09:19

基于编辑距离与投票算法的文本数据清洗与对齐实战指南

1. 项目概述:从一道赛题到一套完整的数据科学实战方案看到“2023年认证杯SPSSPRO杯数学建模B题(第一阶段)考订文本全过程文档及程序”这个标题,很多参加过数学建模的朋友可能会心一笑。这不仅仅是一份简单的“解题报告”,它背后浓缩的&#x…

作者头像 李华
网站建设 2026/8/21 3:08:53

AI巨头收购传闻背后:模型与工作流整合的技术趋势与开发者应对

这次我们来看一个关于AI行业格局可能发生重大变化的消息:传闻中的人工智能巨头Anthropic,正计划以高达60亿美元的价格收购一家名为Decart的公司。对于关注AI模型开发、本地部署、API服务以及技术整合的开发者来说,这不仅仅是一则商业新闻&…

作者头像 李华
网站建设 2026/8/21 3:07:57

Coze云手机/云电脑:为AI Agent赋予图形界面操作能力

最近在折腾AI Agent时,发现一个能极大提升Agent操作上限的新“外挂”——Coze平台推出的云手机和云电脑功能。这相当于给你的AI Agent配备了一个可以远程操控的真实手机或电脑环境,让它不再局限于简单的文本对话,而是能像真人一样去操作App、…

作者头像 李华
网站建设 2026/8/21 3:04:53

从被动匹配到主动探寻:Agentic推荐系统如何重塑信息获取范式

1. 项目概述:从被动推送到主动探寻如果你在过去几年里深度参与过推荐系统的研发或应用,大概率会和我有同样的感受:我们似乎陷入了一个“精准的陷阱”。无论是电商平台的“猜你喜欢”,还是内容平台的“为你推荐”,其核心…

作者头像 李华