BAM资产管理器

    • Blender文档打包
    • 依赖关系的自动映射下面重点介绍如何使用BAM。

    资产管理器。

    BAM是一个独立的Python安装包,不需要特殊的设置即可在任何系统中运行,唯一的要求是Python 3(以及pip,即Python安装包管理器,以便更容易的安装BAM)。

    在Windows,Linux及macOS中安装Python 3和pip的方法各不相同,可查看在线文档来了解针对具体平台的相关事项。

    安装好Python 3和pip以后,可通过命令行来安装BAM,指令如下:

    安装成功后,就可以使用 bam 指令了。输入此指令并回车后,会列出所有可用的子命令。

    此命令用来把 文档和所有相关的依赖文件打包为一个 .zip 文档以便于重新分发。:

    1. usage: bam pack [-h] [-o FILE] [-m MODE] [-e PATTERNS] [-a] [-q] [-c LEVEL]
    2. paths [paths ...]

    可以像这样把blend文档打包,并创建一个同名zip压缩文件。

    1. bam pack /path/to/scene.blend
    1. bam pack /path/to/scene.blend --output my_scene.zip --compress=best

    此指令提供了几种适用于不同工作流程的选项(如最终分发,部分提取,渲染等等)。

    • -o, —output <FILE>
    • 输出文档,或在多重输入时输出目录。
    • -m, —mode <MODE>
    • 输出文档,或在多重输入时输出目录。可选项为: ZIP, FILE
    • -e, —exclude <PATTERN(S)>
    • 打包时有选择性的排除一些文件。

      • —exclude="*.png"
      • 采用Unix shell方式的通配符(不区分大小写)。
      • 可以使用多重类型,以“;”为分隔符。
    • , —all-deps
    • 采用所有的依赖关系(未使用的非直接的依赖关系也包括在内)。
    • -q, —quiet
    • 不作状态输出。
    • -c, —compress <LEVEL>
    • 结果文档的压缩等级。可选项为:default, fast, best, store
    • —repo <DIR PATH>
    • 为压缩所选文件指定根路径。这样可以不进行重映射即创建一个作品树结构的稀疏拷贝。
    • —warn-external
    • 报告外部库的错误(丢失路径)。

    考虑下列目录布局,其中 01_01_A.lighting.blend 文档带有关联库。

    运行 bam pack /scenes/01-opening/0101_A.lighting.blend 命令后,会得到 _01_01_A.lighting.zip 文档,此文档内部结构如下所示。

    1. ~/01_01_A.lighting
    2. ├─ 01_01_A.lighting.blend
    3. └─ __/
    4. ├─ 01_01_A.anim.blend
    5. └─ __/
    6. └─ lib/
    7. └─ chars/
    8. ├─ agent.blend
    9. └─ boris.blend

    请注意此输出结果中所有路径是如何以 01_01_A.lighting.blend 为根重映射的。如果运行 命令,输出结果就会不同了。

    1. ~/01_01_A.lighting
    2. ├─ lib/
    3. | ├─ agent.blend
    4. | └─ boris.blend
    5. └─ scenes
    6. └─ 01-opening/
    7. ├─ 01_01_A.lighting.blend < The BAM packed file
    8. └─ 01_01_A.anim.blend

    此处未进行重映射,仅仅简单地提取出所有文档而没有给出相对于 01_01_A.lighting.blend 的直接或间接的依赖关系。这实际上是原始作品树结构的稀疏拷贝。

    重映射blend文档的路径:

    1. usage: bam remap [-h] {start,finish,reset} ...
    • 首先运行 bam remap start . 来(递归地)储存项目的当前状态。
    • 然后在文件系统中重新安置文档(重命名,更改放置位置)。
    • 最后运行 bam remap finish 来应用修改,并更新 .blend 文档内部路径。

    Note

    在当前目录下重映射创建一个名为 bam_remap.data 的文档。可以把整个项目重新放置到新的地方,但在执行 finish 的时候此文档必须是在当前目录内。

    Note

    此命令依赖文档的独占内容,故一旦开始重映射后要注意不要修改文档。

    子命令

    remap start

    开始重映射blend文档:

    1. usage: bam remap start [-h] [-j] [paths [paths ...]]
    • -j, —json
    • 生成JSON输出。

    remap finish

    结束重映射blend文档:

    1. usage: bam remap finish [-h] [-r] [-d] [-j] [paths [paths ...]]
    • -r, —force-relative
    • 所有重映射路径采用相对路径(即使源文档采用绝对路径也改为采用相对路径)。
    • -d, —dry-run
    • 如同路径正在运行一样打印输出结果。
    • -j, —json
    • 生成JSON输出。

    remap reset

    取消路径重映射:

    1. usage: bam remap reset [-h] [-j]
    • -j,