Перенос материалов из Blender в Unity
Добавлено: 25 июл 2025 20:29
Всем доброго времени суток, недавно переносил первый раз созданные материалы из программы Blender в программу Unity. В процессе переноса я столкнулся с моментами, которые мне не понятны и хочу более подробно узнать про них:
1. У меня имелся сложный материал(фото 1), который я в последствии запек в простой материал(фото 2) для того чтобы его перенести в программу Unity.
2. В сложном материале я использовал микс шейдер с коэффициентом ввиде текстуры, и два цвета. У каждого цвета была карта высот(неровностей), текстура на картах высот и текстура отвечающая как коэффициент смешивания в микс шейдере была одна и таже(фото 3). При запекания материала из сложного в простой я запек цвет и нормали в две разных текстуры. После запекания в Blender все работало корректно, для изображения неровностей я использовал запеченную карту нормалей, которая была подключена к ноде "карта неровностей" в входной параметр "высота".
3. При переносе в Unity данный хвост стал выглядеть некорректно(фото 4), т.к. карта высот не перенеслась( я знаю, что я запекал высоты в нормали, но карта нормалей тоже не перенеслась и я не мог редактировать материал чтобы ее добавить. Отсюда первый вопрос: почему у меня в данном материале не перенеслась карта нормалей? Второй вопрос: Перенесенные материалы из Blender нельзя редактировать? При нажатии кнопки Edit на материале(фото 5) вылезает непонятное мне меню по редактированию шейдера(фото 6). Чтобы отредактировать материал я должен редактировать шейдер через код или я просто не могу изменить материал?
4. Я решил в итоге данный вопрос создав новый материал и самостоятельно вставив туда текстуру цвета и нормалей. Также при создании материала я увидел, что имеется слот для карты высот (Height Map) и решил проверить сработает ли материал так как мне надо, если я добавлю в этот слот текстуру с фото №3 (фото № 3), но результат был совершенно не тот(фото 7). Отсюда третий вопрос: почему не сработала корректно карта высот? Пример корректного изображения материала и сам материал в Unity на фото № 8.
1. У меня имелся сложный материал(фото 1), который я в последствии запек в простой материал(фото 2) для того чтобы его перенести в программу Unity.
2. В сложном материале я использовал микс шейдер с коэффициентом ввиде текстуры, и два цвета. У каждого цвета была карта высот(неровностей), текстура на картах высот и текстура отвечающая как коэффициент смешивания в микс шейдере была одна и таже(фото 3). При запекания материала из сложного в простой я запек цвет и нормали в две разных текстуры. После запекания в Blender все работало корректно, для изображения неровностей я использовал запеченную карту нормалей, которая была подключена к ноде "карта неровностей" в входной параметр "высота".
3. При переносе в Unity данный хвост стал выглядеть некорректно(фото 4), т.к. карта высот не перенеслась( я знаю, что я запекал высоты в нормали, но карта нормалей тоже не перенеслась и я не мог редактировать материал чтобы ее добавить. Отсюда первый вопрос: почему у меня в данном материале не перенеслась карта нормалей? Второй вопрос: Перенесенные материалы из Blender нельзя редактировать? При нажатии кнопки Edit на материале(фото 5) вылезает непонятное мне меню по редактированию шейдера(фото 6). Чтобы отредактировать материал я должен редактировать шейдер через код или я просто не могу изменить материал?
4. Я решил в итоге данный вопрос создав новый материал и самостоятельно вставив туда текстуру цвета и нормалей. Также при создании материала я увидел, что имеется слот для карты высот (Height Map) и решил проверить сработает ли материал так как мне надо, если я добавлю в этот слот текстуру с фото №3 (фото № 3), но результат был совершенно не тот(фото 7). Отсюда третий вопрос: почему не сработала корректно карта высот? Пример корректного изображения материала и сам материал в Unity на фото № 8.