通用 Unity Asset Bundle -> glTF Binary (GLB) 导出工具。
当前发布版本:1.0.0。发行包目标为 Windows x64,使用 Python 3.14.3 构建,二进制未签名。
- Mesh 几何 (顶点/法线/UV/切线)
- 顶点组权重 (JOINTS_0/WEIGHTS_0 + 骨骼名)
- 形态键 / Morph Targets (Blend Shapes)
- 材质分组 (每个 SubMesh 独立 primitive + 材质)
- 贴图嵌入 或 外置 PNG
- Container Path 搜索
- 预烘焙索引 (快速查找)
- 并行扫描
运行 python build.py 会生成 Windows 交付目录:
dist/
UnityMeshExporter.exe # 扫描 Unity Bundle 并导出 GLB
ModelViewer.exe # 独立模型检视器
_internal/ # 两个 EXE 共用的运行时文件;不要单独移动或删除
ModelViewer 支持打开和拖入 .glb、.gltf、.obj。启用“叠加导入”后可一次选择或拖入多个上述文件。FBX 当前不受支持,请先转换为 GLB 或 glTF。
pip install -r requirements.txt
使用 Python 3.14.3(Windows x64)创建干净环境后执行:
pip install -r requirements.txt -r requirements-build.txt -r requirements-test.txt
python -m pytest -W error -q
python build.pybuild.py 是唯一受支持的 Windows 打包入口。发布验证与 ZIP 打包使用:
powershell -ExecutionPolicy Bypass -File tools/validate_release.ps1
powershell -ExecutionPolicy Bypass -File tools/package_release.ps1# 预烘焙索引 (首次使用)
python export_mesh_glb.py --game "<游戏目录>" bake --fast
# 搜索
python export_mesh_glb.py --game "<游戏目录>" search <关键词>
# 批量导出
python export_mesh_glb.py --game "<游戏目录>" export <关键词> [--ext]
# 单个导出
python export_mesh_glb.py --game "<游戏目录>" <bundle文件> [mesh名称]
# 环境变量
set UNITY_GAME_DIR=<游戏目录>
python export_mesh_glb.py bake --fast| 参数 | 说明 |
|---|---|
--game <dir> |
游戏根目录 (自动检测 bundle 路径) |
--bundle <dir> |
手动指定 bundle 目录 |
--ext |
外置贴图模式 (贴图保存为独立 PNG) |
--fast |
bake 时仅扫描 Mesh |
*_Data/StreamingAssets/Bundles/1.0*_Data/StreamingAssets/AssetBundles*_Data/aa(Addressables)*_Data/StreamingAssets
exported_mesh/
<mesh名称>.glb # 内嵌贴图模式
<mesh名称>/
<mesh名称>.glb # 外置贴图模式
textures/
<贴图名>.png
model_vieweris the source-agnostic viewer package used by the refactor.- Current viewer file support is
.glb,.gltf, and.obj. - Unity bundle preview is an internal bridge that produces the same scene-data contract for rendering.
- FBX is not included in the viewer file picker or drag/drop support until an importer/converter is shipped.