This tool is a shader trying to match 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 is your designer installed.
IS THE ABOVE STILL VALID, AND IF YES, IS THIS ALWAYS IN PROGRAM FILES? I THOUGHT IT WAS ADDED TO THE ENGINE FOLDER, AS STATED ABOVE (ASK DAVID K IF NOT SURE).
Restart 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 and Drop it to Shaders Shelf in the Painter
In Painter you should use the smae channels CE is using
- Base Color
This shaders are trying to mimic Cryengine shading. It supports default PBR shading, together with Parallax Occlusion Mapping with selfshadow, and also support translucency.
Most of the settings from 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 change in values, depth for POM is in range 0-1, but it is the same as a CE range of 0-0.05
The only setup difference is in light handling, since Substance Designer only allows to have light intensity defined by color, and Substance Painter, doesn't have any light in scene at all.
Thus for Substance Painter, Sun related were introduced to mimic sun in the scene. In Substance Designer, Sun Multiplier Intensity was added as a shader param, to allow boost sun in the scene.
Important!!! By default using cubemap together with sign with intensity 1 means the sun has almost the same intensity as brighness coming from panorama. And it maight look selfshadows on POM are not working. But they work, you need to actually boost Sun Intensity, and also it is recommended to lower Environment exposure below 0. This is not a bug, result of differences between Substance and CE. See below.
Using CryEngine cubemap in a viewport
It is also possible to use CryEngine cubemaps as a Panorama image in Substance. For now it allows manual steps to be made, maybe in future we can generate appropriate cubemaps directly from Sandbox.
- Open cryengine tif cubemap in photoshop. (found in cubemaps folder, with _cm suffix) Don't ebe scared by weird colors
- Run this vertical_cubemap.jsx photoshop script to transform the image to vertical cross cubemap
- You now can expand border of the cubemap so there are less seems.
- Save the image as a HDR image format.
- Open the image in HDRShop.zip
- Go to menu "Image/Panorama/PanoramaticTranform"
- Setup the dialog to this settings, potentially raise resolution
- Save as new HDR image
- In Substance designer change panorama image in the scene options.
Substance Render vs CryEngine render differences
Apart from using different cubemap format, where Substance uses langitute/longitute environment map and CE uses 6 sides cubemap there is also difference in the sampling. Where in CE cubemap importance sampling is done during dds generation in the RC, but in Substance it is done directly in shader. Also CE uses secondary low res diffuse cubemap but Substance uses SphericalHarmonics coefficients calculated from environmental map. However results should be similar.
The biggest difference is than in tonemapping. CryEngine lights the scene with raw values it gets from light and cubemaps (see very wright cubemap example above) and than applies tonemapping to final scene to compensate.
On the other hand, Substance doesn't compensate too much or too low light in postprocess, but it allowed to change exposure of Environmental map. This is almost the same like lowering Diffuse and Specular multiplier for a Environmental probe in Sandbox.
This is the reason it is highly recommended to lower Environmental map exposure in substance and higher sun intensity to get more similar results to CryEngine.