Перенос материалов из Blender в Unity

Ответить
egomakeev
Джун
Сообщения: 5
Зарегистрирован: 29 июн 2025 20:58

Перенос материалов из Blender в Unity

Сообщение egomakeev »

Всем доброго времени суток, недавно переносил первый раз созданные материалы из программы Blender в программу Unity. В процессе переноса я столкнулся с моментами, которые мне не понятны и хочу более подробно узнать про них:
1. У меня имелся сложный материал(фото 1), который я в последствии запек в простой материал(фото 2) для того чтобы его перенести в программу Unity.
2. В сложном материале я использовал микс шейдер с коэффициентом ввиде текстуры, и два цвета. У каждого цвета была карта высот(неровностей), текстура на картах высот и текстура отвечающая как коэффициент смешивания в микс шейдере была одна и таже(фото 3). При запекания материала из сложного в простой я запек цвет и нормали в две разных текстуры. После запекания в Blender все работало корректно, для изображения неровностей я использовал запеченную карту нормалей, которая была подключена к ноде "карта неровностей" в входной параметр "высота".
3. При переносе в Unity данный хвост стал выглядеть некорректно(фото 4), т.к. карта высот не перенеслась( я знаю, что я запекал высоты в нормали, но карта нормалей тоже не перенеслась и я не мог редактировать материал чтобы ее добавить. Отсюда первый вопрос: почему у меня в данном материале не перенеслась карта нормалей? Второй вопрос: Перенесенные материалы из Blender нельзя редактировать? При нажатии кнопки Edit на материале(фото 5) вылезает непонятное мне меню по редактированию шейдера(фото 6). Чтобы отредактировать материал я должен редактировать шейдер через код или я просто не могу изменить материал?
4. Я решил в итоге данный вопрос создав новый материал и самостоятельно вставив туда текстуру цвета и нормалей. Также при создании материала я увидел, что имеется слот для карты высот (Height Map) и решил проверить сработает ли материал так как мне надо, если я добавлю в этот слот текстуру с фото №3 (фото № 3), но результат был совершенно не тот(фото 7). Отсюда третий вопрос: почему не сработала корректно карта высот? Пример корректного изображения материала и сам материал в Unity на фото № 8.
Вложения
Шейдер сложного материала хвоста.png
Шейдер сложного материала хвоста.png (349.63 КБ) 3292 просмотра
Шейдер запеченного материала.png
Шейдер запеченного материала.png (465.86 КБ) 3292 просмотра
Текстура на сложном материале.png
Текстура на сложном материале.png (285.02 КБ) 3292 просмотра
Аватара пользователя
sungreen
Сеньор
Сообщения: 355
Зарегистрирован: 27 июн 2024 08:33
Откуда: Kostroma mon amour

Re: Перенос материалов из Blender в Unity

Сообщение sungreen »

Обычно в юни таскают fbx. Если в конечном итоге у тебя получилось назначить материалы, то придерживайся освоенной тобой положительной практики, поскольку стабильности в этом вопросе нет и что-то может работать/не работать от версии к версии, те более что даже в официальном руководстве сказано, что "Текстуры и diffuse цвет не назначаются автоматически. Вручную назначьте их перетаскивая текстуру на меш в окне Scene в Unity".
У тебя остались нерешенные вопросы?
Аватара пользователя
Mihanik
Сеньор
Сообщения: 229
Зарегистрирован: 23 июн 2024 07:56
Контактная информация:

Re: Перенос материалов из Blender в Unity

Сообщение Mihanik »

Что и почему твориться в юнити я не знаю. Из того что здесь написано вижу только одну ошибку.
egomakeev писал(а): для изображения неровностей я использовал запеченную карту нормалей, которая была подключена к ноде "карта неровностей" в входной параметр "высота".
Карту нормалей следует подключать к карте нормалей, а чёрно белую карту высот к карте неровностей. Это разные карты.
Без имени112.jpg
Без имени112.jpg (23.54 КБ) 3273 просмотра
egomakeev
Джун
Сообщения: 5
Зарегистрирован: 29 июн 2025 20:58

Re: Перенос материалов из Blender в Unity

Сообщение egomakeev »

sungreen писал(а): 26 июл 2025 07:26 Обычно в юни таскают fbx. Если в конечном итоге у тебя получилось назначить материалы, то придерживайся освоенной тобой положительной практики, поскольку стабильности в этом вопросе нет и что-то может работать/не работать от версии к версии, те более что даже в официальном руководстве сказано, что "Текстуры и diffuse цвет не назначаются автоматически. Вручную назначьте их перетаскивая текстуру на меш в окне Scene в Unity".
У тебя остались нерешенные вопросы?
Нерешенных вопросов не осталось) Просто люблю, когда есть полное понимание многих аспектов. Материалы перенесенные из блендера нельзя редактировать в юнити? Фото 2, дает только изменить шейдер и то как я понял через код.. Сами графы в материале серые, не дает взаимодействовать.
Вложения
Меню редактирования шейдеров.png
Меню редактирования шейдеров.png (330.3 КБ) 3253 просмотра
Кнопка Эдит.png
Кнопка Эдит.png (335.33 КБ) 3253 просмотра
Аватара пользователя
sungreen
Сеньор
Сообщения: 355
Зарегистрирован: 27 июн 2024 08:33
Откуда: Kostroma mon amour

Re: Перенос материалов из Blender в Unity

Сообщение sungreen »

а при нажатии на Edit не предлагает выбрать редактор шейдеров?
Аватара пользователя
sungreen
Сеньор
Сообщения: 355
Зарегистрирован: 27 июн 2024 08:33
Откуда: Kostroma mon amour

Re: Перенос материалов из Blender в Unity

Сообщение sungreen »

Еще есть особенности при импорте. Возможно в Unity материалы из Blender пришли как встроенные в модель. Он не будет редактироваться, но можно сделать его редактируемыми. Выдели модель в папке Assets. В инспекторе перейди на вкладку Materials. Выбери Extract Materials. Это создаст отдельные .mat файлы и позволит редактировать материал в проекте.
Ответить