This tool is a shader trying to match the viewport shading in the Allegorithmic Substance Designer/Painter more to CRYENGINE shading.
Download Designer_shaders.zip and unzip it to c:\Program Files\Allegorithmic\Substance Designer\5\resources\view3d\shaders or respective folder where your designer is installed.
Restart the Designer. After this, new shader should apper in the shader list named ce_physically_specular_glossiness.
Download CryEngine.glsl and when your project is open, drag&drop it to the Shaders shelf in the Painter:
In Painter you should use the same channels CE is using:
- Base Color
This shader try to mimic CRYENGINE shading. It supports default PBR shading, together with Parallax Occlusion Mapping with selfshadow, and also supports translucency.
Most of the settings from the Designer/Painter should be straightforward and mean exactly the same as in CE.
Parallax Occlusion Mapping
Substance Designer: As a target map fo heighmap use "Height"
Substance Painter: As a source channel for POM use "Displacement"
Since Substance doesn't support small step changes in values, the depth for POM is displayed as being in the 0-1 range, but it is the same as a CRYENGINE range of 0-0.05.
The only difference in setup is in light handling, since Substance Designer only allows having light intensity defined by color, and Substance Painter doesn't have any light in the scene at all.
Therefore, for Substance Painter, Sun-related parameters were introduced to mimic the sun in the scene. In Substance Designer, Sun Multiplier Intensity was added as a shader parameter, to allow boost sun (wtf is boost sun?) in the scene.
Using CryEngine cubemap in a viewport
It is also possible to use CRYENGINE cubemaps as a Panorama image in Substance:
- Open cryengine tif cubemap in photoshop. (found in cubemaps folder, with _cm suffix) Don't be scared by strange colors:
- Run this vertical_cubemap.jsx photoshop script to transform the image to a vertical cross cubemap:
- You can now expand the border of the cubemap so there are less seems.
- Save the image as an HDR image format.
- Open the image in HDRShop.zip.
- Go to menu Image/Panorama/PanoramaticTranform.
- Make sure the settings are as below, and potentially raise resolution:
- Save as new HDR image.
- In Substance Designer, change the panorama image in the scene options.
Substance Render vs CryEngine render differences
Apart from using a different cubemap format where Substance uses a langitute/longitute environment map and CRYENGINE uses a 6-sided cubemap, there is also difference in the sampling. Where in CRYENGINE cubemap importance sampling is done during dds generation in the Resource Compiler, in Substance it is done directly in the shader. Also, CRYENGINE uses a secondary low res diffuse cubemap but Substance uses SphericalHarmonics coefficients calculated from the environmental map. However, results should be similar.
The biggest difference is in tonemapping. CRYENGINE lights the scene with raw values it gets from light and cubemaps (see the very top right in the cubemap example above) and then applies tonemapping to the final scene to compensate.
Substance, however, doesn't compensate too much or too low light in postprocess, but it allows changing the exposure of the Environmental map. This is almost the same as lowering the Diffuse and Specular multiplier for an Environmental probe in Sandbox.
That's why it's highly recommended to lower Environmental map exposure in Substance and higher sun intensity to get more similar results to CRYENGINE.