Pull to refresh

Comments 7

А Blender? Оба эти формата он поддерживает и скриптуется хорошо на Питоне. И весит несколько десятков метров и бесплатен… )
Написал с начальным знанием питона и без заглядывания в документацию скрипт для Blender:
import os
import sys
import glob
import bpy

if len(sys.argv) != 7:
    print("Must provide input and output path")
else:
    for infile in glob.glob(os.path.join(sys.argv[5], '*.dae')):
        bpy.ops.object.select_all(action='SELECT')
        bpy.ops.object.delete()
        bpy.ops.wm.collada_import(filepath=infile)
        outfilename = os.path.splitext(os.path.split(infile)[1])[0] + ".obj"
        bpy.ops.export_scene.obj(filepath=os.path.join(sys.argv[6], outfilename))


Запускать как
blender --background --python runme.py -- input_dir output_dir


Для эстетов, во встроенном текстовом редакторе есть шаблоны скриптов для нормальной обработки аргументов или неконсольного режима (в терминологии Blender — скрипты операторов).

Для тех, кто не понимает, что значит без копания в документации: в Blender выполняемые функции отображаются по наведению курсора, а документация к параметрам — по автодополнению в консоли. Выглядит так:


<trollmode>А, ну да, не забудьте переслать мне 3500$, которые теперь вы сэкономите без 3ds Max.</trollmode>
Ради Вашего коммента стоило написать пост. Спасибо )
Blender в очередной раз вдохновляет!
у вашего скрипта есть проблема, она заключается в том, что файлы нужно конвертить вручную, что не очень удобно, особенно если весь остальной процесс сборки идет из батч файла.
у нас был скрипт который брал список файлов из командной строки макса, то есть конвертацию можно было проводить в автоматическом режиме.
У каждого свои задачи и требования. Конкретно для вас возможно и не удобно.
Для меня же, с той проблемой, с которой я столкнулся, данный скрипт справляется на отлично.
Sign up to leave a comment.

Articles