Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - brendan_1

Pages: 1 [2] 3
I've just updated Substance Painter from 2.03 to 2.11 and the "Blinn (non PBR)" shader I was using is now missing. This shader closely resembles the final result in my custom game engine, and I was very happy to see it in SP2 as I previously had to write my own Blinn shader for SP1. When loading a previous project in 2.11, the Blinn (non PBR) shader showed as "outdated" and it seemed to be rendering using another shader (I think it picked the new car paint shader).

I had a backup copy of the 2.03 installer so I've gone back to that version and everything is fine again, but I'm wondering why the shader was removed and whether there are plans to bring it back.

In case anyone's reading this, I just found out that a user over at Polycount has recently put together a Blinn Phong model shader that serves our purpose and might serve yours too:

It'd still be quite useful to have a simple shader like this with shadows and lighting, especially if we could get 1-3 directional lights to simulate the rendering capabilities of last-gen game engines. But for now it looks like the Blinn Phong shader will work well for a non-PBR workflow.

One of the developers posted a shader called SimpleColor.glsl on the Steam forum last year, and I've been using a slightly modified version of it in my projects to include normal mapping from the paint's height as this gives a truer representation of how the final version will look in my game. Unfortunately, the latest version of substance painter has broken both shaders. It is tested and working in 1.34 but broken in 1.41, I would guess because 1.4.0 made some changes to the shader code.

I was wondering if any of the devs had a new SimpleColor shader that works with the new version and that we could adapt to include normals from height again. Attached are both shaders that are now broken. SimpleColor.glsl is the one supplied by a dev, and SimpleColorNormal.glsl is my modified version.

-- Brendan

As a follow-up to this, I've explored each of these options and decided that the most viable solution for my current engine would be to write a simple shader for substance painter that uses only the Color and Normal maps and a basic specular, then write a shader that looks the same in my engine.

I've already got the SimpleColor.glsl shader one of the Substance crew posted before to use as a starting point and added the Normal map to it, so I just have to add a basic specular and then write a HLSL shader that does the same for my engine.

After that, my process should be:
  • Bake AO map in Substance Designer
  • Bake scene shadows in 3DS Max
  • Add AO and shadows as fill map layers in Substance Painter and set to multiply with base color only
  • Export Color and Normal maps for use in my engine.

As long as we stick to using the new shader in Substance Painter and experiment with materials to get a good look, it should all be good. Will update when we've run a model through this workflow!

In the next build, the AO baker will use the normal map to bake if no high poly mesh is supplied.
Fantastic :D. The tools keep getting better!

I'm new to SP too, but what I do is right click the layer and click Add Black Mask, then use the Geometry Decal tool to paint certain areas white on the mask and the paint on that layer will only show up in the masked area. Does that work for you?

Could you post a screenshot of your UV map? It could be that there's insufficient gutttering between the UV groups so the edges are overlapping.

Thanks very much, Fabian. I had a feeling Substance Designer might be able to do this, will give it a try!

I'm trying to bake an AO map based on the normal map so that I can use it as part of the paint, but Substance Painter only take geometry into account in its baker. I know the typical use of baking is to bake information from a high-poly model down into a low-poly model's texture, but I'm kind of doing it backwards by adding detail on a low-poly model using substances with height like tiles and bricks. The final exported normal map has this information in it just fine, but the baker uses only geometry.
Is there a way to do this or am I barking up the wrong tree?

Thanks a ton for your help, Wes!
With 3ds Max, you will need a PBR shader. In Maya 2016, there is a new PBS shader called "stingray PBS" which is a shader fx file. I'm not sure if this is included with 3ds Max 2016, but since they both have shader FX, I would imagine 3ds max 2016 would have it as well. They may not be helpful depending on your upgrade path. The singray pbs shader does work well with Substance.

With this workflow, you could export the maps to max and then bake the lighting and shadows to the textures. Here is a link for a PBR shader for max as well.
I think my modeller has tried and failed to get that shader to work, but I will ask him to give it another shot as it sounds like the ideal solution for simplifying this workflow.

At this time, Painter doesn't have a shader to support diffuse and specular (non-PBR). This is on the road map, but at this time there is not a way to export non-pbr map types.
Thanks, I expected as much. PBR is the industry standard now for game engines, so I understand why supporting it is a priority.

I'm sorry, this sounds like a lot of "you can't" for your particular workflow. I'll do my best to help come up with a solution for your needs. Here is an idea of a possible workaround. 

So one thing you could do is to screen capture the 2D view which contains lighting and reflection. Then in Max, bake the directional lighting and then multiply this over your base color map. This will definitely break the maps for PBR use, but that sounds like that is ok for your custom setup. From there, you have the normal from Painter so that should work. Since you are baking the lighting and reflection, you should only need the base color and normal map for your shader in-engine.
Good idea! This sounds similar to something we did before where we rendered the shadows and AO to textures and then multiplied them with the diffuse map. The results did look good for our purposes, and since the models are small enough on screen we actually didn't need to include a normal map, just use a normal map in the shadow bake. Something similar to that should work here, I'll give it a go.

So it looks like I have three options to try:

1) Export the PBR maps from Painter, then import the Color and Normal maps into Max. Maybe import the metallic map or inverse of the as roughness map as Specular? Then bake the shadows to a texture in Max, and multiply together the Shadow texture, Painter AO, and Color textures to produce the final diffuse texture. It should be close enough to how it looks in painter for our purposes.

2) Use a simple color + normal shader in Painter so that the results match up exactly with what's seen in MAX, and then do the shadow and AO baking in Max using vray.

3) Try some of the different Painter export options and see if they're close enough to be used. The CryEngine 3 export seems to have Diffuse, Specular, and what looks like Direct X Normal? I haven't tried to import that into Max, but could give it a go.

Looks like I have some experimenting to do. Thanks so much for the suggestions and help, the support for Substance is a lot better than any other tool I've used so far.

EDIT: Looks like the CryEngine export's DDNA is Normal in rgb and glossiness in the alpha channel. Haven't got a chance to test it in Max, but it should be usable.

I'm working on a computer game and trying to simplify my 3D modeller's workflow to take all the pain out of his process and let him concentrate on creating models. Right now he's producing models, merging them into a single mesh and manually unwrapping and packing the UVs. He previously then textured in photoshop, but we've decided to try to replace this with Substance Painter.

In the game, these models are always lit from the same angle by the same light and they're always viewed from the same angle. What we want to do is bake everything right into the base texture. The game is built in a custom engine, so I can easily disable the in-game lighting and just display the pre-baked texture. This works with our current workflow since photoshop just works on the diffuse texture, but doesn't jive with Substance Painter. The process we're trying to implement is:
  • Create model, merge to a single mesh in 3DS Max
  • Automatically unwrap and pack UVs
  • Export as OBJ/FBX
  • Texture exported model in Substance painter
  • Bake AO, lighting and shadows into texture
  • Import finished model into game
Ideally, we'd like to bake the results from Substance Painter's PBR based shader directly onto the diffuse texture. I know Substance Painter/Designer can bake AO, but the problem we're running into is that as far as I am aware, it has no lighting setup so can't bake lighting or shadows. We can import the textured model back into 3DS Max and use render-to-texture to bake in lighting and shadows, but I'm told 3DS Max doesn't have support for PBR shaders and won't render the same as Substance Painter, so the results will look very different.

I guess my questions are:
1) Is there a way to bake lighting and shadows in the Substance toolset that I just haven't found?
2) Is there a way to get 3DS Max to render a model the same as Substance toolset apart from lighting?
3) Can we make the Substance Painter display and output textures in a standard Diffuse/Normal/Specular setup so that it can be imported easily into software like 3DS Max and will look the same?

Thanks in advance for any help anyone can give. I'm not a 3D modeller by trade and my 3D modeller is still learning, but I'm hoping we can resolve this issue and start baking some of the visually impressive results of the Substance Painter onto the base texture.

I've been trying every few hours today and kept getting the timeout error, but I just tried again and it went through fine! It took about 30 seconds, but it didn't time out this time. Got the purchase made :)

I've been trying to buy one of your products and the website seems to have been experiencing difficulties for the past 24 hours. Attempting to register a new account is met with a long wait followed by "Secure Connection Failed" and trying to click the buy button while logged into an existing account gets a Json timeout. For reference, I'm using the latest version of Firefox and am in the UK, and the website was working fine yesterday when it let me log in and get through to the checkout page. I've cleared my cookies and don't store a cache or temporary internet files.

Thanks very much! Excellent customer service so far, looking forward to getting to grips with your tools!



You must enter a VAT number if you enter the company name.
You can leave the company field free and maybe put the company name in the last name, so that it will appear on the invoice anyway.

Thanks very much for the prompt response, that sounds like a good solution. Unfortunately, your website is now throwing ajax timeout errors when I click the buy button. I'll have to try it again tomorrow.

Also, your forum seems to have posted that using my email address publicly instead of my username even though I was logged in. I would greatly appreciate it if you could remove that message please.

Pages: 1 [2] 3