Решение - как избежать проблемы с импортом .blend файла в Unity3D в Blender 2.57:
Установив Blender 2.57 и попытавшись перетащить .blend файл в Unity3D обнаруживается ошибка и, как следствие - нулевой результат. Тому виной, пока не приведенные в соответствие, различия версий. Что надо делать. Открыть файл Unity-BlenderToFBX.py в папке Unity с дефолтным расположением:
if blender249: try: import export_fbx except: print('error: export_fbx not found.') Blender.Quit() else: try: import io_scene_fbx.export_fbx except: print('error: io_scene_fbx.export_fbx not found.') # This might need to be bpy.Quit() raise
# Find the Blender output file import os outfile = os.getenv("UNITY_BLENDER_EXPORTER_OUTPUT_FILE")
# Do the conversion print("Starting blender to FBX conversion " + outfile)
if blender249: try: import export_fbx except: print('error: export_fbx not found.') Blender.Quit() else: try: import io_scene_fbx.export_fbx except: print('error: io_scene_fbx.export_fbx not found.') # This might need to be bpy.Quit() raise
# Find the Blender output file import os outfile = os.getenv("UNITY_BLENDER_EXPORTER_OUTPUT_FILE")
# Do the conversion print("Starting blender to FBX conversion " + outfile)
minorVersion = bpy.app.version[1]; if minorVersion <= 58: # 2.58 io_scene_fbx.export_fbx.save(FakeOp(), bpy.context, filepath=outfile, global_matrix=mtx4_x90n, use_selection=False, object_types=exportObjects, mesh_apply_modifiers=True, ANIM_ENABLE=True, ANIM_OPTIMIZE=False, ANIM_OPTIMIZE_PRECISSION=6, ANIM_ACTION_ALL=True, batch_mode='OFF', BATCH_OWN_DIR=False) else: # 2.59 and later io_scene_fbx.export_fbx.save(FakeOp(), bpy.context, filepath=outfile, global_matrix=mtx4_x90n, use_selection=False, object_types=exportObjects, use_mesh_modifiers=True, use_anim=True, use_anim_optimize=False, anim_optimize_precission=6, use_anim_action_all=True, batch_mode='OFF', use_batch_own_dir=False) # HQ normals are not supported in the current exporter
print("Finished blender to FBX conversion " + outfile)
Еще один момент с той ветки форума. Выложено, как нечто новое то, что импортированную в Unity .blend файлом, модель - можно открывать двойным щелчком мыши, она открывается, редактируется и по нажатию клавиш сохранения обновляется в Unity. Что ж, - может для кого то - это действительно новая и полезная информация.
Сообщение отредактировал DjeeZ - Чт, 22 Дек 2011, 11:28
О чем это? Не понял. Поддерживает начиная с версии 3.2. Приблизительно как и с Максом работает. Или я, по твоему, стал бы писать то, что написал сообщением выше, если бы у меня это не работало?
Ага, кажется понял. Если бегло, через строчку (способом Левши :)), прочитать, то может создаться впечатление что я прошу помочь, а не даю способ избавиться от проблемы. Приписал заголовок.
Сообщение отредактировал DjeeZ - Ср, 25 Май 2011, 04:15
Юнити не поддерживает формат Блендера. Юнити экспортирует формат blend в fbx (с коим работает на прямую), через экспортер Блендера. С остальными редакторами точно так же. Если быть точным: Юнити поддерживает экспорт сцен из Блендера, а не его формат. И если убрать скрипт экспорта в fbx из Блендера, вы ни одну модельку закинуть не сможете. Как-то так.
Сообщение отредактировал Hanzo - Ср, 25 Май 2011, 16:32
По тому же принципу - а если удалить FBXMaxExport.ms?.. А если удалить Unity.exe - обнаружится что Unity и Винду не поддерживает. Ведь очевидно же, что все форматы Unity приводит к тем, с которыми затем работает. Поддержка заключается не в наличии файла задающего настройки экспортера (Unity-BlenderToFBX.py - сам по себе этот файл ничего не экспортирует).
Unity умеет при надобности запускать Блендер (так-же как и Мах и др.) в фоновом режиме и использовать его, Блендера, возможности по экспорту. Обычная практика в Windows среде. И какая разница каким способом Блендер реализует экспорт? Это его, Блендера, дело. Если не установлен Блендер, а в проекте содержится .blend файл - Unity пищит об отсутствии Блендера (так же как и с другими 3D прогами). Поддерживается перетаскивание мышкой. Файл блендера хранится в файлах проекта Unity фоново и Unity знает - что это и как с этим обращаться. Импортированную в Unity через .blend, модель - можно открывать двойным щелчком мыши в Блендере для редактирования. При обновлении(пересохранении) .blend файла Unity обновляет модель - подобно тому, как обновляет файл скрипта при работе в Editor-е.
Какая поддержка еще нужна? Что бы Unity хранил данные в .blend файлах в реал-тайм?
Юнити поддерживает FBX, .dae, .3DS, .dxf и .obj. Вот выдержка с сайта: Unity can read .FBX, .dae, .3DS, .dxf and .obj files, so if your program can export to this format you're home free. FBX exporters for popular 3D packages can be found here. Many packages also have a Collada exporter available.
Да и заметил еще одно: анимация не воспроизводится в Юнити из бленд-файлов, приходиться конвертить в fbx. Работаю в Блендере 2.49.2, может в серии 2.5. с этим все норм....
DjeeZ, это не поддержка blend-файлов, а поддержка Блендера как редактора.
Конечно. Но и поддержка бленд файлов через такое взаимодействие. Многие(большинство) программ используют в работе объекты из других программ, динамических библиотек. Это такой способ реализации. И не значит что твоя прога не может выводить на дисплей окно, только потому что, сама она это не делает, а использует стандартные функции в библиотеках Windows. А в данном контексте, когда говорится о поддержке того или иного файла проекта 3D программы, именно такое взаимодействие и имеется в виду. Никто и не требует большего.
Здесь, ведь скорее путаница в значении слов. Файл .blend - это не графический формат подобный 3ds, fbx, jpeg. Это файл проекта, некий архив содержащий объекты в различных графических форматах. С ним работает только Блендер. С максовским форматом работает только Мах. И т.д. Потому для работы с такими файлами проектов и требуется наличие самих программ. Поддержка в таких случаях заключается в умении контактировать с самими программами (обычно в фоновом режиме, без вывода на экран), а не в прямом чтении из файла проекта. Такое чтение, также часто запрещает лицензия этих программ.
Quote (Hanzo)
Да и заметил еще одно: анимация не воспроизводится в Юнити из бленд-файлов, приходиться конвертить в fbx. Работаю в Блендере 2.49.2, может в серии 2.5. с этим все норм.... cry
А экспорт анимации отмечен? У меня работает. Blender 2.57.
Сообщение отредактировал DjeeZ - Ср, 25 Май 2011, 19:44
Удивили, про то что с версии 3.2 ввели поддержку блендера, не знал... А где написано? Ссыль?
Добавлено (25.05.2011, 21:26) --------------------------------------------- Блин... хрен моржовый унити видит, а не файл блендера. Ремня те мало... врать горазд. Ща специально сохранил куб из блендера 2.5.7 в Унити 3.3. Никакой реакции, в упор не импортит...
Вот файл блендера: А вот файл макса: Разницу видишь?
Ну здрасте, опять - двадцать пять. Из-за этой возможности тогда качал unity-3.2, не успев рассмотреть 3.1. Для меня большой трафик. А сейчас сижу тут и вру, со скуки, наверное. У меня файл из Блендера выглядит точно также, как у тебя из Макса.
Тут список изменений в версии unity-3.2 на офсайте. строчка: Direct import from Blender 2.55.1 and later.
Не знаю почему у тебя не работает. Может Блендер не установлен(не прописан в системе) как надо. Может отменили в версии 3.3 - решили слишком жирно будет - прямой импорт из бесплатного пакета. А то что, релиз Блендер 2.57 состоялся недавно, после выхода Unity3.3, а тем более 3.2, и в нем другой API - собственно решению этой проблемы и посвящено мое сообщение на предыдущей странице. Файл "c:\Program Files\Unity\Editor\Data\Tools\Unity-BlenderToFBX.py" хотя бы имеется у тебя вообще?
Asset Importing: Direct import of Modo files (*.lxo). Officialy supported Modo versions are 501 and higher. Direct import from Cinema 4D R12. Direct import from Blender 2.55.1 and later. Upgraded FBX SDK to 2011.3.1. Support for import of mesh instances from FBX files. Import of instances is not enabled for direct import of 3dsMax/Maya files due to limitations on FBX exporters (see Known Issues).
Бум разбираться, дело в том мну эта тема волнует, так хочу пересесть на блендер. Однако факт, не работает у меня... X.cor.R (Prologue)
Не знаю что там было. Ни разу не видел. Но поддержка прямого импорта начиная с 3.2 где-то прорекламировалась, вот я ее и скачал.
Quote (Левша)
Есть!
А пишет что-то типа, что у вас Блендер не той версии, если попытаться перетащить бленд файл в окно Project? Вообщем я так понял:
В конце файла Unity-BlenderToFBX.py передаются параметры импорта: io_scene_fbx.export_fbx.save(FakeOp(), bpy.context, filepath=outfile, тут имена и присваемые значения) _ Только эту часть скрипта и следует менять. Передавать в Pithon-е, в данном случае можно не все параметры и в любой последовательности. Значком "#" строчка отключается подобно "//" в С++ Можно поотключать все непонятные параметры (для непередаваемых есть умолчания) и пробовать постепенно включать в случае успеха. Нужно, что-бы имена переменных были такие же как и в файле __init__.py, который у меня тут: "c:\Documents and Settings\...\Application Data\Blender Foundation\Blender\2.57\scripts\addons\io_scene_fbx\__init__.py" Параметры по умолчанию в нем.
Собственно измененный файл, который у меня хорошо заработал я и выложил на предыдущей странице.
Сообщение отредактировал DjeeZ - Чт, 26 Май 2011, 01:17
Пришло время задуматься, поступил реальный заказ на социалку, за разработку платят, а вот за софт не хотят... Так что сам понимаешь, надо пересесть на бесплатный софт, а так я по прежнему отдаю предпочтение 2009 максу, как самому стабильному. (пока во всяком случае). X.cor.R (Prologue)
Да все также. Эта часть сильно не изменилась по сравнению с 2.59. Также будет импортировать .blend файл, если подменить файл Unity-BlenderToFBX.py. (файл тут: "c:\Program Files\Unity\Editor\Data\Tools\Unity-BlenderToFBX.py" ) Код скрипта:
if blender249: try: import export_fbx except: print('error: export_fbx not found.') Blender.Quit() else: try: import io_scene_fbx.export_fbx except: print('error: io_scene_fbx.export_fbx not found.') # This might need to be bpy.Quit() raise
# Find the Blender output file import os outfile = os.getenv("UNITY_BLENDER_EXPORTER_OUTPUT_FILE")
# Do the conversion print("Starting blender to FBX conversion ", outfile)
print("Finished blender to FBX conversion ", outfile)
Подогнал в нем просто параметры функции "io_scene_fbx.export_fbx.save" к параметрам по умолчанию для Unity3D из файла fbx-экспортера Блендера. При желании можно попробовать поизменять параметры, если кому интересно, но вроде нет нужды - все необходимое и так работает.
Файл проекта открытого в Unity3D не должен находиться в какой нибудь "Мои документы". А то можно забыться, не обратить внимания где находится проект, и безуспешно пытаться таскать файл в окно Unity, незаслуженно кроя и меня и все скрипты на свете.
Добавлено (20.11.2011, 22:52) --------------------------------------------- Первое учебное пособие по Blender 2.6 на русском языке.
Кто еще не видел. Говорим спасибо автору и переводчикам и... Смотрим русский перевод четвертого издания книги Джеймса Кронистера - Blender Basics 4-rd edition. И учимся.
Добавлено (04.12.2011, 04:05) --------------------------------------------- Переводится книга по персонажестроению в Blender 2.5.
Моделирование персонажа Ссылка на перевод книги по созданию персонажа в новом Блендере. "Создание персонажа в Блендер 2,5". Автор: Джонатан Уильямсон Ждал, пока переводчик допереведет книгу, хотя бы главы по персонажу, но что-то дело не движется - качайте то, что есть. Переводчик не очень опытный в Блендере, но старательный. Переведено: 1. Немного по модификаторам. 2. Неплохая глава про Скульптинг, поможет ознакомится с темой, тем кто еще не касался. 3. Переведены три главы по созданию персонажа. Главы по текстурированию не переведены еще. Неизвестно будут ли. Будут полезны, тем кто с процессом не знаком, помогут во многом разобраться. Но надо помнить, что не обязательно строго придерживаться техники, там изложенной. Наработав некоторые навыки и поняв основные принципы, не стоит отказываться от исследования разнообразных приемов в других уроках. Потом уже будет не так важно, о старом или новом Блендере эти уроки.
Как полезное пособие также рекомендую взять еще книгу по изготовлению персонажа в старом Блендере. BSoD/Анимация персонажей BSOD_Animation_ru.pdf Автор: Ryan Dale Перевод: Striver А мелкие непонятности что да как, если возникнут - легко найти ответ, при необходимости, в Инете, в разнообразных небольших уроках. В любом случае почитать и другие уроки полезно будет.