【问题标题】:Blender Scripting - Import Collada file and save it as .blendBlender 脚本 - 导入 Collada 文件并将其保存为 .blend
【发布时间】:2015-11-05 10:46:53
【问题描述】:

现在,我有一个 Python 脚本,可以将 collada (.dae) 文件转换为 blender 文件 (.blend)。

在命令行中:

C:\Program Files\Blender Foundation\Blender>blender.exe --background --python c:\Users\c.diaz\Desktop\convert_collada_to_blend.py -- c:\Users\c.diaz\Desktop
\Maya.dae -- c:\Users\c.diaz\Desktop\Result.blend

我的脚本:

import bpy
import sys

argv = sys.argv
argv = argv[argv.index("--") + 1:] # get all args after "--"

dae_in = argv[0]
blend_out = argv[1]

bpy.ops.wm.collada_import(filepath=dae_in)
bpy.ops.render.render()
bpy.ops.wm.save_mainfile(filepath=blend_out)

执行命令后,我得到很多输出表明它实际上正在做某事。但是,在过程结束时,我不知道结果文件保存在哪里。

如果你们有任何帮助,我将不胜感激。

【问题讨论】:

    标签: python blender


    【解决方案1】:

    在输入命令时在当前目录中查找名为-- 的文件,在临时目录中,或者可能与blender.exe 相同的目录中。

    temp directory的位置可能不同,试试

    import tempfile
    print(tempfile.gettempdir())
    

    您使用argv = argv[argv.index("--") + 1:] 在第一个“--”之后获取参数,其中包括您期望使用的两条路径之间的额外“--”。其中第二个是您分配给blend_out

    我希望您要使用的命令是

    C:\Program Files\Blender Foundation\Blender\blender.exe --background
    --python c:\Users\c.diaz\Desktop\convert_collada_to_blend.py
    -- c:\Users\c.diaz\Desktop\Maya.dae c:\Users\c.diaz\Desktop\Result.blend
    

    另外值得注意的是您使用了bpy.ops.render.render(),这不会保存渲染图像(假设您有相机设置)。使用bpy.ops.render.render(write_still=True) 将渲染图像保存到磁盘。您可能还想设置bpy.context.scene.render.filepath 来指定图像的保存位置。

    【讨论】:

    • 有效!我的新问题是......我需要 bpy.ops.wm.save_mainfile(filepath=blend_out) 来保存文件吗?或者执行 bpy.ops.wm.collada_import(filepath=dae_in) 后保存文件
    • 是的,如果你想保留混合文件,你需要专门保存它。
    猜你喜欢
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-12
    • 2019-04-09
    相关资源
    最近更新 更多