熬夜到凌晨两点,我靠这个Sketchfab下载器把3D模型“搬“回了本地

发布时间:2026/8/20 11:13:42
熬夜到凌晨两点,我靠这个Sketchfab下载器把3D模型“搬“回了本地 熬夜到凌晨两点我靠这个Sketchfab下载器把3D模型搬回了本地【免费下载链接】sketchfabsketchfab download userscipt for Tampermonkey by firefox only项目地址: https://gitcode.com/gh_mirrors/sk/sketchfab一个差点让我崩溃的深夜上周三为了给客户做个产品演示我需要一个高质量的机械臂3D模型。网上翻了一圈最终在Sketchfab上找到了一个近乎完美的作品。问题来了Sketchfab只能在线看不提供直接下载。于是我开始了我那场注定失败的抢救行动打开截图工具从各个角度狂按截图拼出来的模型只有正面能看打开浏览器开发者工具在密密麻麻的网络请求里翻找模型文件找了两小时一无所获试着录屏结果录出来的画面全是透视变形放到Blender里根本没法用。凌晨两点我瘫在椅子上看着屏幕里那个看得到摸不着的模型脑子里只有一个念头一定有人解决过这个问题一定有。然后我就遇见了Sketchfab下载器——一个运行在Firefox的Tampermonkey插件里的用户脚本。它能在模型页面加载时自动提取几何数据和纹理一键生成OBJMTL文件并下载所有贴图让3D设计师、游戏开发者、教育工作者这些需要反复获取3D素材的人从对着屏幕干瞪眼变成点一下按钮就完事。第一次见面我被一句OUT OF DATE吓了一跳找到这个项目的过程很简单git clone https://gitcode.com/gh_mirrors/sk/sketchfab拉下来之后目录里就三个文件文件作用sketchfab.js核心用户脚本全部逻辑都在这viewer.txt一份Sketchfab viewer代码的存档供脚本作者分析用README.md说明文档说实话打开README的瞬间我心里咯噔一下——标题就是加粗的!! OUT OF DATE !!下面还补了一句Marked as unmaintained已停止维护。这意味着两件事坏消息是作者已经撒手不管了好消息是脚本本身是完整的而且代码结构非常小巧整个脚本不到300行没有什么依赖和复杂的构建流程。对于一个能用就行的下载工具来说这反而是优点——没有花架子全是干货。安装实录比我想象的简单太多整个过程基本就三步手残党也能完成装好Tampermonkey插件在Firefox的扩展商店里搜索Tampermonkey安装即可它是用户脚本的运行容器。新建一个用户脚本打开Tampermonkey管理面板 → 添加新脚本编辑器里会出现一个默认模板把sketchfab.js的全部内容复制进去覆盖掉模板然后保存。去模型页面验证打开任意一个Sketchfab模型页面等几秒钟页面顶部的标题栏里就会多出一个红色的DOWNLOAD按钮。第一次点击DOWNLOAD的那个瞬间我记忆犹新浏览器开始弹出下载提示一个.obj文件、一个.mtl文件、还有一串纹理图片漫反射贴图、法线贴图、高光贴图……全部自动落盘。我把它们拖进Blender机械臂的模型完好无损地出现在视口里贴图严丝合缝地贴在表面——那一刻的成就感比我自己建模还爽。 第一次下载时浏览器可能会弹窗询问是否允许下载多个文件记得选允许否则贴图会漏。原理大白话一个站在厨房后门的偷师学徒你可能会好奇它不是官方功能凭什么能把模型数据拿到手打个比方你就懂了。Sketchfab在线展示模型就像餐厅在后厨做菜前端代码是菜单WebGL是炒菜的大厨每一道菜模型出锅时都需要用到食材清单顶点坐标、法线、UV、调料配方材质属性和食材本身纹理贴图。这个脚本干的活就是在后门雇了一个偷师学徒Firefox有个独有的事件叫beforescriptexecute会在页面加载每一个JS文件之前触发。脚本站在门口验包裹只要发现是Sketchfab的viewer代码就拦下来先抄一份。抄完之后脚本在关键函数drawImplementation里注入一行代码——相当于在大厨炒菜的锅边安了个数据分流器。每次模型被绘制几何数据和材质信息都会被复制一份存进window.allmodel。等模型加载完毕你点DOWNLOAD按钮时脚本把存下来的数据重新整理顶点和法线排成OBJ格式、材质写成MTL格式、纹理贴图按URL逐个下载。整个过程脚本没有碰任何服务器接口也没破解任何加密它只是在你本地浏览器里把本来就要渲染到屏幕上的数据顺便抄了一份。这就是为什么它能做到零权限、零依赖、点一下就好。进阶技巧与避坑清单都是我用出来的血泪经验1. 一定要用Firefox别的浏览器白搭脚本依赖的beforescriptexecute事件目前只有Firefox支持Chrome和Edge都没有。我第一次图省事用Chrome测试结果按钮死活不出现折腾半天才发现是浏览器不对。所以Firefox Tampermonkey缺一不可。2. 等模型转起来再点下载脚本在模型真正开始渲染时才会收集到数据。如果你页面刚打开、模型还在转圈加载时就急着点DOWNLOAD导出的OBJ可能是空的。稳妥的做法是等模型在浏览器里完整显示、可以旋转了再点按钮。3. 下载的贴图不匹配看文件名和MTL对照导出的MTL文件里会标明每张贴图的类型map_Kd是漫反射、map_bump是法线、map_Ks是高光纹理文件名就是URL最后一段。如果某张贴图在你用的软件里显示不对多半是类型名映射问题手动改一下MTL里的行就行。4. 大型模型先精简再下载遇到面数几十万的高精度模型脚本导出的OBJ会很大Blender打开都可能卡。建议先在Sketchfab页面上用查看器自带的简化功能调低模型精度再点下载文件体积能小一大半导入也快得多。5. 心里要有数这是一个未维护的脚本脚本靠匹配viewer代码里的特定函数名来注入钩子。哪天Sketchfab更新了前端代码函数结构一变这个脚本可能就失效了。如果某天按钮不出现了别慌——刷新页面、清缓存、确认Firefox版本都试过还不行那就是代码对不上了只能等社区有人更新。写在最后这个脚本不完美它只支持Firefox、作者已不再维护、遇到DRM保护的模型同样没辙。但它教会我一件事——很多看起来不可能的需求其实只是缺一个敢想敢干的人。如果你也是那种经常为3D素材发愁的人我强烈建议你花十分钟装上试试克隆仓库、复制sketchfab.js到Tampermonkey、打开一个模型页面、点下那个红色按钮。当你的Blender里出现第一个完整模型的那一刻你会回来感谢今晚的自己。工具的价值永远是让人把时间花在创作上而不是花在想办法拿到素材上。别熬夜了去下载吧。【免费下载链接】sketchfabsketchfab download userscipt for Tampermonkey by firefox only项目地址: https://gitcode.com/gh_mirrors/sk/sketchfab创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考