# FBXTextureLightweightBpy **Repository Path**: ke-caomeng/FBXTextureLightweightBpy ## Basic Information - **Project Name**: FBXTextureLightweightBpy - **Description**: 基于 Blender bpy 的 FBX 贴图轻量化工具,支持批量压缩贴图并重新导出带压缩贴图路径的 FBX。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-17 - **Last Updated**: 2026-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FBX 贴图轻量化工具(Blender bpy 版) 这是一个 Windows 图形界面工具,用于批量处理 FBX 模型贴图: - 后台静默调用 Blender,不弹出 Blender 主窗口; - 读取单个 FBX 或整个文件夹内的 FBX; - 提取或定位 FBX 使用的贴图; - 压缩贴图到 1024px 或 2048px; - 支持 JPG / WebP / PNG 输出; - 自动过滤重复贴图,避免重复压缩; - 重新导出新的 FBX,并让新 FBX 引用压缩后的外置贴图; - 输出压缩前后总体占用空间对比。 > 当前版本完全不使用 `pyfbsdk`,不依赖 Autodesk FBX SDK。 ## 输出结果 处理后会在原 FBX 同级目录生成: ```text 模型_lightweight.fbx textures/ 贴图.jpg 贴图.jpg ``` 新的 FBX 会引用 `textures` 文件夹里的压缩贴图。 移动或导入模型时,请把下面两个内容放在一起: ```text 模型_lightweight.fbx textures 文件夹 ``` 否则软件找不到外置贴图,看起来会像“没有贴图”。 ## 推荐设置 为了兼容 3ds Max、Unity、UE、普通 FBX 查看器,推荐: - 输出贴图格式:`JPG` - 图片质量:`75` - 贴图分辨率:`1024px` `WebP` 体积更小,但部分软件可能不显示 WebP 贴图。 ## 运行源码 需要: - Python - Blender - Pillow - Gradio 安装 Python 依赖: ```powershell python -m pip install -r requirements.txt ``` 启动界面: ```powershell python fbx_texture_lightweight_bpy_launcher.py --blender "D:\你的Blender路径\blender.exe" ``` 然后打开: ```text http://127.0.0.1:7860/ ``` ## 打包 Windows EXE 执行: ```powershell powershell -ExecutionPolicy Bypass -File .\build_exe_bpy.ps1 ``` 生成文件: ```text dist\FBXTextureLightweightBpy.exe ``` 运行 EXE: ```powershell .\dist\FBXTextureLightweightBpy.exe --blender "D:\你的Blender路径\blender.exe" ``` ## 文件说明 ```text fbx_texture_lightweight_bpy_launcher.py 图形界面和启动器 fbx_texture_worker_bpy.py Blender 后台处理脚本 FBXTextureLightweightBpy.spec PyInstaller 打包配置 build_exe_bpy.ps1 Windows 打包脚本 requirements.txt Python 依赖 ``` ## 注意事项 1. 本工具不把 Blender 打进 EXE。运行时需要指定 `blender.exe` 路径。 2. EXE 不需要用户安装 Python。 3. 如果目标软件不显示 WebP,请改用 JPG。 4. 如果原 FBX 使用了特殊材质节点,Blender FBX 导入/导出可能无法 100% 保留所有私有属性。