Применение скрипта Python к большому количеству файлов .obj в Blender - PullRequest
0 голосов
/ 19 октября 2018

Я хочу, возможно, используя командную строку, запустить 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, нет.смешивать файлы.

1 Ответ

0 голосов
/ 19 октября 2018

Вы можете сделать это в командной строке, используя, скажем, цикл for в Windows cmd.exe

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

Или яне понял твой вопрос.Этот ответ кажется простым.

...