Blender Командная строка импорта файлов - PullRequest
1 голос
/ 31 мая 2019

Я буду запускать скрипт в командной строке Blender.Все, что я хочу сделать, это запустить один и тот же скрипт для нескольких файлов.Я выполнил шаги для запуска фонового файла (.blend) и запуска скрипта в Blender, но так как я только что загрузил один файл, я не могу запустить скрипт для другого файла.

Я посмотрелРуководство по Blender, но я не смог найти команду для импорта файла.

Я приступил к созданию файла .blend и запустил скрипт.

blender -b background.blend -P pythonfile.py

Кроме того, если это возможно, я был бы признателен, если бы вы могли рассказать мне, как составить скрипт камеры и отследить оси для отслеживания до ограничения (Ctrl + T -> Отслеживание до ограничения).

Спасибо, что прочитали мою просьбу.

1 Ответ

0 голосов
/ 05 июня 2019

Blender может одновременно открывать только один смешанный файл, все открытые сценарии удаляются при открытии нового файла. Вам нужен цикл, который запускает blender для каждого файла blend, используя один и тот же файл сценария.

В * nix системах вы можете использовать простой сценарий оболочки

#!/bin/sh

for BF in $(ls *.blend)
do
    blender -b ${BF} -P pythonfile.py
done

Более кросс-платформенным решением является использование python -

from glob import glob
from subprocess import call

for blendFile in glob('*.blend'):
    call([ 'blender',
    '-b', blendFile,
    '--python', 'pythonfile.py' ])

Чтобы добавить ограничение Track-to к Camera, указывая его на Cube -

camera = bpy.data.objects['Camera']
c = camera.constraints.new('TRACK_TO')
c.target = bpy.data.objects['Cube']
c.track_axis = 'TRACK_NEGATIVE_Z'
c.up_axis = 'UP_Y'

Это взято из моего ответа здесь , который также оживляет камеру, движущуюся вокруг объекта.

...