Improving Materials on Lost Future

Improving Materials on Lost Future

Improving Materials on Lost Future

Challenge

There was a multitude of diverse assets requiring various functionality: outline, transparency, highlighting, and other effects. The packaging by texture channels was different. New features and assets were produced without considering the number of materials, lacking a unified system, leading to a mishmash in the project and performance issues. Assets from the marketplace always had unique materials, often expensive and incompatible with project materials and material functions.

Solution

  • For all assets (buildings, weapons, characters, foliage, etc.) and effects, we created a minimal set of materials with a minimal amount of switches. The list has been refined throughout the development process.

  • For groups of assets, we established master materials. Based on these master materials, we formed a hierarchy of master material instances and their children. A master material instance is a communal instance for setting switch parameters and material overrides, from which material instances for asset sets inherit. We restricted adjustment of switches and overrides in child material instances, only amending texture, vector, and numerical parameters. This was necessary to reduce the number of draw calls, instructions, and switches.

  • We developed a pipeline to adapt content from the marketplace to project materials.

  • We implemented naming rules and links using Linter.

  • For implementing new features (like loot highlighting), we developed a pipeline that doesn't require material reconfiguration for dozens of sets. New functionality is created in the material function and added to the master material. It is configured in the master material instance.

Outcomes

  • Performance has been significantly enhanced. We achieved the minimal number of draw calls and instructions in materials — a critical factor for optimal functionality on mobile platforms.

  • Simplified material workflow for level design and art departments.

  • Unified naming, established a rigid structure with instances, and set up automatic auditing.

Challenge

There was a multitude of diverse assets requiring various functionality: outline, transparency, highlighting, and other effects. The packaging by texture channels was different. New features and assets were produced without considering the number of materials, lacking a unified system, leading to a mishmash in the project and performance issues. Assets from the marketplace always had unique materials, often expensive and incompatible with project materials and material functions.

Solution

  • For all assets (buildings, weapons, characters, foliage, etc.) and effects, we created a minimal set of materials with a minimal amount of switches. The list has been refined throughout the development process.

  • For groups of assets, we established master materials. Based on these master materials, we formed a hierarchy of master material instances and their children. A master material instance is a communal instance for setting switch parameters and material overrides, from which material instances for asset sets inherit. We restricted adjustment of switches and overrides in child material instances, only amending texture, vector, and numerical parameters. This was necessary to reduce the number of draw calls, instructions, and switches.

  • We developed a pipeline to adapt content from the marketplace to project materials.

  • We implemented naming rules and links using Linter.

  • For implementing new features (like loot highlighting), we developed a pipeline that doesn't require material reconfiguration for dozens of sets. New functionality is created in the material function and added to the master material. It is configured in the master material instance.

Outcomes

  • Performance has been significantly enhanced. We achieved the minimal number of draw calls and instructions in materials — a critical factor for optimal functionality on mobile platforms.

  • Simplified material workflow for level design and art departments.

  • Unified naming, established a rigid structure with instances, and set up automatic auditing.

Challenge

There was a multitude of diverse assets requiring various functionality: outline, transparency, highlighting, and other effects. The packaging by texture channels was different. New features and assets were produced without considering the number of materials, lacking a unified system, leading to a mishmash in the project and performance issues. Assets from the marketplace always had unique materials, often expensive and incompatible with project materials and material functions.

Solution

  • For all assets (buildings, weapons, characters, foliage, etc.) and effects, we created a minimal set of materials with a minimal amount of switches. The list has been refined throughout the development process.

  • For groups of assets, we established master materials. Based on these master materials, we formed a hierarchy of master material instances and their children. A master material instance is a communal instance for setting switch parameters and material overrides, from which material instances for asset sets inherit. We restricted adjustment of switches and overrides in child material instances, only amending texture, vector, and numerical parameters. This was necessary to reduce the number of draw calls, instructions, and switches.

  • We developed a pipeline to adapt content from the marketplace to project materials.

  • We implemented naming rules and links using Linter.

  • For implementing new features (like loot highlighting), we developed a pipeline that doesn't require material reconfiguration for dozens of sets. New functionality is created in the material function and added to the master material. It is configured in the master material instance.

Outcomes

  • Performance has been significantly enhanced. We achieved the minimal number of draw calls and instructions in materials — a critical factor for optimal functionality on mobile platforms.

  • Simplified material workflow for level design and art departments.

  • Unified naming, established a rigid structure with instances, and set up automatic auditing.