Cloakworks’ Joe van den Heuvel speaks about their cloth simulation technology in video games.
Cloakworks is the company behind the gaming industry’s leading cloth simulation solution, Shroud. The solution promises to deliver 10 times improvements in performance compared to traditional cloth solutions. GamingBolt got in touch with the founder and President of Cloakworks , Joe van den Heuvel to know about their technology.
Rashid Sayed: To begin with, can you please introduce yourself and the company you work for?
Joe van den Heuvel: My name is Joe van den Heuvel, and I’m the founder and President of CloakWorks. Our main product is Shroud, a complete solution for adding dynamic interactive cloth, clothing and other soft-body physics to games and real-time applications.
Rashid Sayed: What are some of the features that make it standout from the some of the other solutions available in the market?
Joe van den Heuvel: Shroud was designed from the ground up with a game development pipeline in mind. Its tools make it easy to take any existing character and enhance it with beautiful, realistic cloth physics. It is optimized for speed and portability; Shroud makes real-time cloth physics practical to use in mobile games, and lets console and desktop developers add an unprecedented level of realism to the motion of their characters and environments. Altogether, Shroud removes the barriers of adding cloth physics to your game.
Rashid Sayed: What are some of the challenges or bottlenecks you face while simulating cloth given its highly unpredictable and dynamic nature?
Joe van den Heuvel: The biggest challenge is that your have to take something that moves based on physics (the cloth), attach it to something that often defies the laws of physics (game characters), and make it still look good. We’ve put a lot of effort into making this work just right.
"Part of what makes Shroud portable is that it operates independent of the developer’s chosen renderer. The simulation will calculate new positions, normals, and tangents each frame, and then passes that information to the game engine to render however the developer sees fit."
Rashid Sayed: Given that Shroud Simulation is heavily dependent on CPU speed, does the slower clock speed of the PS4 and Xbox One bring any challenges in the simulation?
Joe van den Heuvel: Clock speed isn’t always a reliable way to compare the relative performance of two different processors. The key difference with the processors of the latest generation is that they are a lot wider. The number of floating point operations that a can be done with a single SIMD instruction has doubled since the last generation. The number of processor cores has increased as well, and so has the memory bandwidth. This all adds up to a massive opportunity to do work in parallel, and Shroud takes full advantage of that; it can go very wide to enable outstanding throughput performance.
Rashid Sayed: How do you manage the cloth’s internal lighting/shadow effects during the simulation?
Joe van den Heuvel: Part of what makes Shroud portable is that it operates independent of the developer’s chosen renderer. The simulation will calculate new positions, normals, and tangents each frame, and then passes that information to the game engine to render however the developer sees fit. So when using Shroud with Unity, the lighting and shadowing are handled by Unity; when using Shroud with Unreal, Unreal’s lighting and shadowing technology is used.
Rashid Sayed: You basically offer two products to game developers, Shroud Runtime and Shroud Studio. How do these two tools scale up from a low end mobile to a high end PC? Do game developers need to change something from their end to adjust the scaling or is the middleware smart enough to auto adjust?
Joe van den Heuvel: When it comes to cloth, increasing quantity does lead to an increase in quality. Adding more cloth-enabled objects to a scene makes it feel more alive and less rigid, and adding density to an individual cloth makes it look much better as well. With a highly-tessellated cloth rig, you can see more folds as the cloth moves around; the motion is richer, and the way it interacts with what it touches is more varied.
So Shroud gives developers full control over how much detail to put into each cloth rig, and provide them with tools to understand the performance cost. So a mobile game might have a cloth cape on just the main character, while a console game could have a cape, hair, a skirt, a robe, and several sashes on the characters in the player’s party.
"The limiting factor with cloud computing for gaming has always been latency; with too much lag between the user’s actions and the results on screen, the result is a frustrating experience for the user."
Rashid Sayed: So a lot of compute power is obviously required for precise cloth simulation. Given that Microsoft showcased the power of the cloud at Build 14, do you think this could help cloth simulation in the long run?
Joe van den Heuvel: Certainly! The limiting factor with cloud computing for gaming has always been latency; with too much lag between the user’s actions and the results on screen, the result is a frustrating experience for the user. So for situations where there is no or limited user interaction during the physics simulation offloading the processing to the cloud and cranking the quality is a viable option.
But in platforms like the Xbox One where part of the processing is local and part is in the cloud, the most responsive actions will be the ones calculated locally. So the motions of the player’s character, and how the cloth reacts to them, will likely remain something that is calculated locally for a while.
Rashid Sayed: Tell us a bit about the Unity Plugin For Shroud Simulation? What kind of updates have you guys made to support Unity Engine 5 which also have Geomerics implementation?
Joe van den Heuvel: We aren’t ready to announce anything about that just yet.
Rashid Sayed: What kind of benefits do you think DirectX12 could bring to Cloak Works, especially given that the CPU Overhead is expected to reduce by 50% with DX 12?
Joe van den Heuvel: DX12 is very exciting for us! As a CPU-based technology, having more CPU processing power available is always a plus. But more than that, pushing the results of the cloth simulation to the GPU to be rendered every frame has some overhead associated with it. If DX12 can help reduce this overhead it could make using Shroud even more attractive to developers.
Rashid Sayed: One final question. Do you think there is a saturation level in the field cloth simulation? Do you think the simulation will one day resemble the real thing or is the comparison meaningless?
Joe van den Heuvel: To answer this, I look at the film industry, where quality is at a premium, and there is no real-time constraint. Even in that industry, there is no one cloth solution that everyone uses. Moreover, if you watch the credits at the end, CG heavy films will often have an entire team dedicated to the cloth simulation.
I take this as a sign that cloth is going to be something that takes a lot of iteration for the foreseeable future. This is why we’re investing heavily in our tools; people will need to do a lot of tweaking to get their cloth how they like it, and we want to make that experience as smooth and easy as possible.