🇷🇺 Как использовать Vertex Colors из объектов, экспортированных из Blender 4.5, в Unity 6 | Tutorial
🇷🇺 Текстовая версия со скриншотами и дополнительными ресурсами здесь: * https://www.francescomilanese.com/ru/tutorials-ru-all/tut-186-ru-unity-vertex-colors-shader-blender.html Всем привет! В этом коротком уроке мы посмотрим, как использовать Vertex Colors объектов, экспортированных из Blender 4.5, в Unity 6. Объекты, которые я показываю в видео, не имеют Textures и даже базового Material. Однако у них есть Vertex Colors, созданные с помощью инструментов Vertex Painting в Blender. Эти цвета видны в 3D Viewport в режиме Solid, если в меню Viewport Shading изменить Object Color с Material на Attribute. Когда Vertex Colors задаются в режиме Vertex Paint, Blender создает Attribute для объекта, который можно найти на вкладке Object Data. По умолчанию Domain этого Attribute установлен на Face Corner, а Data Type на Byte Color. Эти настройки идеально подходят для нашей задачи. Я экспортирую все объекты в формате FBX. Нет необходимости устанавливать режим Copy с Embedded Textures, потому что, как я говорил ранее, нет Materials или Textures, есть только информация о цвете, связанная с геометрией через Attribute. В Unity первым шагом является импорт файла FBX в Project, затем открываю вкладку Material в Inspector. В этой вкладке я меняю Material Creation Mode на Standard Legacy и применяю изменения. Это создаст пустой Material для prefab импортированной модели. Material для этой модели должен быть создан с помощью пользовательского Shader, поэтому в Project я создаю новый Shader Graph, выбирая URP Lit, так как проект использует Universal Render Pipeline. Я переименовываю новый asset в Vertex Color Shader Graph. Как видно, этот новый asset уже содержит Material внутри. Я дважды щелкаю по asset Shader Graph, чтобы открыть его в отдельном окне. Внутри этого окна я добавляю узел Vertex Color и подключаю его напрямую ко входу Base Color узла Fragment. Вскоре Main Preview Shader обновляется. Но будьте осторожны, изменения Shader Graph пока еще не применены, и простого сохранения проекта недостаточно. Чтобы применить изменения к Scene Graph, нужно нажать кнопку сохранения в левом верхнем углу окна. Как видно, Unity требуется несколько секунд, чтобы применить изменения. На этом этапе я выбираю импортированный объект в Project и во вкладке Material Inspector перетаскиваю Material из Shader Graph, который я только что отредактировал, и применяю изменения. Уже в предварительном просмотре модели в Inspector мы можем видеть, что объекты теперь имеют Vertex Colors точно так, как мы их определили в Blender. Создавая экземпляры 3D модели в текущей сцене, мы получаем модели с нужными цветами. Таким образом, если вы хотите создавать прототипы или если вашему проекту нужен стилизованный вид, нет необходимости создавать Materials или Textures в Blender. Вы можете просто определить Vertex Colors и использовать их в Unity, как я показал. На этом все! Если это видео было полезным, вы можете поблагодарить меня лайком и подпиской на канал. Не забудьте включить уведомления, чтобы не пропустить следующие уроки. До скорого!
🇷🇺 Текстовая версия со скриншотами и дополнительными ресурсами здесь: * https://www.francescomilanese.com/ru/tutorials-ru-all/tut-186-ru-unity-vertex-colors-shader-blender.html Всем привет! В этом коротком уроке мы посмотрим, как использовать Vertex Colors объектов, экспортированных из Blender 4.5, в Unity 6. Объекты, которые я показываю в видео, не имеют Textures и даже базового Material. Однако у них есть Vertex Colors, созданные с помощью инструментов Vertex Painting в Blender. Эти цвета видны в 3D Viewport в режиме Solid, если в меню Viewport Shading изменить Object Color с Material на Attribute. Когда Vertex Colors задаются в режиме Vertex Paint, Blender создает Attribute для объекта, который можно найти на вкладке Object Data. По умолчанию Domain этого Attribute установлен на Face Corner, а Data Type на Byte Color. Эти настройки идеально подходят для нашей задачи. Я экспортирую все объекты в формате FBX. Нет необходимости устанавливать режим Copy с Embedded Textures, потому что, как я говорил ранее, нет Materials или Textures, есть только информация о цвете, связанная с геометрией через Attribute. В Unity первым шагом является импорт файла FBX в Project, затем открываю вкладку Material в Inspector. В этой вкладке я меняю Material Creation Mode на Standard Legacy и применяю изменения. Это создаст пустой Material для prefab импортированной модели. Material для этой модели должен быть создан с помощью пользовательского Shader, поэтому в Project я создаю новый Shader Graph, выбирая URP Lit, так как проект использует Universal Render Pipeline. Я переименовываю новый asset в Vertex Color Shader Graph. Как видно, этот новый asset уже содержит Material внутри. Я дважды щелкаю по asset Shader Graph, чтобы открыть его в отдельном окне. Внутри этого окна я добавляю узел Vertex Color и подключаю его напрямую ко входу Base Color узла Fragment. Вскоре Main Preview Shader обновляется. Но будьте осторожны, изменения Shader Graph пока еще не применены, и простого сохранения проекта недостаточно. Чтобы применить изменения к Scene Graph, нужно нажать кнопку сохранения в левом верхнем углу окна. Как видно, Unity требуется несколько секунд, чтобы применить изменения. На этом этапе я выбираю импортированный объект в Project и во вкладке Material Inspector перетаскиваю Material из Shader Graph, который я только что отредактировал, и применяю изменения. Уже в предварительном просмотре модели в Inspector мы можем видеть, что объекты теперь имеют Vertex Colors точно так, как мы их определили в Blender. Создавая экземпляры 3D модели в текущей сцене, мы получаем модели с нужными цветами. Таким образом, если вы хотите создавать прототипы или если вашему проекту нужен стилизованный вид, нет необходимости создавать Materials или Textures в Blender. Вы можете просто определить Vertex Colors и использовать их в Unity, как я показал. На этом все! Если это видео было полезным, вы можете поблагодарить меня лайком и подпиской на канал. Не забудьте включить уведомления, чтобы не пропустить следующие уроки. До скорого!