CRYENGINE is legendary for powering some of the most beautiful games in the business. Since our latest update 5.4, we fully support Substance Designer in our Sandbox Editor. Alexander Asmus, Senior 3D Artist at Crytek, explains how working with Substance has helped them achieve their vision.
Hey Alexander. Thanks for doing the interview. Can you tell us about your background?
Hi! I’m a Senior 3D Artist at Crytek, focusing mainly on hard surface assets like weapons and other hero assets. I’m also responsible for maintaining our internal Substance library and helping to build this ever growing resource.
After finishing my degree in Media Computer Science I started my professional career in game development in 2009. The first games I worked on were smaller free-to-play titles and browser games. In 2015 I got the chance to start at Crytek as a 3D Artist. I have worked on Robinson: The Journey and during that project I helped to build our Substance pipeline and Substance library. I’ve since been working on the Hunt: Showdown team, where we have been using our experience on Robinson to shift our Weapons and Props Pipeline to a Substance-focused workflow.
What’s the history of the use of Susbtance tools at Crytek?
We started using Substance Designer and Painter as integral pipeline tools at the beginning of development on Robinson: The Journey. A few of our artists had already experimented with Substance workflows and tried out the toolset. We decided to make Substance tools an integral part of our asset-pipeline because the project was on a tight schedule. Substance could potentially shorten in-house production times, improve the quality and consistency of assets, and also could easily be used by outsourcing partners if required. At first we started to build many base materials in Substance Designer to form a Substance library that we would then rollout to our Art team. The Tech Art team provided us with custom shaders for Painter and Designer that simulated CRYENGINE rendering. That meant we could tweak the materials to work best in our renderer.
From then on, our whole asset pipeline evolved around using Substance Painter. All texturing, and to some degree the baking, was done in Painter. For texturing, our artists used our in-house Substance library only. This guaranteed consistency throughout all assets and a quick texturing process. For easy access to our Substance library we used the shelf-system in Painter. This allowed us to share not only substances but also other resources, like brushes, smart-materials or alphas. Our artists simply had to sync our Crytek shelf-folder to access to the latest substances. Our pipeline continues to use Substance as a toolset for asset creation. Our Environment Art and Terrain teams also use Substance tools, or can request certain materials to be created, but not as intensively as our Props team. The Character Art team also transitioned to a Substance-focused pipeline during Robinson and our new project, Hunt: Showdown, follows the same workflow.
How has Substance improved the workflow in CRYENGINE for artists?
We recently transitioned Substance support into the engine, and it’s available for everyone in the latest update, CRYENGINE 5.4. Because we are in the middle of production, we are careful to integrate new tech into our pipeline that might cause problems or isn’t reliable yet. For now we are focusing on Substance as a support tool for quickly texturing assets and creating variety for environment textures. Substance Painter files have now taken the place of photoshop.psd files. Everything we need is in the Painter project file and from there we can re-export. The flexible export settings allow artists to either export directly to the engine to update textures or customize the export to fit specific needs that can be fed into other tools, if needed.
Our internal Substance library is growing constantly and our internal workflow is now much more refined. We learned a lot from using Substance in the production of Robinson, and that experience has been built upon as we develop Hunt: Showdown. For example, we now provide project shelves to our artists so that every project can have its own set of materials and tools that are carefully selected to fit the art direction of the project. There is no need to have the Hunt shelf cluttered with substances that wouldn’t fit. The more disciplines using Substance tools, the more benefit can be achieved by reusing assets, materials or custom nodes. In a perfect world, all artists will benefit from the tools and resources that Substance offers and every artist can also add resources (brushes, smart materials) to help others. With Substance we have a tool that is powerful and versatile, which allows us to unify our art pipelines internally. Before switching to Substance tools, pipelines differed a bit from artists to artist or from discipline to discipline. Of course, every team has their own needs, tools, and pipelines but we’ve found that every discipline can take advantage of the substances we have created and in the future we expect to intensify our work with Substance.
Using our Substance CRYENGINE integration we can plug .sbsar files directly into engine. Those assets will then be instanced and can be modified and plugged into a material. Using this feature will influence and improve our internal environment and asset pipeline in the future. We will also be integrating more scanned data into our Substance library. This scanned data can then be made available in Painter or reused in other substances.
Any tips or tricks on workflows with Substance and CRYENGINE?
We find that it’s best practice to place substance creation into the hands of a few artists that have experience with the tools. This ensures that all library substances have the level of quality we require and have been created to work best in our pipeline. It can be very tedious to change, move or adjust substances that were created without sticking to guidelines. Complex graphs, especially, can be pretty tough to integrate into a library when they are not setup in the proper way. I recommend you establish clear setup guidelines on how to author a substance for a library or for the engine. That means you don’t have to reinvent everything when a substance is created.
It’ also important to know what a substance should do in your project. A substance that is supposed to work well in Painter might not yield best results when it is directly plugged into the engine. A substance that is optimized for asset texturing might not work perfectly for terrain or environment texture work. Knowing what you want to achieve with a substance, and which context it will work in, will help you get the best results. The more you plan ahead with your pipeline, and how your project will make use of substance, the better the results will be and the fewer issues you will encounter.
Another tip is to simulate the engine’s rendering in the Substance tools and also use cubemaps in Painter with a design that resembles the lighting conditions in your game. Don’t use extreme lighting conditions when authoring substances or texturing assets in Painter. A neutral lighting, that represents a neutral light setup in your game, will give more accurate results.
Can you talk us through some images you created with Substance and CRYENGINE?
Here you can see some screenshots and a video from the Tarpit level from our VR game, Robinson: The Journey. We used three different tar textures that were derived from one complex tar substance. I worked closely with Tom Deerberg, our Lead Environment Artist, and he gave me very clear guidelines and references on what he wanted the tar to look like and how he wanted to achieve the flow effect. For details on how I approached the creation of this substance you can check the following tutorial and interview on 80 Lvl: 'Material Design of Robinson - the Journey'.
As always, we’d love to hear your thoughts and comments on the usual channels – in the forums, on Facebook, and Twitter. If you’d like to contribute to the ongoing development of the engine, you can find out how here.
- Your CRYENGINE Team.
You must consent to data storage for Basic website functionality to use this feature