将Python脚本应用于Blender中的大量.obj文件

时间:2018-10-18 22:01:29

标签: python cmd scripting automation blender

我想也许使用命令行在后台模式下运行Blender并使其处理大量单个.obj文件。 “处理”是指对每个.obj文件中包含的单个网格物体应用几个命令,然后将每个修改后的网格物体导出为新目录中的新.obj文件。 TLDR: 我已经编写了一个脚本,但是我遇到的问题是了解如何在大量的.obj文件上运行该脚本。

这是我到目前为止所拥有的。

import os
import bpy

bpy.ops.object.editmode_toggle()

bpy.ops.mesh.normals_make_consistent(inside=False)

bpy.ops.transform.resize(value=(100, 100, 100))

bpy.ops.export_scene.obj(filepath="C:\\output", check_existing=True)

这似乎是一个简单的问题,但没有进行大量的谷歌搜索。文档说我可以在cmd中执行以下操作,但是我不知道如何将其转换为这种情况。

blender myscene.blend --background --python myscript.py

请记住,我正在处理大量的.obj文件,没有.blend文件。

1 个答案:

答案 0 :(得分:1)

您可以在Windows cmd.exe中使用for循环在命令行中执行此操作

for %%F IN (file1.blend,flie2.blend,file3.blend) DO (blender %%F --background --python myscript.py)

或在unix(bash / sh)下

for file in *.blend; do blender "$file" --background --python myscript.py; done

或者我不明白您的问题。这个答案似乎很简单。