Перейти до основного вмісту

Меню команд

Перейдіть на сторінку або пошукайте в каталозі

Перевірене рішення

Додатки для Blender

Shader Bridge: конвертація матеріалів Blender у Unity Shader Graph та Unreal

Матеріали Blender у Unity URP Shader Graph: значення, текстури, запечені процедурні матеріали й toon, перевірено рендерингом у Unity 6000.4. Також створює файли Unity ShaderLab та Unreal T3D.

$9.99

Що ви отримаєте: 2 файли · 177.02 KB · ZIP

Переглянути варіанти купівлі

Опис товару

Shader Bridge: конвертація матеріалів Blender у Unity Shader Graph та Unreal

Матеріали Blender у Unity URP Shader Graph: ваші значення, текстури зображень, запечені процедурні матеріали та запечений toon, перевірено рендерингом у Unity 6000.4. Також створює файли Unity ShaderLab та Unreal T3D (у цих рушіях не перевірено).


Чому Shader Bridge

Ручна перебудова шейдерів забирає години на кожен ассет. Наявні конвертери або дослівно скидають кожен вузол Blender (який рушій не може скомпілювати), або зводять матеріал до єдиного Principled BSDF і втрачають усі деталі.

Shader Bridge обирає середній шлях: він конвертує те, для чого в рушії є справжній аналог, запікає те, чого немає, і записує результат як Shader Graph, який Unity відкриває, компілює й рендерить.


Можливості

Цільові платформи

  • Unity URP: .shadergraph (ціль Universal Lit; Unlit для Emission і запеченого toon). Перевірено в Unity 6000.4.
  • Unity HDRP: поки не підтримується. Опцію в додатку так і позначено; вона записує граф URP, який проєкт HDRP не рендерить.
  • Unity Built-in: .shader (surface shader ShaderLab); у Unity не перевірено
  • Unreal Engine: текстовий файл .t3d; в Unreal не перевірено. Підключаються лише вирази, що напряму з'єднані з піном матеріалу, а запечені текстури в ньому не згадуються

Що потрапляє в Unity (URP), вузол за вузлом

  • Як властивості та блоки: власні значення surface shader (Base Color, Metallic, Roughness (конвертується в Smoothness), Alpha, Emission Color × Strength) та Image Texture, підключена безпосередньо до одного з цих входів
  • Запечено в текстуру: Noise, Voronoi, Wave, Musgrave, Color Ramp, toon-ланцюжки Shader To RGB, невідомі типи вузлів
  • Поки не переноситься: Math, Mix / MixRGB, Fresnel, Normal Map, Bump, Mapping, Texture Coordinate, Separate / Combine, Clamp, Invert, Vector Math та все, що досягає поверхні лише через них. Перетворення Texture Mapping / UV не застосовуються, а normal map і bump не потрапляють на вхід Normal

Шість підтримуваних кореневих шейдерів (v1.1)

  • Principled BSDF: пряма конвертація
  • Emission: стає графом Unlit у Unity, колір = Emission Color × Strength
  • Diffuse BSDF: metallic = 0, specular = 0
  • Glossy BSDF: metallic = 1
  • Glass BSDF: transmission = 1, IOR копіюється
  • Transparent BSDF: alpha = 0, transmission = 1

Розумний обхід

  • Прохід крізь Mix Shader / Add Shader: обирає домінантну гілку за значенням Fac; інша гілка не експортується
  • Автоматичний обхід NodeGroup: заходить у користувацькі групи вузлів через GROUP_OUTPUT, розгруповувати наперед не потрібно
  • Прозорість Reroute: чисто проходить крізь вузли reroute та ігнорує обірвані зв'язки

Запікання процедурних матеріалів

  • Noise / Voronoi / Wave / Musgrave перетворюються на справжні текстури
  • Ваш матеріал, виділення та налаштування рендеру відновлюються незалежно від того, вдалося запікання чи ні; невдале запікання зупиняє експорт із зазначенням причини
  • Запікається лише активна сітка: камера чи світло, виділені разом із нею, не ламають запікання

Діагностичний звіт про конвертацію

  • Точна кількість підтримуваних / непідтримуваних елементів
  • Поле root_kind: показує, чим виявився головний вузол: PRINCIPLED / EMISSION / DIFFUSE / GLOSSY / GLASS / TRANSPARENT / ADD_SHADER
  • Зрозумілі повідомлення про помилки для вимкненого Use Nodes, відсутнього Material Output, непід'єднаного Surface: більше жодної загадки Supported: 0 / Unsupported: 0

Справжні емітери на основі IR

  • Значення, які ви ввели, потрапляють як властивості матеріалу, а ваші значення з Blender стають типовими
  • Текстури наперед призначаються в Unity через .meta, що записується поруч із кожним PNG (формат узято з Unity 6)

Наближення у вʼюпорті

  • Попередній перегляд EEVEE в один клік, налаштований під вигляд рушія (Unity Filmic, Unreal у стилі ACES)
  • Автоматично визначає EEVEE Next у Blender 4.2+

Toon (Shader To RGB) як запечена текстура

  • Освітлений колір запікається з вашим світлом Blender і пропускається через ваш Color Ramp: смуги потрапляють у Unity як одна текстура на unlit Shader Graph
  • Смуги запечені: вони залишаються там, куди їх поставило світло Blender, і не реагують на світло в Unity. Toon-шейдинг, кероване світлом Unity, потребує toon-шейдера на боці Unity, який Shader Bridge не генерує

Сумісність

  • Blender: 4.2 і новіші; перевірено на 4.2.9, 5.1.0 та 5.2.0
  • Unity: URP перевірено на Unity 6000.4 (Shader Graph 17.4); старіші версії Unity не тестувалися
  • Unreal Engine: файл .t3d в Unreal не перевірявся

Що ви отримаєте

  • Додаток Shader Bridge (лише Python, без DLL)
  • README із повним посібником для швидкого старту
  • Безкоштовні оновлення для v1.x
  • Підтримка через повідомлення на маркетплейсі

Встановлення

Edit → Preferences → Add-ons → Install... → оберіть zip додатка → увімкніть. Натисніть N у 3D Viewport. Вкладка бічної панелі: ShaderBridge.

Зовнішні пакети Python чи DLL не потрібні.


Ліцензія

GPL-3.0. Стандарт для додатків Blender. Ліцензія стосується лише коду додатка: шейдери, які ви з його допомогою згенеруєте, належать вам, і ви можете випускати їх у будь-якому комерційному проєкті.


Що нового у v1.2.4

Toon-матеріали тепер потрапляють у Unity зі своїми смугами. Cycles не обчислює Shader To RGB, тому попереднє запікання давало один плоский колір, а сфера з cel-шейдингом рендерилася в Unity чорною. Тепер спочатку запікається освітлений колір, а потім він пропускається через ваш ramp. Перевірено на toon-сфері в Unity 6000.4 URP у п'яти конфігураціях: 99,8-99,9 % пікселів потрапляють у ту саму смугу, що й у Blender. Смуги запечені, тому не реагують на світло в Unity; toon-шейдинг, кероване власним світлом Unity, потребує toon-шейдера на боці Unity, який Shader Bridge не генерує.

Текстури емісії підключаються. Текстура, що живила шейдер Emission, записувалася в граф і нікуди не підключалася. Шейдери Emission та колір, підключений прямо до Surface, тепер експортуються як графи Unity Unlit, так, як їх рендерить Blender.

Невдале запікання більше не пошкоджує ваш матеріал. Коли разом із сіткою була виділена камера, запікання зупинялося на півдорозі, матеріал залишався перепідключеним, а додаток усе одно повідомляв про успіх. Тепер матеріал, виділення та налаштування рендеру відновлюються в усіх випадках, запікається лише активна сітка, експорт зупиняється із зазначенням причини, а Undo працює.

Текстури наперед призначені в Unity. Кожен експортований PNG отримує файл .meta, а граф використовує цю текстуру як типове значення властивості, тож новий матеріал одразу показує свої мапи. Наявний .meta використовується повторно й ніколи не перезаписується.

Чесні цілі. HDRP ніколи не підтримувався: файл завжди був графом URP. Тепер опцію так і позначено, і експорт про це повідомляє. Перемикач Auto Channel Pack приховано: запікач записує лише мапи кольору, тож він завжди створював файл зі значень за замовчуванням.

Що нового у v1.2.3

Тепер шейдер приходить придатним до використання, а не просто компілюється. Було три проблеми, і всі три повідомив покупець, а не ми їх знайшли.

Кожна властивість текстури була оголошена як normal map. Unity відповідала «This texture is not marked as a normal map - Fix Now» на звичайну кольорову текстуру. Тепер тип властивості береться з того, чим є текстура; значення відкалібровано за 253 властивостями текстур у графах, що постачаються з самою Unity, де 0 означає кольорову мапу, а 3 означає normal map, і більше нічого.

Властивості текстур називалися за вузлом Blender, а не за зображенням. Усі вони називалися «Image Texture», тому експортований UVGridTex.png поруч із графом не вдавалося зіставити зі слотом, якому він належав: шейдер з'являвся без жодної текстури. Тепер властивості мають назву зображення.

В інспекторі матеріалу не було елементів керування. Значення були запечені в граф, і змінити їх можна було лише відкривши його. Base Color, Metallic, Smoothness та Alpha тепер відкриті як властивості, а ваші значення з Blender є типовими; там, де вхід керує текстура, відповідний регулятор слушно відсутній.

Усе це тепер вимірюється від початку до кінця, а не просто перевіряється оглядом: експортований граф імпортується в справжній редактор Unity, з нього створюється матеріал, експортовані текстури прив'язуються за назвою, і матеріал рендериться. Відрендерений колір порівнюється з текстурою, яку він має показувати. На попередній версії ця перевірка висуває вісім зауважень, зокрема жовта UV-сітка, що рендерилася типовим сірим; на цій версії жодного.

Що нового у v1.2.2

Матеріал, який ви створили, тепер і є матеріалом, що приходить. До цієї версії експортувалися лише підключені входи: усе, що ви вводили числом, відкидалося й замінювалося типовим значенням. Метал із Metallic 1,0 та Roughness 0,2 приходив у Unity як Metallic 0,0 та Smoothness 0,5, а в Unreal - як абсолютно порожній матеріал: чотири із семи тестових матеріалів експортувалися без жодного виразу у файлі.

Roughness тепер конвертується, а не просто перейменовується. Unity зберігає smoothness, Blender зберігає roughness, і вони протилежні: без конвертації дзеркальний метал приходив матовим. Виміряно: Roughness 0,2 тепер перетворюється на Smoothness 0,8.

З боку Unreal виправлено ще три речі. Кожен матеріал називався M_Material незалежно від його назви в Blender; тепер він має власну. Вузол текстури без зображення записувався з порожнім посиланням і підключався до Normal, тож normal map мовчки нічого не робила; тепер normal map бере зображення з текстури, що її живить. А непідключений Normal залишається як є, а не фіксується на виродженій константі.

Виміряно до і після на семи матеріалах: порожніх матеріалів Unreal 4 → 0, неправильних назв матеріалів 7 → 0, мертвих посилань на текстури 1 → 0.

Що нового у v1.2.1

Кожен експортований граф імпортувався в Unity, а потім не компілювався, тож кожен матеріал ставав рожевим. Помилка була invalid subscript 'TangentSpaceNormal', яку повідомляли тричі на шейдер, у вершинній програмі.

Причина: у shader graph є два блоки, що використовують той самий клас слота, але різні простори координат: вершинний блок Normal працює в просторі об'єкта, а блок поверхні Normal (Tangent Space) - у дотичному просторі. Експортер визначав простір за класом слота, а не за блоком, тому вершинний блок записувався як дотичний простір. Непідключений слот нормалі в дотичному просторі просить у Unity TangentSpaceNormal на вершинній стадії, де такого значення немає, і шейдер перестає компілюватися.

Виміряно до і після на семи матеріалах: простий, метал, скло, текстура зображення, normal map, bump, UV-перетворення. До: 18 із 22 скомпільованих стадій падали на кожному з них. Після: 22 із 22 компілюються, нуль помилок, на Unity 6000.4 з URP.

Додано дві перевірки, бо ті, що були, пропускали зламані файли. Перевірка формату тепер зчитує потрібний простір координат кожного блоку з графів, що постачаються з самою Unity, і порівнює: вона червоніє на всіх семи зламаних файлах і проходить усі сім виправлених. А друга перевірка тепер імпортує експортовані графи в справжній редактор Unity і компілює кожен pass кожного шейдера, чого раніше ніхто не вимагав. Примітка для тих, хто робить те саме: ShaderUtil.ShaderHasError повертає false у batch-режимі навіть для шейдера, що не може скомпілюватися, бо варіанти не будуються, доки їх щось не запитає.

Що нового у v1.2.0

  • Файли Unity тепер записуються у форматі, який читає Unity. Попередні версії записували один JSON-об'єкт із вкладеними вузлами. Справжній файл Shader Graph - це потік окремих об'єктів, що посилаються один на одного за id, поверхня описується блоками, а не головним вузлом, а конвеєр рендеру задається цільовим об'єктом. Файли, створені до цієї версії, URP імпортувати не міг. Експортуйте матеріали повторно, і нові файли відкриються.
  • Toon-конфігурації приходять як запечена текстура. Shader To RGB - це прийом лише для EEVEE, і в Unity немає аналога, тож toon-матеріал раніше потрапляв у граф як примітка про це. Усе, що цільовий рушій не може виразити, тепер запікається й підключається як мапа. Те саме правило охоплює процедурні текстури та color ramp.
  • Пакування каналів більше не падає, щойно є що пакувати.
  • Запікання більше не падає, коли blend-файл жодного разу не зберігався.
  • Перевірено імпортом експортованих файлів у Unity 6000.4 з URP: і PBR-матеріал, і toon-матеріал компілюються в шейдер без помилок.

Що нового у v1.1.1

  • Експорт повідомляє, що не так. Невдалий експорт раніше казав «Check warnings above» і залишав вас шукати журнал. Тепер причина названа в самій помилці, наприклад, що не задано папку експорту, а .blend жодного разу не зберігався.
  • Панель попереджає ще до натискання. Без папки експорту та з незбереженим файлом розділ Export повідомляє про це заздалегідь, а не дає кнопці зазнати невдачі.
  • Кілька слотів матеріалу більше не мовчать. ShaderBridge експортує активний матеріал; на об'єкті з кількома слотами він тепер повідомляє, скільки їх і який було записано, щоб нічого не зникало без слова.

Що нового у v1.1.0

  • Підтримка стилізованих кореневих шейдерів: Emission, Diffuse, Glossy, Glass, Transparent тепер приймаються як джерела Material Output
  • Прохід крізь Mix Shader / Add Shader з вибором домінантної гілки
  • Автоматичний обхід NodeGroup через GROUP_OUTPUT: працює з матеріалами BlenderKit / Poliigon / Quixel, які ховають свою начинку в користувацьку групу
  • Діагностичний звіт про конвертацію: точні підрахунки плюс індикатор root_kind
  • Зрозумілі повідомлення про помилки з конкретними виправленнями для вимкненого Use Nodes, відсутнього Material Output, непід'єднаного Surface

Що ви отримаєте

2 файли · 177.02 KB

  • shader_bridge_v1_2_4.zipZIP · 99.9 KB
  • shader_bridge_v1_1_0.zipZIP · 77.12 KB
Перевірка пакетаПройдено

Getly відкрив завантажені файли й не знайшов нічого, що завадило б їх відкрити. Це не антивірусна перевірка і не оцінка якості.

Перегляди68
Опубліковано28 серп. 2026 р.
Розмір файлу177.02 KB
Формат файлуZIP
Версіяv1.0

Теги

shadermaterialshader graphconversionexportUnityURPproceduralbakingtooncel shadingPBR
N
NeonAnvil
Продавець ProGetly Trusted

Поширені запитання

Чи отримаю я доступ одразу?

Так. Це цифровий товар: ви можете завантажити його одразу після оплати, просто зі своєї бібліотеки.

Чи можна використовувати його в комерційних проєктах?

Умови ліцензії встановлює продавець. Прочитайте опис товару перед купівлею: там зазначено будь-які обмеження на особисте, комерційне чи клієнтське використання.

Яка у вас політика повернення коштів?

Ви можете запросити повернення коштів протягом 30 дн. Якщо щось не так, подайте запит зі свого замовлення, і команда Getly його розгляне.

Які формати та розміри файлів я отримаю?

Ви завантажите 2 файли - ZIP - загалом 177.02 KB.

Чи отримую я безкоштовні оновлення?

Так: коли продавець випускає нову версію, ви можете повторно завантажити свіжі файли зі своєї бібліотеки безкоштовно. Останні оновлення дивіться в журналі змін.

Ціна

$9.99