Code: (1169702 (start) -> 1208727) || Assets: ( TBA )

Released 28th April, 2015

If you're receiving AI errors on startup, make sure you delete or update the 3.6 AI scripts which you may have extracted.

If you're using Area Lights, make sure you set r_deferredShadingAreaLights=1 to enable them.

Overview

CRYENGINE 3.7.0 is here and it is BIG. There is a new Cross Platform build system, a new Character tool with unified toolset and a new UI. There are advanced lighting features including tiled-shading support for glass and SSDO color bleeding for better ambient occlusion.  The new Audio Translation Layer provides the industry's first abstraction layer to support audio middleware solutions. Sandbox has a slew of new features including Flowgraph and various editor improvements. The Sample Content includes the new "Woodland" level with high quality assets and PBR lighting. All of this and much more, including tons of minor improvements, bug fixes, and optimizations. See the Release Highlights below for more information and scroll down for all the details.

Release Highlights

Cross-Platform Build System

CRYENGINE 3.7 features a new cross-platform build system based on WAF. For detailed information see WAF Build System.

The new build system is fully replacing the build configurations from Code/Solutions. Complete removal of the old build system is planned for CRYENGINE 3.7.2.

Lighting on Transparent Objects

When tiled forward shading is enabled, glass will now receive direct lighting (including shadows) and probe-based ambient, making it look a lot more consistent with standard opaque objects.

SSDO Color Bleeding

SSDO color bleeding is a simple and very efficient light scattering approximation which solves the problem of having overly dark ambient occlusion on bright surfaces.

The feature can be toggled with r_ssdoColorBleeding 0/1 and requires tiled deferred shading to be enabled.

 

Improved LOD System

The LOD system now takes into account the average triangle size for deciding when to switch between LOD meshes. This gives greatly improved results (less polygons while having less LOD popping) when just using the default view distance ratio.

Use e_lodFaceArea 0/1 to switch between the previous and the new system.


Shown above is e_debugdraw -3, the minus value still color codes assets but removes the text information overlay

Improved Temporal Anti-Aliasing

Our improved Temporal AA technique that shipped with Ryse PC is available now in CRYENGINE 3.7. With just a minimal performance overhead, it provides a greatly more stable image by applying projection matrix jittering.

Set r_AntialiasingMode 3 to enable.

Clip Volumes

The new Clip Volumes greatly simplify the workflow for setting up interior lighting by solving previous light leaking problems.

The volumes provide pixel-accurate clipping of light sources and probes and work with tiled deferred shading and forward-shaded objects like hair. Clip volumes can be setup in Sandbox using Designer or imported from a static mesh.


Arbitrary clip volume shape containing 3 colored point lights and 1 additional blue light which only affects outside.

Due to the introduction of ClipVolumes, LightBoxes will soon be deprecated in a future version of CRYENGINE.

Character Tool

This new tool unifies the Character Editor, the Animation Importer, the Animation Compression Editor and the DBA Editor in one tool with a completely reworked UI (for more information see Character Tool).


Audio Translation Layer

This brand new and industry's first system servers as an abstraction layer between CRYENGINE and an audio middle-ware. Due to full audio source code availability and detailed interface documentation it is possible to hook any audio middle-ware into CRYENGINE's ATL.

Current implementations include Wwise for a professional and SDL_mixer for a simple and cost free audio solution. It has never been easier implementing audio into CRYENGINE using its as well brand new Audio Controls Browser.

This release fully substitutes and replaces the former FMOD based audio solution. For more details see ATL Docs.


Sample Content

For CRYENGINE 3.7 we introduce a new sample level called "Woodland". This level is roughly twice the size of Forest and features a proper PBR lighting setup and high quality assets to better showcase the rendering capabilities of CRYENGINE.

Other features include several trackview examples, geomcache, a showcase area where we show some of our face rendering/animation tech. We will be adding more content to this level as we go as well as more sample showcases.

We've retired the old faithful Forest level so we can fully concentrate on the new showcase content of much higher quality.

 

Editor


The latest CRYENGINE 3.7 Sandbox interface

CryDesigner


Designer object using new Subdivision technique.


Subdivision Tool With Semi Sharp Creases.


Cube Editor

If you want see more pictures click this link Gallery [Zen Garden]

Renderer


Tiled-Shading for Glass brings physically accurate point-light interaction, ambient lighting and shadows to glass objects.

3dEngine


ClipVolumes support arbitrary shape creation with the power of Designer to give full control over light clipping.

Particles

RC/Tools

Audio


ACB UI when running with the Wwise implementation


ACB UI when running with the SDL Mixer implementation

Animation

Animation System


Secondary Animation showing Lozenges in action for character attachments.

Animation Pipeline (Editor, RC, ...)


Streamlined animation event editing with user defined presets.


ChrParams editing; here for example we add a prefix to the animation names of all .comb files


Rule-based compression presets; for example apply settings based on animation tags as in this example

Animation Fixes

Animation API Changes

Mannequin

 

DbaTable Conversion

See below to read information on how to transition the DBATable file from XML to the new JSON format.

Initially DbaTable.xml file contained a list of CAF-files that are grouped per DBA.

This proved itself to be error-prone and requiring regular intervention of a technical person to update it with newly added animations.

To reduce maintenance overhead a new way to define DBA was introduced in SDK 3.7. It differs in following:

  • Instead of listing individual animation files a filtering condition can be defined for each DBA. It selects animations based on certain criteria. For example on file location, name substring, or certain tags assigned.
  • Conditions can be combined with logical expression into a complex conditions.
  • Filename that is used to store the table changed from DBATable.xml to DBATable.json (internally it is converted into JSON as well).
  • No need for manual editing anymore: DBATable.json can be edited and debugged through Character Tool.

As previous format didn't contain any high-level information, conversion should be performed manually.

An example of such conversion is provided below based on SDK assets.

<DBAs>
  <DBA Path="Animations\human\male\hits_1p.dba">
    <Animation Path="Animations\human\male\hits\1p\stand_tac_hit_generic_add_1p_01.caf"/>
    <Animation Path="Animations\human\male\hits\1p\stand_tac_hit_knockDown_1p_01.caf"/>
    <Animation Path="Animations\human\male\hits\1p\stand_tac_idle_reactExplosion_3p_01.caf"/>
  </DBA>
  <DBA Path="Animations\human\male\hits_3p.dba">
    <Animation Path="Animations\human\male\hits\3p\coverHigh_idleBasic_com_lft_hit_back_01.caf"/>
    <Animation Path="Animations\human\male\hits\3p\coverHigh_idleBasic_com_lft_hit_front_01.caf"/>
    <Animation Path="Animations\human\male\hits\3p\coverHigh_idleBasic_com_rgt_hit_back_01.caf"/>
    <!-- ... -->
  </DBA>
  <DBA Path="Animations\human\male\locomotion.dba">
    <Animation Path="Animations\human\male\locomotion\kneel\kneel_tac_AimPoses_idle_01.caf"/>
    <Animation Path="Animations\human\male\locomotion\kneel\kneel_tac_death_01.caf"/>
    <Animation Path="Animations\human\male\locomotion\kneel\kneel_tac_idle_01.caf"/>
	<!-- ... -->
  </DBA>
  <!-- ... -->
</DBA>

Similar setup with a new system will look as following:

You may refer to Character Tool documentation to see how to define animation filter in details.

In case you would like to perform automated conversion yourself, files saved by the Character Tool will look as follows:

{
	"entries": [
		{
			"path": "Animations/human/male/hits_1p.dba",
			"condition": { "inFolder": { "path": "Animations/human/male/hits/1p/" } }
		},
		{
			"path": "Animations/human/male/hits_3p.dba",
			"condition": { "inFolder": { "path": "Animations/human/male/hits/3p/" } }
		},
		{
			"path": "Animations/human/male/locomotion.dba",
			"condition": { "inFolder": { "path": "Animations/human/male/locomotion/" } }
		}
} 

Due to ResourceCompiler limitation, incremental builds can not be performed after removing old DBATable.xml. Make sure to delete previous build state (specifically rc_createdfiles.txt, by default created in the folder of RC executable Bin64/rc/), otherwise CAF files may not be produced as expected.

What if you need some more complex logic in animation selection?

For example, here we are excluding /poses/ folder from locomotion.dba, as well as all animations that have word "kick" in their name:

AI System


Multi-threaded NavMesh processing can significantly speed up time to process MNM areas.

Game

Assets