Статья опубликована в рамках: Научного журнала «Студенческий» № 1(45)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5
OPTIMIZING WORKFLOW OF CLOTHING SIMULATION SOFTWARE
Abstract. Clothing simulations are extremely important in workflow of every 3D artist today. Simulating behavior of a cloth is a much more optimal way to create a virtual representation of it rather than modeling it from scratch. Cloth simulations were first used in computer graphics industry in the end of 1990s and have quickly became a standard way to visualize different sorts of materials.
There are various algorithms that are used to simulate different physical parameters that cloth can have in different environments and conditions. Different types of software are used to generate 3D models and animatable cloth rigs. Marvelous Designer is an industry standard when it comes to creating 3D model of any cloth, while it’s easier to animate these models in 3D editors and game engines, such as Cinema4D, Blender, Maya and Unreal. In this paper I would like to review different tools of cloth visualization and simulation, compare them and determine the optimal workflow for general tasks in computer graphics industry.
- Introduction
When we compare clothing simulation with other types of physical simulations, clothing is relatively new type of simulation. Many different factors have to be taken into account: type of clothing material (such as fabric, denim, leather, among others), clothing thickness, wind, self-collision, other objects that clothing collides with while simulating, damping, amount of polygons, clamping, and so on.
In computer graphics, clothing simulations workflows proceed in two general steps – setting the basic parameters and “solving” them. The former is preparation for the upcoming simulation and the latter is emulating the physical processes themselves. The most general solving process often includes instantaneous sewing parts of a cloth together on a model and applying forces of gravity to give it a natural look. The old process of creating a simple model out of smaller amount of polygons and wrapping it around a model before applying physical forces is still used, but is not as common in modern workflows when it comes to simulating ordinary clothing. Sure, it is often used to this day, especially when creating fabric on furniture, among other things, and it would be reasonable to separate these simulations into two basic groups: humanoid clothing and everything else. It would not be reasonable to apply same clothing workflow to every type of clothing simulations out there, except for some minor cases, as it involves different problems, goals and ways of achieving them.
Most articles go into a great depth at how physical processes are coded, the mathematical algorithms behind them, and the history of clothing simulations. While I am going to touch upon those topics briefly, my main point of discussion is implementing modern day software into their workflow for a CG artist, rather than creating tools that could take advantage of complex mathematical processes of clothing simulations. I will leave coding out of the question, unless it is possible to enhance software with third party plugins; it is not optimal to create software from scratch now, as there are many tools to aid a CG artist in the job. Instead, I plan to find ways to optimize tools and mix their workflow into a better, faster system that takes advantage of system resources, artists’ time and reduces rendering process.
- Regular clothing simulations workflows
It is still somewhat common to use ordinary 3D applications when it comes to animating clothes – they can get the job done, even if the result won’t be perfectly ideal and it won’t be as fast to achieve it. When it comes to everyday simulations, nothing trumps modern tools like Marvelous Designer and latest releases of Houdini. But it is not optimal when it’s a minor goal. Software expenses can be very high for software like this, especially if one needs to get a corporate license. It is also crucial for the artist to learn the software, and it may be very expensive to educate specialists as well. Specialized clothing simulation learning curve varies, as Marvelous Designer is extremely easy to pick up from the get go, with its simple interface, while Houdini simulation solvers are famously complex, but deeply customizable.
Clothing simulations are supported by most modern 3D applications, and this list includes, but is not limited to Blender, 3dsMax, Maya, Cinema4D and Houdini. Most of these tools provide “static” solutions in the means of a model or render; for real-time simulations, engines like Unreal Engine 3, Unreal Engine 4 and Unity3D are used. If we look back to older workflows that were used to create clothing with the means of simulating their physical processes, we will find out that the general outline is mostly the same. The main process includes creating a simple geometry and applying physical force on it. Main differences between older workflows and the current mostly boil down to physical engines and major UI and UX improvements.
Marvelous Designer improved and popularized two-window design that includes 2D view and a 3D view. This design is getting adopted by other kinds of software products, with Houdini 17 having similar workflow elements in its October 2018 release. In general, 2D view visualizes a garment cutout with 3D view being used to move, simulate and make fixes and changes for the clothing (Fig. 1). It is somewhat possible to achieve similar interface layouts in ordinary 3D editors, but it’s clear that they were not designed for these processes.
Picture 1. Marvelous Designer. Screenshot of two-window design
Blender, Maya, Cinema4D and 3dsMax still did not adopt this layout and it is not planned in the future updates. However, it is not needed for purposes other than clothing for humanoids, and may be – to an extent – achieved with custom scripts. It will be more comfortable to adopt 3D software into a workflow when creating other types of clothing and simulating physical processes on it, such as temperature, thickness, ripping. Design of these tools also works best when one needs to implement clothing into the scene. As mentioned, real-time engines allow for fast simulations in different scenes and allow editing of the parameters on the fly without re-rendering anything.
When it comes to picking 3D software for the purpose of clothing simulations, it is usually the choice of a company or an artist. As most 3D tools support clothing simulations, the only differences are UI and physical engine. For ordinary clothing simulations, physical engine does not play a huge factor in the end result, so the tool is chosen for other factors, as clothing simulations usually play a smaller role in a grand workflow.
Clothing simulation engines continue to improve over time, but they do not really become obsolete. For most artists, changes between physical engines are miniscule for a regular workflow. These often get changed in software updates and can only be noticed when working with a very specific task, such as simulating multiple clothing models at once or trying to obtain extremely precise results.
In non-real-time simulations, Blender uses Bullet engine, while 3dsMax, Maya, Cinema4D and Houdini allow user to choose a physical engine. In real-time simulations, Unreal Engine 3 uses Havok, Unreal Engine 4 switched from Havok to APEX cloth simulations, and Unity uses two separate engines for 3D and 2D physics. Marvelous Designer uses an unnamed in-house physical engine. In-house solutions are extremely common in major animation and science companies. For instance, companies such as Pixar, Disney and Dreamworks develop their own engines for lighting, clothing simulations, and physical based rendering.
Ideally, an artist needs to get as much education on different types of software as possible, as different types of software complement each other. Cloth created in Marvelous Designer can be used in Unreal Engine 4 for real-time usage, and base mesh created in Blender or 3dsMax can be used to be wrapped with cloth in Marvelous Designer.
Most common workflows in CG industry include either creating a garment for a humanoid or creating a furniture cloth. Creating a garment for an animal or creature isn’t different at all from creating clothing for a human being. Making a cloth for furniture is somewhat different, as the model won’t be re-simulated later in a real-time engine, as opposed to long coats or other movable elements of human clothing. Low-detail cloth is often used to be re-simulated later to save processing resources.
Typical workflow of creating a clothing for human in animation companies and videogame developers include creating a cutout, sewing it and simulating in Marvelous Designer or other 3D software with clothing support, adding details in ZBrush, exporting it to a texturing software such as Quixel DDO or Substance Painter, doing retopology and creating a rig in 3D software of choice such as Blender, Maya, 3dsMax or Cinema4D and rendering or exporting it to a real-time engine of choice, if necessary.
This workflow is not set in stone – using different types of software, it is possible to make certain steps of this workflow easier or get rid of them entirely. Marvelous Designer allows exporting a low detail model, so high-resolution texture made in Substance Painter could be applied without going through lengthy and difficult process of retopology. 3D software often allows artists create a rig for typical humanoid clothing automatically, which improves workflow even faster. Avoiding these solutions may lead to slower workflow or unviable results, such as clothing with huge polycount (Fig. 2, Fig. 3), incorrect rigging and lengthy rendering times.
Picture 2. Blender. Screenshot of a cloth with polycount of 16384 polys. Notice errors in geometry caused by excessive polycount.
Picture 3. Blender. Screenshot of a similar cloth with polycount of 1024 polys. Rendering time reduced 16 times directly proportional to the amount of polygons in the scene and RAM usage reduced from 180 megabytes to 1.4 megabyte.
References:
- Pascal Volino*, Frederic Cordier, Nadia Magnenat-Thalmann: From early virtual garment simulation to interactive fashion design. MIRALab, C.U.I., University of Geneva, CH-1211 Geneva, Switzerland, 2004. http://www.mage.fst.uha.fr/cordier/Home_files/Papers/From_early_virtual_garment_simulation_to_interactive_fashion_design.pdf
- Aaron Adams, Dmitriy Pinskiy, Jose Gomez, Edward Robbins, Christopher Gallagher, Evan Goldberg, Walt Disney Animation Studios: The Artistry of TechAnim: New Cloth Workflows on Big Hero 6. SIGGRAPH 2015 Talks, August 09 – 13, 2015, Los Angeles, CA. https://projet.liris.cnrs.fr/m2disco/pub/Congres/2015-SIGGRAPH/content/talks/81-0179.pdf
- Senem Kursun Bahadir: Assembly Line Balancing in Garment Production by Simulation. 2010. https://www.intechopen.com/books/assembly-line-theory-and-practice/model-sequencing-andassembly-line-balancing-in-garment-production-by-simulation-worker-transfer-syst/
- Mikael Seidler: Using Blender's Eevee Render Engine for Art Projects. Bachelor’s Thesis, May 2018. https://www.theseus.fi/bitstream/handle/10024/146589/Seidler_Mikael.pdf?sequence=1&isAllowed=y
- F. Cordier, N. Magnenat-Thalmann: A data-driven approach for real-time clothes simulation. November 2004. https://ieeexplore.ieee.org/abstract/document/1348356
- Kwang-Jin Choi Hyeong-Seok Ko: Research problems in clothing simulation. 2004. https://www.sciencedirect.com/science/article/pii/S0010448504002192
- Mihai FRÂNCU, Florica MOLDOVEANU: Virtual try on systems for clothes: issues and solutions. U.P.B. Sci. Bull., Series C, Vol. 77, Iss. 4, 2015. https://www.scientificbulletin.upb.ro/rev_docs_arhiva/full6ab_135000.pdf
Оставить комментарий