Author Topic: Using B2M in Unity + Skyshop  (Read 5368 times)

Hi everyone!

I am trying to use B2M with Skyshop in Unity. Unfortunately, Skyshop doesn't use the typical Diffuse (RGB) Gloss (A) but instead Diffuse (RGB) Alpha (A) and Specular (RGB) Gloss(A). How do I setup the generated outputs so that they fill the correct channels? I guess that under the "Generated Outputs" I have to select the right channels from the drop down list that includes:

Source (A)
Diffuse (A)
Normal (A)
Height (A)
Emissive (A)
Specular (A)
Opacity (A)

Honestly, I never really figured out what is meant with "Source (A)" and why this list only let's one choose the (A) channel, but not (R) (G) and (B). Can someone explain this list to me and how to properly use it?

Thank you very much for any help!! :-)

Last Edit: February 03, 2014, 07:19:38 pm

Nobody here who is using B2M with Unity?


Yes you're right regarding the "Generated Outputs" channels, that's where you can modify the settings regarding channels mapping.
At the bottom of the Substance properties, you can choose what you want to use in the alpha channel of the corresponding output. By default, you get the source alpha (=the default alpha of the corresponding output), but you can use other channels as alpha.

In this case, if you use the "Source" alpha, you'll get something white. You have the possibility to change the gloss value uniformly to have something which can fit with your material type.

Unfortunately, there is no "Glossiness" map generated by the current version of the Bitmap2Material.

An important point: create a new Unity material instead of using the material directly assigned in the Substance to avoid some issues. Some outputs assignation can behave incorrectly.

A workaround (not perfect, but which can help if you need something really specific for the gloss map, and don't really care about the specular sharpness) is to use the height as a specular (you can adjust it with the "height" related parameters to have something more correct) and your specular as gloss. Here are the main steps:
- In the Substance properties, put the "Specular" in the alpha of the "Height" output (as in the picture below)
- In your skyshop material, drag n'drop your height in the "Specular/gloss" slot.
- You can now adjust the gloss with the "Specular" parameters in the Substance. And your Specular with the "Height" parameters.
You can also adjust them using the global parameters of the shader (Specular and Gloss values).

Hope it will help you even if it's not perfect.
Lead technical artist

Gaetan, that helps a lot! Thank you very much for your tipps. I guess it's a workaround I can live with for the time being.

Can you tell me when the next version of B2M will be released and if this version will include generating gloss maps? Also will the next version for Unity support the generation of maps larger than 2048 pixels?


An important point: create a new Unity material instead of using the material directly assigned in the Substance to avoid some issues. Some outputs assignation can behave incorrectly.

I forgot to ask if you could explain this step by step? I'm not entirely sure what you mean. How can I create a standard Unity material and then connect the B2M material to it?

I also always wondered if it's possible create a B2M material outside of the Bitmap2Material_2 parent node? Say for instance as part of a standard Unity material.
The problem with a B2M Material is e.g. that the geometry of an imported FBX file doesn't recognize it as a material and hence it doesn't get applied automatically to it. That means I would have to assign the B2M material to all the geometry manually. Any idea for a workaround?

I'm glad it helped!

For now, nothing official regarding a new version of the B2M filter, but thanks for your feedback, it's noted. :)

Regarding the material, you just need to drag n'drop your Substance outputs in a "classic" Unity material (which use the Marmoset shader you need). Here are the main steps:
- Right click in the asset view in an empty area and create a new material.
- Change the shader type of your material (Marmoset/Bumped Specular IBL for example).
- Then, drag n'drop the generated outputs you want to use (from the B2M Substance) to your material slots. You can also use the "Select" button.

This way, you use the Substance to generate the outputs (=textures), but you don't use the material assigned to it.
Lead technical artist