Как импортировать с4в в блендер

Обновлено: 11.05.2024

Я в блендере сделал модель, состоящую из нескольких отдельных частей (шкаф и дверцы). Экспортировал в .fbx
И когда перетаскиваю модель в UE, то появляется окно импорта, после чего оно мне добавляет не один объект, как в юнити, а отдельный объект для шкафа и для каждой дверцы
Как импортировать один цельный объект?

Изображение

Нашел способ перенести на сцену все как один объект - нужно в UE выделить импортированный шкаф и дверцы, и перенести на сцену, тогда все перенесется как один объект. Но есть две проблемы
1. Слетает pivot point. Я его на дверцах в блендере так выставил, чтоб при вращении они открывались, как в шкафу дверцы открываются
2. В content browser и World Outliner появится слишком много объектов. Это мне нужно вучную под каждую такую модель создавать папку и туда все кидать, чтобы не захламлять?

dmitrykozyr
лучше в блендере сделай иерархию перетаскиванием дочерего узла в родительский прямо в списке сцены, таскается только за иконку

Это так в смысле? Все-равно куча отдельных объектов

Изображение

dmitrykozyr
> куча отдельных объектов
импорт скелетки
дверцы же должны вращаться на петлях и т.п.

Sh.Tac.
> импорт скелетки
Так? Тогда объектов еще больше

2 | Импорт модели из blender в UE4

очень расстроился когда при импорте скелетного меша образовалась куча несвязных частей, решилось как раз тем что иерархию надо делать перетаскиванием прямо в blender outliner

dmitrykozyr
> Как импортировать один цельный объект?
В меню импорта статик-меша есть галочка combine mesh.

lorik
> иерархию надо делать перетаскиванием прямо в blender outliner
Если перетаскивать\не перетаскивать, то в обоих случаях импортируется как один объект, если при импорте поставить галочку напротив Skeletal Mesh, дверцы уже открывать нельзя.
А если Skeletal Mesh убрать, то даже если в блендере иерархию сделал, в UE она не сохраняется, все импортируется как отдельные объекты

lorik
> В меню импорта статик-меша есть галочка combine mesh.
Тогда импортируется как один объект и дверцы уже нельзя открывать.
А мне нужно импортировать так, чтобы была иерархия, как в юнити.

2 | Импорт модели из blender в UE4

Должен быть нормальный способ. Я планирую добавить много моделей, я же не могу вручную для каждой модели папки создавать и все это туда перетаскивать

> дверцы уже открывать нельзя.
анимацию настрой

dmitrykozyr
Напрямую сделать как в Юнити не получится.
Надо или экспортить отдельно и собирать потом в блюпринте, или делать скинед-меш и логикой в блюпринте открывать двери.

Когда сидел на Анриле, то у них на форуме читал про плагин, который импортит fbx с сохранением пивотов

Запустить видео по клику - Как делать игры

П.С. Если тебе надо просто разнообразие шкафчиков без всякого интерактива, то проще сделать несколько вариантов с по-разномому открытыми дверками.

Sh.Tac.
> а выше что такое тогда?
Если не перетаскивать в блендере все объекты внутрь одного объекта, то при импорте с опцией Skeletal Mesh создается много объектов - еще больше чем без Skeletal Mesh, то есть смысл теряется.
А если не перетаскивать объекты в блендере внутрь одного объекта, то при импорте с опцией Skeletal Mesh создается три объекта: Mesh, Physics Asset и Skeleton.
То есть в первом случае получаем еще больше объектов, а во втором один цельный меш и с дверцами отдельно нельзя работать

Sh.Tac.
> > дверцы уже открывать нельзя.
> анимацию настрой
Так как, если шкаф и дверцы - это один цельный объект)

lorik
> Если тебе надо просто разнообразие шкафчиков без всякого интерактива
Нужно с интерактивом


Сегодня немного поговорим о SCS Blender Tools. В этом обновлении, наконец-то, появилась поддержка для создания и экспорта полноценного грузовика - с эквивалентной мощностью до инструментов, используемых внутри компании SCS Software.


Нам потребовалось время, чтобы организовать создание полноценного грузовика, так как ассортимент вещей, требующих внимания, достаточно обширен. Существует сама модель транспортного средства, но есть также остальные структуры и данные - модернизация и локаторы ("pins"), и полная поддержка анимации.

Говоря о анимации, SCS Blender Tools теперь поддерживает анимацию не только для деталей автомобиля, но и для любых 'movers' в нашу игру: мир анимационных объектов, животных, и людей.

С последним обновлением, мы сейчас примерно на две трети пути к поддержке полного спектра активов, создание для наших игр - одной последней важной сферой остальные являются "prefabs" для таких элементов, как дороги и перекрестки. Это станет следующим шагом.

Видение SCS Blender Tools, чтобы в конце концов она стала общим стандартом для Euro Truck Simulator 2 и American Truck Simulator для создания мода. Горячее "buzzword" или "buzz term" в игровой индустрии в эти дни - это пользовательский контент, вещи которыми сообщества поклонников игры может произвести самостоятельно для улучшения игры, и безусловно, мы хотели бы помочь нашим уже очень активному фан-сообществу производить моды более высокого качества, и легко обмениваться контентом для наших игр У нас есть Steam Workshop в нашем поле зрения как вероятная платформа для широкомасштабного обмена модов, а для этого нужны солидные создание актива и экспорта. Если мы добьемся 100% технической совместимости между SCS-созданного контента и пользовательского контента, Святой Грааль был бы очень в тесном сотрудничестве с создателями - возможно, даже интеграция лучших модов в ядро игрового контента или официальных DLC.


Вот полный список изменений в последней версии SCS Blender Tools:

  • Внедрение системы анимация
  • Shader теперь могут быть найдены по имени, как список становится все длиннее
  • Новая грузовая база, включающая всех определения, чтобы создать полноценный грузовик
  • Обновлен образец базы с добавлением ветровой силовой установки и человеческий характер с анимацией
  • Vertex color в статистике инструмента
  • Новая система управления версиями
  • Унифицированные относительные пути с косой чертой для всех платформ
  • Скорость импорта в случае большого количества материалов

GitHub Wiki

Вики, вероятно, самое важное место для базы знаний SCS Blender Tools. Там вы найдете шаги, которые необходимо предпринять, чтобы начать использовать инструменты. Вы также можете найти ссылки для загрузки SCS Blender Tools. И есть даже все исходные коды из инструментов, прямо под открытым небом, который может быть весьма интересен для кодеров:

Форум

Мы создали специальный форум, посвященный исключительно для SCS Blender Tools. Если вы чувствуете, что вы нашли ошибку в инструментах, или вы хотите что-то спросить о них, или поделиться своими знаниями с другими людьми которые только начинают. Мы будем осуществлять мониторинг форумов и, надеюсь, предоставлять некоторые рекомендации, но снова, мы не ожидаем, чтобы быть в состоянии ответить всем и каждому на каждый крик о помощи.

Веб для ETS2, мод страницы

В случае если вы забыли все ссылки выше, вы всегда можете начать с раздела моддинг веб-страницы Euro Truck Simulator 2. Ссылки должны направлять вас не только SCS Blender Tools, но и для всех принципов моддинга первостепенных для успешного создания модов.

Мы рекомендуем Вам импортировать и проверить все модели по своему усмотрению. Теперь все, что вам нужно, чтобы начать в Blender!

2) Далее, почти сразу можно найти целый видео урок по тому же самому

Если вы только начали изучать азы моделирования и уже решились на смелые эксперименты, т.е. до этого момента у вас никаких 3d-редакторов на компьютере не было установлено и вы вообще не знаете как там работать, то вот вам список необходимых компонентов:

без этого не будут работать Blender, NifSkope и PyFFI, т.к. там находятся необходимые DLL

Предварительная подготовка "рабочего места"
Как только всё установили, запускайте Нифскоп. Его необходимо настроить.
В строке меню выбираете Render -> Settings.

thumb_pre_1445852301__1.jpg

появляется окно настроек.
Во вкладке "General" в строке "Startup Version" установите значение 20.2.0.7.

thumb_pre_1445852327__2.jpg

Перейдите в следующую вкладку "Rendering",
жмите на "Auto Detect Game Paths", это позволяет автоматически найти местонахождение игровых файлов, если вы активно используете различные плагины, например позволяет автоматически подгружать текстуры, если конечно есть папка "Textures" и она при этом находится внутри папки "Data". Если всё-же пути не найдены, то их можно указать самому - жмите "add folder", затем на кнопку снизу "folder" и выбираете дирректорию.

thumb_pre_1445852343__3.jpg

Основная часть
1. Подготовка nif-файла.
Я не буду описывать процесс извлечения необходимых файлов из архива игры, это отлично видно на видео в самом начале. Для работы я взял файлы "torso_0.nif" (собственно сама броня гильдии воров) и "femalebody_0.nif" (сетка женского тела, отсюда нам нужны будут руки).
Открываем "torso_0.nif" и меняем структуру представления с "дерева" на "список" - "View" -> "Block List" -> "Show Blocks in tree"\ "Show Blocks in list" , чтобы увидеть "NiHeader" - "Заголовок" (Его не видно в режиме "дерева", он необходим для смены версии файла, а в режиме "дерева" удобно работать т.к. сразу видно какой блок с кем связан и в какой иерархии находится, от кого зависит).

thumb_pre_1445852366__4.jpg

Как только вид сменится на список, в самом верху будет "NiHeader", жмём на него и меняем цифры напротив "User Version" и "User Version2":
напротив "User Version" с 12 на 11
напротив User Version2" с 83 на 34
Сохраняем "Save as", с каким нибудь другим именем, потому-что оригинал файла нам потом понадобится.

thumb_pre_1445852382__5.jpg


Закрывайте или жмите кнопку "Load". Открываем уже наш новый созданный файл. Я назвал его "1torso_0.nif".
В виде "дерево" раскрываем ветвь "NiNode" (Scene Root), в её составе должны быть "NiTriShape" и "NiNode" обозначающие арматуру скелета, всё остальное, например у нас это "BSLightShaderProperty" импортироватся не будет (просто не сможет, т.к. не поддерживается импортером).

thumb_pre_1445852399__6.jpg

Поэтому, что нам не нужно, необходимо удалить - ЛКМ -> Block -> Remove Branch

thumb_pre_1445852421__7.jpg

Раскрываем ещё ветвь "NiTriShape" и смотрим, чтобы ничего, кроме "NiTriShapeData" и "BSDismemberSkinInstance" там не было.

Жмём на "BSDismemberSkinInstance", смотрим, что есть у нас в "Деталях", окно снизу.
Раскрываем ветвь "Partitions" и видим там "SBP_32_BODY", "SBP_34_FOREARMS" и "SBP_38_CALVES"

thumb_pre_1445852457__9.jpg

SBP - это не что иное как скин блок партишн - сетки блок "части" (хотя буква "S" может с равной вероятностью означать принадлежность к Скайриму.. я хз) - такая же "петрушка" была и в фаллауте, позволяла убирать часть текстур, принадлежащим данным частям, чтобы не было видно перекрытия сеток в некоторых местах при одевании брони (они просто становились невидимыми, вот и весь фокус), на рисунке видно, что часть сетки принадлежит основному телу, часть рукам, а часть приходится на ноги (выделено красным).

thumb_pre_1445852469__10.jpg

При импорте наш импортер не понимает ни одно из перечисленных названий (естественно ,он же для фаллаута) а потому просто объединит все части в одну и назовёт "BP_TORSO". Можно даже назвать такой поступок по-своему умным, не прекратил работу а свалил всё в кучу, разбирайся сам, я бы тоже так сделал.
Чтобы наш импортер сделал всё правильно зададим ему "правильные" значения.
Нам для этого необходима таблица соответствий, как называлась "часть" в фаллауте, какой она "части" соответствует в скайриме.

thumb_pre_1445852482__11.jpg

В нашем случае:
"SBP_32_BODY" соответствует "BP_TORSO"
"SBP_34_FOREARMS" соответствует "BP_RIGHTARM"
"SBP_38_CALVES" соответствует "BP_LEFTLEG"

thumb_pre_1445852495__12.jpg

После изменений, сохраняем наш файл, теперь он на все 100% готов для импорта :)
То, что мы сейчас сделали, не является неукоснительными действиями, и новые названия по талице были взяты для того, чтобы просто не запутатся, на самом деле их можно брать любые, и сейчас объясню почему.
(добавлено 01.03.2013)
При переименовании частей надо запомнить, что:

2. Запуск Блендера (смешаем не встряхивая)
Запускаем Блендер, в самом начале будут кубик, лампа и камера, не нужны , два раз "A" и "Del".
Импортируем полученный nif-файл "File" -> "Import" -> "Netlmmerse/Gamebryo (.nif & .kf & .egm)" и параметры импорта как на рисунке.

thumb_pre_1445852511__13.jpg

thumb_pre_1445852534__14.jpg

Спросите , почему именно такие? Да потому что вообще без разницы, какую из кнопок вы выберите 1 или 2, это одинаково бесполезно, 1 - "хвостики" будут повернуты вбок, 2 - не будут повёрнуты , а если ничего не выбрать, то будет также как если было нажато "2". Вообще 1 или 2 имее смысл использовать, когда ипортируешь чисто "скелет" с последующей целью использовать его для позирования или анимации, если нужна чисто привязка к арматуре, с сохранением весовых коэффициентов, то лучше вообще ничего не выбирать, что собственно я и сделал.
Жмём "ОК" и ждём несколько секунд\минут (зависит от мощьности компьютера) и после появления на экране нашей брони делаем следуюшее: жмём на крестик внизу (показано стрелкой) это мы удаляем модификаторы ("привет" от максовского экспортера) и переназначаем привязку к "скелету" - сначала "Alt+P" -> "Clear Parent" (это мы убрали нашу "сетку" из "дочерних"), затем выделяем сначала броню, затем с зажатым "Shift" арматуру и жмём "Ctrl+P" -> "Armature" -> "Don`t Create Groups" (это мы снова "привязали" нашу сетку к "скелету").

thumb_pre_1445852549__15.jpg

thumb_pre_1445852566__16.jpg


( добавлено 26.02.2013 ) А можно скелет вообще не переназначать, просто удалите модификаторы, как на первом рисунке сверху (там где красная стрелка), этого вполне достаточно. Просто знайте, что есть такие команды - "Alt+P"- "Отцепить сетку" и "Ctrl+P" - "Прицепить сетку", бывает нужно что-то "прицепить" или "отцепить" от "скелета", т.к. при экспорте, если выделен "скелет", то вместе с ним экспортируются все прикрепленные к нему "меши", что потом вызывает путаницу при "доводке" в нифскопе.
Во всех уроках, до этого, рекомендовалось арматуру удалять и импортировать снова, с какими-то там новыми параметрами, уверяю вас это всё лишнее, раньше, во времена "бородатых" блендеров иногда при импорте привязка не сохранялась или сохранялась, но не полностью и тогда проводили такие процедуры, сейчас это делать вообще не стоит, времена изменились, импортер наш корректно отрабатывает все инструкции, а потому лишних "движений" делать не надо.
Тоже самое проделайте и с файлом "femalebody_0.nif". Только вот сетку тела надо будет переназначить на "арматуру", с которой связана наша броня - выделяете сетку тела, затем с зажатым "Shift" арматуру и жмём "Ctrl+P" -> "Armature" -> "Don`t Create Groups", после нового назначения старую арматуру можно удалить, т.к. уже больше не понадобится.
Чтобы ничего не напутать размещайте различные сетки в разных слоях, тут их более чем достаточно, целых 20. Перемещение производится клавишей "M".

thumb_pre_1445852592__17.jpg

thumb_pre_1445852606__18.jpg

После появятся 3 вкладки. зайдите в "Map Input" и переключите с "Orco" на "UV", после перейдите в "Texture buttons" (показанно стрелкой) или нажмите "F6", под надписью "Texture Type" c помощью стрелки выбирите тип "Image", появятся ещё настройки, в самом конце будет колонка "Image", жмите на кнопку "Load". Тут главное добавить любые текстуры, и показать нашему экспортеру, что имеет место быть такой тип данных.

thumb_pre_1445852619__19.jpg

thumb_pre_1445852636__20.jpg

thumb_pre_1445852648__21.jpg

Уже можно приступать к изменения внешнего вида сетки, как вы хотите, а я сделаю, как и задумал. Укорочу рукова, т.к. из под них станет видно руки, то добавлю руки из оригинального тела, уберу щитки с предплечий, и удалю вообще задний карман (за него колчан цепляет).
Вот что у меня получилось:

thumb_pre_1445852663__22.jpg


Важно: если ваши действия отличаются от мной тут представленных, а я всего лишь удалил "лишнее" и 2 "сетки" "привязал" на 1 арматуру, т.е. я не добавлял новых вершин, то следует заново переназначить текстуры и сделать "развесовку".

Теперь всё сгоняем в один слой, выделяем - два раза на кнопку "A", далее "File" -> "Export" -> "Netlmmerse/Gamebryo (.nif & .kf & .egm)" и параметры импорта как на рисунке

thumb_pre_1445852716__23.jpg

thumb_pre_1445852736__24.jpg

Помните, мы редактировали файл "nif_common.py" и меняли параметр с 18 на 30? Вот результат наших вмешательств, показан стрелкой, также в рамочку выделены кнопки, которые нужно обязательно нажать, с остальными можете поиграться :) мож чего нового найдёте.

3. "Допиливаем" в Нифскопе
Открываем получившийся новый nif-файл. Раскрываем все ветви "NiTriShape", в них ничего не должно быть кроме "NiTriShapeData" и "BSDismemberSkinInstance", всё , что личшее (подчеркнул) удаляем: ЛКМ -> Block -> Remove Branch. Тут же меняем версию файла - переходим в режим "список" и меняем цифры напротив "User Version" и "User Version2":
напротив "User Version" с 11 на 12
напротив User Version2" с 34 на 83
Делаем почти то же что и вначале, только наоборот.

thumb_pre_1445852752__25.jpg

Сохраняем, снова загружаем полученный файл. Открываем оригиналы наших файлов и копируем свойства шейдеров "BSLightShaderProperty" с оригинала ЛКМ -> Block -> Copy Branch , переходим на наш проект. вставляем ЛКМ -> Block -> Paste Branch. Вставленные свойства будут в самом низу, необходимо поместить их на место, первыми мы копировали свойства кожи, поэтому выбираем соответствующий "Шейп" и в "Деталях" внизу , показанно стрелкой, записываем порядковый номер наших свойств, в данном случае получилось 43, может отличатся. Тоже самое делаем и для брони, копируем свойства с оригинала.

thumb_pre_1445852773__27.jpg

thumb_pre_1445852791__28.jpg


Если всё сделано правильно, то "BSLightShaderProperty" переместится в "ветвь" "NiTriShape".
Выделяем их, раскрываем, находим "BSDismemberSkinInstance", и в "Деталях" каждой меняем названия частей:
"BP_TORSO" на "SBP_32_BODY"
"BP_RIGHTARM" на "SBP_34_FOREARMS"
"BP_LEFTLEG" на "SBP_38_CALVES"

thumb_pre_1445852809__29.jpg

После остаётся подкорректировать данные для "NiTriShapeData". Для участка кожи рук и для брони они разные: для кожи "BS Num UV Sets" = 1 для брони "BS Num UV Sets" = 4097 (подробности на рисунке ниже)

thumb_pre_1445852826__30.jpg

Всё, можно сохранять и пробовать в игре.

( добавлено 26.02.2013 ) Тут мне "любезно" подсказывают. а собственно где файл вида ХХ_1.nif ?
Да, действительно, я его не делал. Было много раз проверенно, работает и без него, всё дело в том, что персонаж у нас не будет обременён лишним весом, а телосложения он будет атлетического.
Если вас всё же такое положение не устраивает и хотите, чтобы утраченная полнота вернулась, то да, нужно добавить файл ХХ_1.nif.
Есть 2 пути:
1) Проделать всё тоже самое, что мы делали до этого, чтобы получить ХХ_0.nif - т.е. извлечь из архива БСА файлы с префиксом "1", изменить их для импорта в блендер, изменить внутри самого блендера, экспортировать изменённую сетку, изменить обратно для работы в игре.

2) Открыть сохраненный проект блендер, до экспорта брони, и попробовать угадать, как могла-бы выглядеь броня, если бы была одета на полное тело. Используйте для этого клавиши "S" - пропроциональное изменение и "Alt+S".- сжимание
Какой путь выбрать, решать вам.

Если будут присутствовать оба вида файла ХХ_1 и ХХ_0, то персонаж будет выглядеть согласно выбранному, в самом начале игры, телосложению.

Кому урок оказался полезен, то был рад помочь. Могут возникнуть вопросы, пожалуйста, задавайте. Обязательно отвечу.


Доп. Разными словами называю одно и тоже:
1) "меш" = "сетка"
2) "скелет" - частный пример "арматуры"


Данный урок продолжает серию статей о том, как импортировать 3D модели в Unity3D и другие игровые движки. В данном уроке я расскажу, как выполнить из Blender экспорт текстуры и материала. Также будет рассказано о том, как применить текстуры и карты нормалей в Unity3D.

Blender экспорт текстуры. Про материалы.

Как сделать так, чтобы материалы и карты нормалей сразу назначались модели при экспорте/импорте 3D модели из Blender в Unity3D? Достаточно лишь создать добавить материал вашей 3D модели в Blender.

blender экспорт текстуры, assign material in blender

Теперь необходимо создать текстуру материалу и выбрать изображение, которое следует использовать для нее.

unity3d импорт моделей, blender экспорт материала, текстура в unity3d, импорт текстуры в unity3d, ошибка при импорте модели в Unity, how to import blender models into unity

Осталось лишь создать еще одну текстуру и назначить ей карту нормалей. Процесс добавления карты нормалей почти ничем не отличается от добавления диффузной карты. Выберите слот для создания текстуры для карты нормалей под слотом, которому назначена диффузная карта (показано на рисунке ниже, в левой его части).

blender экспорт текстуры, unity3d импорт моделей, blender экспорт материала, текстура в unity3d, импорт текстуры в unity3d, ошибка при импорте модели в Unity, how to import blender models into unity

Получилось что-то не то с картой нормалей. Почему? Потому что она теперь отображается на поверхности 3D модели как обычная диффузная карта. Чтобы карта нормалей отображалась как карта нормалей в Blender’е, необходимо обозначить назначенную 3D модели текстуру как карту нормалей в меню текстуры во вкладках “Image Sampling” и “Mapping”.

blender экспорт текстуры, unity3d импорт моделей, blender экспорт материала, текстура в unity3d, импорт текстуры в unity3d, ошибка при импорте модели в Unity, how to import blender models into unity

Из Blender экспорт текстуры не получится сохранить вместе с 3D моделью, просто экспортируйте 3D модель в формате FBX, а текстуры приложите к ней во время импорта 3D модели в Unity3D.

blender экспорт текстуры, unity3d импорт моделей, blender экспорт материала, текстура в unity3d, импорт текстуры в unity3d, ошибка при импорте модели в Unity, how to import blender models into unity

Теперь выберите файл FBX и две карты: карту нормалей и диффузную карту (текстуру) и перетащите их все сразу в одну из папок Assets в Unity3D. Сразу после импорта Unity3D предложит вам пометить карту нормалей как карту нормалей. Вы можете принять данное предложение, либо отказаться и выставить атрибуты для изображения в меню настройки изображения в Inspector (достаточно лишь выбрать ее Левой Кнопкой Мыши), либо в меню материала.

Перетащите импортированную 3D модель на сцену. Все, из Blender экспорт текстуры прошел отлично. 3D модель добавляется на сцену вместе с материалом и текстурами, созданными в Blender’е. Даже названия материала импортируются в Unity.

Читайте также: