Во-первых, blender обрабатывает свои cli args в том порядке, в котором они даны, поэтому ваш пример начнется в фоновом режиме, запустит скрипт, затем установит input_dir ... Скорее всего, он не будет иметьрезультат, который вы после.
Проблема с ошибкой вашего скрипта состоит в том, что аргумент, переданный в os.getenv()
, должен быть строкой, которая является именем переменной среды оболочки, если вы используете bash, вам нужно экспортироватьпеременная для помещения его в среду перед запуском blender.
export BLENDER_ARGS="arg1 arg2"
blender -b myfile.blend --python myscript.py
Если вы используете csh, тогда используйте setenv BLENDER_ARGS "arg1 arg2"
Затем в вашем скрипте py вы используете os.getenv('BLENDER_ARGS').split(' ')
Обратите внимание, что каждый экземпляр оболочки является отдельной средой, вам нужно установить переменные в том же экземпляре, который запускает blender.
Возможно, вам также будет интересно передать аргументы cli в сценарий, как описанов ответ на этот вопрос .