Pipeline Tools

In order to accelerate the development of projects or to enable the creation of special functionality, I have developed several different tools. For the development of these tools I use languages like Python, C# and C++, but Substance Designer has also proven useful.

>> Blender Addon <<

A python addon was developed for the HoloLens castle sim project to speed up the creation and export of models from Blender to Unreal Engine. The addon allows, among other things, the simple prefixing of models and materials with SM_, SK_ or M_. The correct prefix is assigned automatically. Since the buildings consist of modular, instantiated parts, an operator was developed which uninstantiates the parts to allow the joining into one object. Overlapping vertices are removed and an origin, based on an empty, is set. The addon has a total of 5 useful operators and is available on GitHub.

 

>> Unreal Engine Utility AI Plugin <<

To enable the creation of Utility AI in Unreal Engine, a plugin was developed that provides a graph interface and the necessary blueprint and C++ functions. Different settings can be configured per node in the graph editor while the implementation and execution of the considerations and actions of an AI character is done in blueprint. The plugin is available on GitHub.

>> Endless Material <<

SOA Academy demonstrated a technique using Substance Designer and Unreal Engine to create an endless material without repeating patterns. I created 3 custom Substance Designer nodes to easily create the textures needed for the endless material. I also expanded the Unreal Engine shader to allow world aligned mapping which can speed texturing game assets with no visible seams between different objects.

This technique/shader randomly distributes 4 quadrants of a texture, breaking up a recognizable pattern. In order for the texture to remain seamless, it must always have the same edge, while the inside can be varied. This can be achieved with the help of Substance Designer.

>> Tunnel Generator <<

Since the length of a train journey can vary, it was necessary to create a tunnel generator. Therefore, I developed a script with C#, which selects random prefabs and instantiates them. Since some prefabs have a special appearance and shouldn’t appear too often, a weighted random algorithm was implemented to configure the probability of the prefabs being spawned.

>> Texture Set Merger .sbsar <<

Since Substance Painter does not offer the functionality of merging different texture sets into one texture when exporting, I developed a tool with the help of Substance Designer as part of the VR Subway Simulator project. This tool can merge up to 10 texture sets into one texture. The user can simply drag and drop all necessary maps into Substance Player, which are then merged into one texture.

>> TrimSheet Combiner .sbs <<

This tool allows the combination of up to 6 materials into a TrimSheet. The different areas can easily be defined by using a ColorID map. The tool was developed for a faster workflow for the HoloLens Castle Sim project.

>> PBR Render .sbsar <<

In order to easily and quickly create beautiful renderings of the Substance Designer materials I have created so far, I developed a tool with Substance Designer itself. All settings of the PBR Render Node are exposed and the Breakdown Node by JonasO was integrated. Many settings can be configured In Substance Player, for example camera, rendering, shading and breakdown options. I also added the ability to render a rotating animation in Substance Player.