【问题标题】:Blender - Open and parse a .blend file from python scriptBlender - 从 python 脚本打开并解析一个 .blend 文件
【发布时间】:2016-01-31 13:39:36
【问题描述】:

我想从 python 脚本打开一个 .blend 文件并解析它(获取对象、动画和材料)。 到目前为止,我已经阅读了有关如何从搅拌机 API 执行此操作的文档(将脚本作为搅拌机插件运行),但我想在不打开搅拌机的情况下从命令行运行此脚本。

感谢您给予我的所有帮助。

【问题讨论】:

  • 你有没有尝试过?没有起点就无能为力。
  • 我知道,我知道的搅拌机文件是二进制的,你可以选择将它保存为 ascii 吗?

标签: python blender


【解决方案1】:

我意识到我不需要打开二进制搅拌器文件并对其进行解析即可使用这些对象。 Blender有自己的python安装,所以我在文件夹 path_to_blender/version/scripts/addons 里面放了一个python脚本,我可以在命令行中执行如下:

blender.exe --background  --python ./version/scripts/addons/superScript.py

接下来,如果你有一个 .blend 文件你想从你的脚本中读取,把它放在 background 参数之后,如下所示:

 blender.exe --background myFile.blend --python ./version/scripts/addons/superScript.py

在你的 python 脚本中执行以下操作:

import bpy
import os
for ob in bpy.context.scene.objects:
    print("object name:  ", ob.data.name)

在此示例中,我将在 .blend 文件中打印场景内的所有对象

【讨论】:

    【解决方案2】:

    正如您所回答的,最简单的方法是使用搅拌机,搅拌机安装中还包含一个名为blend_render_info.py 的脚本,它可以在不使用搅拌机二进制文件的情况下提取开始和结束帧设置,我不确定扩展它是多么容易,但它确实适用于 python 2.x 和 3.x

    为了获得更多详细信息,有一个名为 blender-aid 的旧项目被创建用于读取和更改混合文件数据,最近有人幸运地使用它使用 python 2.7 提取混合文件数据,如 this question 中所述

    【讨论】:

      猜你喜欢
      • 2015-03-20
      • 2011-11-23
      • 1970-01-01
      • 2017-10-26
      • 2021-03-22
      • 2021-06-22
      • 2019-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多