Saltar al contenido principal

Menú de comandos

Ve a una página o busca en el catálogo

Solución de confianza

Complementos de Blender

Shader Bridge: convierte materiales de Blender a Unity Shader Graph y Unreal

Materiales de Blender a Unity URP Shader Graph: valores, texturas, procedurales y toon bakeados, verificados renderizando en Unity 6000.4. También genera archivos Unity ShaderLab y Unreal T3D.

$9.99

Qué recibes: 2 archivos · 177.02 KB · ZIP

Ver opciones de compra

Descripción del producto

Shader Bridge: convierte materiales de Blender a Unity Shader Graph y Unreal

Materiales de Blender a Unity URP Shader Graph: tus valores, texturas de imagen, procedurales bakeados y toon bakeado, verificados renderizando en Unity 6000.4. También genera archivos Unity ShaderLab y Unreal T3D (no verificados en esos motores).


Por qué Shader Bridge

Reconstruir shaders a mano consume horas por cada asset. Los conversores existentes o vuelcan literalmente cada nodo de Blender (algo que el motor no puede compilar) o resumen el material en un único Principled BSDF y pierden todo el detalle.

Shader Bridge toma un camino intermedio: convierte lo que el motor tiene como equivalente real, hace bake de lo que no, y escribe el resultado como un Shader Graph que Unity abre, compila y renderiza.


Características

Destinos

  • Unity URP: .shadergraph (destino Universal Lit; Unlit para Emission y toon bakeado). Verificado en Unity 6000.4.
  • Unity HDRP: aún no compatible. La opción aparece así etiquetada en el add-on; escribe un grafo URP, que un proyecto HDRP no renderiza.
  • Unity Built-in: .shader (surface shader de ShaderLab); no verificado en Unity
  • Unreal Engine: archivo de texto .t3d; no verificado en Unreal. Solo se conectan las expresiones cableadas directamente a un pin del material, y las texturas bakeadas no se referencian en él

Qué llega a Unity (URP), nodo por nodo

  • Como propiedades y bloques: los valores propios del surface shader (Base Color, Metallic, Roughness (convertido a Smoothness), Alpha, Emission Color × Strength) y una Image Texture conectada directamente a una de esas entradas
  • Bakeado a textura: Noise, Voronoi, Wave, Musgrave, Color Ramp, cadenas toon de Shader To RGB, tipos de nodo desconocidos
  • Aún no se transfieren: Math, Mix / MixRGB, Fresnel, Normal Map, Bump, Mapping, Texture Coordinate, Separate / Combine, Clamp, Invert, Vector Math y todo lo que llegue a la superficie solo a través de ellos. No se aplican las transformaciones de Texture Mapping / UV, y los normal maps y el bump no llegan a la entrada Normal

Seis root shaders compatibles (v1.1)

  • Principled BSDF: conversión directa
  • Emission: se convierte en un grafo Unlit de Unity, color = Emission Color × Strength
  • Diffuse BSDF: metallic = 0, specular = 0
  • Glossy BSDF: metallic = 1
  • Glass BSDF: transmission = 1, IOR copiado
  • Transparent BSDF: alpha = 0, transmission = 1

Recorrido inteligente

  • Paso a través de Mix Shader / Add Shader: elige la rama dominante según el valor de Fac; la otra rama no se exporta
  • Recorrido automático de NodeGroup: entra en grupos de nodos personalizados mediante GROUP_OUTPUT, sin necesidad de desagrupar antes
  • Transparencia de Reroute: atraviesa los nodos reroute sin problemas e ignora los enlaces sueltos

Baker de procedurales

  • Noise / Voronoi / Wave / Musgrave se convierten en texturas reales
  • Tu material, la selección y los ajustes de render se restauran tanto si el bake tiene éxito como si no; un bake fallido detiene la exportación e indica el motivo
  • Solo se hace bake de la malla activa: una cámara o una luz seleccionada junto a ella no rompe el bake

Informe de conversión de diagnóstico

  • Recuentos precisos de compatibles / no compatibles
  • Campo root_kind: te indica si el nodo maestro terminó siendo PRINCIPLED / EMISSION / DIFFUSE / GLOSSY / GLASS / TRANSPARENT / ADD_SHADER
  • Mensajes de error en lenguaje claro para Use Nodes desactivado, Material Output ausente y Surface sin conectar: se acabó el misterio de Supported: 0 / Unsupported: 0

Emisores reales basados en IR

  • Los valores que escribiste llegan como propiedades del material con tus valores de Blender como predeterminados
  • Las texturas quedan preasignadas en Unity mediante un .meta escrito junto a cada PNG (formato tomado de Unity 6)

Aproximación en el viewport

  • Vista previa EEVEE con un clic, ajustada al aspecto del motor (Unity Filmic, estilo Unreal ACES)
  • Detecta automáticamente EEVEE Next en Blender 4.2+

Toon (Shader To RGB) como textura bakeada

  • El color iluminado se bakea con tus luces de Blender y se pasa por tu Color Ramp: las bandas llegan a Unity como una sola textura en un Shader Graph unlit
  • Las bandas están bakeadas: permanecen donde las puso la luz de Blender y no reaccionan a las luces de Unity. Un toon shading controlado por las luces de Unity necesita un toon shader del lado de Unity, que Shader Bridge no genera

Compatibilidad

  • Blender: 4.2 y posteriores; probado en 4.2.9, 5.1.0 y 5.2.0
  • Unity: URP probado en Unity 6000.4 (Shader Graph 17.4); las versiones anteriores de Unity no se probaron
  • Unreal Engine: el archivo .t3d no se verificó en Unreal

Qué obtienes

  • Add-on Shader Bridge (solo Python, sin DLL)
  • README con una guía de inicio rápido completa
  • Actualizaciones gratuitas para v1.x
  • Soporte mediante los mensajes del marketplace

Instalación

Edit → Preferences → Add-ons → Install... → elige el zip del add-on → actívalo. Pulsa N en el 3D Viewport. Pestaña de la barra lateral: ShaderBridge.

No se requieren paquetes externos de Python ni DLL.


Licencia

GPL-3.0. Es lo habitual en los add-ons de Blender. La licencia se aplica solo al código del add-on: los shaders que generes con él son tuyos y puedes distribuirlos en cualquier proyecto comercial.


Novedades de la v1.2.4

Los materiales toon ahora llegan a Unity con sus bandas. Cycles no evalúa Shader To RGB, así que el bake anterior producía un único color plano y una esfera con cel shading se renderizaba negra en Unity. Ahora primero se bakea el color iluminado y luego se pasa por tu ramp. Verificado con una esfera toon en Unity 6000.4 URP en cinco configuraciones: entre el 99,8 y el 99,9 % de los píxeles caen en la misma banda que en Blender. Las bandas están bakeadas, por lo que no reaccionan a las luces de Unity; un toon shading controlado por las propias luces de Unity necesita un toon shader del lado de Unity, que Shader Bridge no genera.

Las texturas de emisión se conectan. Una textura que alimentaba un shader Emission se escribía en el grafo y no se conectaba a nada. Los shaders Emission, y un color conectado directamente a Surface, ahora se exportan como grafos Unlit de Unity, tal como los renderiza Blender.

Un bake fallido ya no daña tu material. Con una cámara seleccionada junto con la malla, el bake se detenía a medias, el material quedaba recableado y el add-on aun así informaba de éxito. Ahora el material, la selección y los ajustes de render se restauran en todos los casos, solo se hace bake de la malla activa, la exportación se detiene indicando el motivo y Deshacer funciona.

Las texturas quedan preasignadas en Unity. Cada PNG exportado recibe un archivo .meta, y el grafo usa esa textura como valor predeterminado de la propiedad, de modo que un material nuevo ya muestra sus mapas. Un .meta existente se reutiliza y nunca se sobrescribe.

Destinos honestos. HDRP nunca fue compatible: el archivo siempre ha sido un grafo URP. Ahora la opción lo indica en su etiqueta y la exportación lo dice. El interruptor Auto Channel Pack se ha ocultado: el baker solo escribe mapas de color, por lo que solo producía un archivo de valores predeterminados.

Novedades de la v1.2.3

Ahora el shader llega usable, no solo compilando. Había tres problemas y los tres los reportó un comprador, no los encontramos nosotros.

Todas las propiedades de textura se declaraban como normal map. Unity respondía con «This texture is not marked as a normal map - Fix Now» ante una textura de color normal. Ahora el tipo de propiedad se toma de lo que es la textura; el valor se calibró con 253 propiedades de textura de los grafos que distribuye el propio Unity, donde 0 significa mapa de color y 3 significa normal map, y nada más.

Las propiedades de textura se nombraban según el nodo de Blender, no según la imagen. Todas se llamaban «Image Texture», de modo que el UVGridTex.png exportado junto al grafo no podía asociarse con la ranura a la que pertenecía: el shader aparecía sin ninguna textura aplicada. Ahora las propiedades llevan el nombre de la imagen.

No había controles en el inspector del material. Los valores estaban bakeados en el grafo y solo se podían cambiar abriéndolo. Base Color, Metallic, Smoothness y Alpha ahora se exponen como propiedades, con tus valores de Blender como predeterminados; cuando una textura controla una entrada, el control correspondiente está correctamente ausente.

Todo esto ahora se mide de extremo a extremo, no se inspecciona: el grafo exportado se importa en un editor real de Unity, se crea un material a partir de él, las texturas exportadas se enlazan por nombre y se renderiza el material. El color renderizado se compara con la textura que debería mostrar. En la versión anterior esa comprobación genera ocho quejas, incluida la cuadrícula UV amarilla que se renderizaba en el gris predeterminado; en esta, ninguna.

Novedades de la v1.2.2

El material que construiste es ahora el material que llega. Hasta esta versión solo se exportaban las entradas conectadas: todo lo que escribías como número se descartaba y se reemplazaba por un valor predeterminado. Un metal con Metallic 1,0 y Roughness 0,2 llegaba a Unity como Metallic 0,0 y Smoothness 0,5, y llegaba a Unreal como un material completamente vacío: cuatro de siete materiales de prueba se exportaban sin una sola expresión en el archivo.

Ahora Roughness se convierte en lugar de simplemente renombrarse. Unity almacena smoothness, Blender almacena roughness, y son opuestos: sin la conversión, un metal espejo llegaba mate. Medido: Roughness 0,2 ahora se convierte en Smoothness 0,8.

Del lado de Unreal se corrigen tres cosas más. Todos los materiales se llamaban M_Material sin importar su nombre en Blender; ahora llevan el suyo. Un nodo de textura sin imagen se escribía con una referencia vacía y conectado a Normal, por lo que el normal map no hacía nada en silencio; ahora un normal map toma la imagen de la textura que lo alimenta. Y una Normal sin conectar se deja como está en lugar de fijarse a una constante degenerada.

Medido antes y después con siete materiales: materiales de Unreal vacíos 4 → 0, nombres de material incorrectos 7 → 0, referencias de textura muertas 1 → 0.

Novedades de la v1.2.1

Todos los grafos exportados se importaban en Unity y luego fallaban al compilar, así que todos los materiales salían rosa. El error era invalid subscript 'TangentSpaceNormal', reportado tres veces por shader, en el programa de vértices.

La causa: un shader graph tiene dos bloques que usan la misma clase de ranura pero espacios de coordenadas distintos: el bloque Normal de vértice está en espacio de objeto, mientras que el bloque Normal (Tangent Space) de superficie está en espacio tangente. El exportador decidía el espacio a partir de la clase de ranura en lugar de a partir del bloque, así que el bloque de vértice se escribía como espacio tangente. Una ranura de normal en espacio tangente sin conectar le pide a Unity TangentSpaceNormal en la etapa de vértices, donde no existe tal valor, y el shader deja de compilar.

Medido antes y después con siete materiales: liso, metal, cristal, textura de imagen, normal map, bump, transformación UV. Antes: 18 de 22 etapas compiladas fallaban en todos ellos. Después: 22 de 22 compilan, con cero errores, en Unity 6000.4 con URP.

Se añadieron dos comprobaciones, porque las que teníamos dejaron pasar los archivos rotos. El verificador de formato ahora lee el espacio de coordenadas requerido por cada bloque a partir de los grafos que distribuye el propio Unity y lo compara: se pone en rojo con los siete archivos rotos y aprueba los siete corregidos. Y una segunda comprobación ahora importa los grafos exportados en un editor real de Unity y compila cada pass de cada shader, que era justo lo que nunca se pedía. Nota para quien haga lo mismo: ShaderUtil.ShaderHasError devuelve false en modo batch incluso con un shader que no puede compilar, porque las variantes no se construyen hasta que algo las solicita.

Novedades de la v1.2.0

  • Los archivos de Unity ahora se escriben en el formato que Unity lee. Las versiones anteriores escribían un único objeto JSON con los nodos anidados dentro. Un archivo real de Shader Graph es un flujo de objetos separados que se referencian entre sí por id, la superficie se describe mediante bloques en lugar de un nodo maestro, y el pipeline de render se nombra mediante un objeto de destino. Los archivos producidos antes de esta versión no se podían importar en URP. Vuelve a exportar tus materiales y los archivos nuevos se abrirán.
  • Las configuraciones toon llegan como textura bakeada. Shader To RGB es un truco exclusivo de EEVEE y Unity no tiene equivalente, así que un material toon solía llegar al grafo como una nota que lo decía. Todo lo que el motor de destino no puede expresar ahora se bakea y se conecta como mapa. La misma regla cubre las texturas procedurales y los color ramps.
  • El empaquetado de canales ya no falla en cuanto hay algo que empaquetar.
  • El bake ya no falla cuando el archivo blend nunca se ha guardado.
  • Verificado importando los archivos exportados en Unity 6000.4 con URP: tanto un material PBR como un material toon compilan en un shader sin errores.

Novedades de la v1.1.1

  • La exportación te dice qué va mal. Una exportación fallida solía decir «Check warnings above» y te dejaba buscando un log. Ahora nombra el motivo en el propio error, por ejemplo, que no hay una carpeta de exportación definida y que el .blend nunca se ha guardado.
  • El panel avisa antes de que pulses. Sin carpeta de exportación y con un archivo sin guardar, la sección Export lo indica de antemano en lugar de dejar que el botón falle.
  • Los múltiples slots de material ya no son silenciosos. ShaderBridge exporta el material activo; en un objeto con varios slots ahora informa de cuántos hay y cuál se escribió, para que nada desaparezca sin avisar.

Novedades de la v1.1.0

  • Root shaders estilizados compatibles: Emission, Diffuse, Glossy, Glass y Transparent ahora se aceptan como fuentes de Material Output
  • Paso a través de Mix Shader / Add Shader con selección de la rama dominante
  • Recorrido automático de NodeGroup mediante GROUP_OUTPUT: funciona con materiales de BlenderKit / Poliigon / Quixel que envuelven sus entrañas en un grupo personalizado
  • Informe de conversión de diagnóstico: recuentos precisos más un indicador root_kind
  • Mensajes de error en lenguaje claro con soluciones concretas para Use Nodes desactivado, Material Output ausente y Surface sin conectar

Qué recibes

2 archivos · 177.02 KB

  • shader_bridge_v1_2_4.zipZIP · 99.9 KB
  • shader_bridge_v1_1_0.zipZIP · 77.12 KB
Revisión del paqueteSuperada

Getly abrió los archivos subidos y no encontró nada que impida abrirlos. No es un análisis antivirus ni una valoración de calidad.

Vistas68
Publicado28 ago 2026
Tamaño del archivo177.02 KB
Formato de archivoZIP
Versiónv1.0

Etiquetas

shadermaterialshader graphconversionexportUnityURPproceduralbakingtooncel shadingPBR
N
NeonAnvil
Vendedor ProGetly Trusted

Preguntas frecuentes

¿Tengo acceso al instante?

Sí. Es un producto digital: puedes descargarlo justo después del pago, directamente desde tu biblioteca.

¿Puedo usarlo en proyectos comerciales?

Las condiciones de la licencia las fija el vendedor. Revisa la descripción del producto antes de comprar: indica cualquier límite de uso personal, comercial o para clientes.

¿Cuál es vuestra política de reembolso?

Puedes pedir un reembolso dentro de 30 días. Si algo no va bien, solicítalo desde tu pedido y el equipo de Getly lo revisa.

¿Qué formatos y tamaños de archivo recibiré?

Descargarás 2 archivos - ZIP - 177.02 KB en total.

¿Recibo actualizaciones gratis?

Sí: cuando el vendedor publica una versión nueva, puedes volver a descargar los archivos más recientes desde tu biblioteca sin coste extra. Mira el registro de cambios para ver las últimas actualizaciones.

Precio

$9.99