One of the problems I predicted I might have with this project has to do with the subject of fabric texturing. Early on I knew that I would need to figure out a system for generating high resolution fabric textures, yet this would also need to be done in such a way that I could create new patterns on demand without spending too much time doing so.
This was one of the systems that I'd come up with. The general idea was to leverage the hair system inside C4D to create a configurable "stitch" object, which could then be cloned across a weave pattern and rendered out from a top down perspective using an orthographic camera.
The actual cloning was handled by a custom plugin I'd written specifically for this task. It was smart enough to randomize various user data parameters on the stitch objects so that they all looked different, yet keep the edges synchronized so that the resulting images could be seamlessly tiled together.
Later on I realized that I could use the same system to randomize the interior of the fabric texture, which would continue to tile with itself and any others so long as the borders were always identical. This would let me render out multiple copies of the same weave pattern, each capable of being tiled together with each other, yet all slightly different. It should then be possible to load these back up into a material shader and randomly tile them across the surface of an object, greatly reducing or eliminating the tiling artifacts one might see when the same texture is repeated across a surface any number of times.
Unfortunately this didn't work out like I'd originally planned. It wasn't very feasible to scale up the size of the scene that rendered out the fabric textures due to performance limitations inside C4D. It also took up a lot of RAM to load in each set of textures, multiplied by the number of times that weave pattern had been rendered out (the more the better). Despite my best attempts, there were still lingering issues with tiling artifacts across the edges of each fabric patch, which landed up being a bit more obvious than I would have liked.