Author Topic: Noob Question: Can I export maps from a .sbsar file in Unreal?  (Read 6593 times)

Hi!  I'm attempting to load my characters in Unreal...I'm good with Unity, where I can export the maps, but unreal seems quite different in many key ways, and I'm unable to find an "export" button when I load the .sbsar details.  Is this function present in the system?

Thanks!

Hi!  I'm attempting to load my characters in Unreal...I'm good with Unity, where I can export the maps, but unreal seems quite different in many key ways, and I'm unable to find an "export" button when I load the .sbsar details.  Is this function present in the system?

Thanks!

Hi Andrew,

We don't have an export feature in the UE4 plugin. Can you let me know why you use this export feature in Unity? The export of textures in the game engines is something we may investigate. We don't see as useful in the game engine, but please let us know how this is helpful for your workflow.

If you are looking to use a substance but only the actual texture in UE4, I would recommend using the free substance player to visually look at the substance and batch export textures you can then import into UE4.
https://www.allegorithmic.com/download/download_free/6

Cheers,
Wes
Head of Substance Demo Art Team
the3dninja@adobe.com
Twitter: The3DNinja

Thanks Wes!

Here's a video showing what I've been using Substance Designer for (and the .sbsar files) in Unity:  https://www.youtube.com/watch?v=tNTCA3MsjkM

Basically I've set up a large graph that isn't at all meant for run time (it crashes mobile devices, and some computers I've heard), but is instead meant to allow people who buy my assets to modify the textures in Unity, and then export the complete maps.

For each section of the model I have a generic set of options like HSL/Contrast, roughness shift, an overlay color, and the ability to mask out the Normal/AO or use a custom material w/ custom input nodes.  So a "material" on the object can be replaced by any other material, not too differently than in SD itself.

Then there's the environment things -- ground dirt, surface dirt, metal damage etc.

There' a couple other things, but then in the end, I also wrote a script that will export the maps and create/populate a new material with them, so that users can pretty quickly customize the look of an object and then create a game-ready texture set with one click.

In the end not being able to do all that in Unreal makes it slightly easier for me, since I'd have to re-wriet all those scripts in unreal and that's not something I'm very good at doing!!  :)  I think, then, it may make more sense to simply provide the .sbs or .sbsar file with the standard .fbx and exported textures so people can customize it with Substance applications instead.  In the end that would be the same result, just not quite as easy since it's not in-engine.

Andrew

Thanks Wes!

Here's a video showing what I've been using Substance Designer for (and the .sbsar files) in Unity:  https://www.youtube.com/watch?v=tNTCA3MsjkM

Basically I've set up a large graph that isn't at all meant for run time (it crashes mobile devices, and some computers I've heard), but is instead meant to allow people who buy my assets to modify the textures in Unity, and then export the complete maps.

For each section of the model I have a generic set of options like HSL/Contrast, roughness shift, an overlay color, and the ability to mask out the Normal/AO or use a custom material w/ custom input nodes.  So a "material" on the object can be replaced by any other material, not too differently than in SD itself.

Then there's the environment things -- ground dirt, surface dirt, metal damage etc.

There' a couple other things, but then in the end, I also wrote a script that will export the maps and create/populate a new material with them, so that users can pretty quickly customize the look of an object and then create a game-ready texture set with one click.

In the end not being able to do all that in Unreal makes it slightly easier for me, since I'd have to re-wriet all those scripts in unreal and that's not something I'm very good at doing!!  :)  I think, then, it may make more sense to simply provide the .sbs or .sbsar file with the standard .fbx and exported textures so people can customize it with Substance applications instead.  In the end that would be the same result, just not quite as easy since it's not in-engine.

Andrew

Hi Andrew,

This is very awesome! I'll report to the dev team and the info you provided is helpful for us to see ways the export can be used in engine.

I would recommend to supply on the sbsar file and then have the user download the free Substance Player. https://www.allegorithmic.com/download/download_free/6. They can then just open your sbsar, make tweaks input texture if needed and then batch export all the maps.

Cheers,
Wes
Head of Substance Demo Art Team
the3dninja@adobe.com
Twitter: The3DNinja

Thanks Wes, I'll do that! :D 

Hello Andrew,
Awesome video and thank you for sharing! So I believe I have a solution to what you are trying to achieve. A feature in the Unreal Engine integration is being able to set the generation mode in the editor for any given substance instance factory. If you were to set this to SGM_Baked, when you cook your content for a packaged build, it will not save/package all of the extra overhead and the instance becomes frozen. This will only use the texture data and material at runtime making substances that are heavy duty in the editor more game ready. This does prevent a substance from being able to be updated at runtime but if you were going to bake the textures out, this wouldn't be possible anyway.

As for recreating your script, whenever you import an sbsar file into UE4, it creates a material by default, if you chose to do so. As long as your logic is mostly on the substance side, there will not be any additional setup required for material creation.

I hope this helps and if you have any other questions, please don't hesitate to ask. =)
Software Engineer, Integrations
daniel.stover@allegorithmic.com

Hmm that sounds like it may be an option -- could a user in Unreal make multiple copies of the .sbsar in the project, effectively one for each variation they'd like to achieve?

Indeed you can! =D
When you import an sbsar file, it creates an instance factory and by default, it creates one graph instance with its material and output textures. You can edit this instance anyway you would like and when you need another, all you need to do is right click on the instance factory and create another graph instance.
Software Engineer, Integrations
daniel.stover@allegorithmic.com

Hmmm -- Just downloaded Substance Player to test that out.  Does it not load .fbx files?

Hmmm -- Just downloaded Substance Player to test that out.  Does it not load .fbx files?

Yes, you can load an FBX. Just go to the 3D view and choose Geometry>Load Mesh. I think it defaults to fbx.

Cheers,
wes

Head of Substance Demo Art Team
the3dninja@adobe.com
Twitter: The3DNinja