XRTailor is a GPU-accelerated cloth simulation engine optimized for large-scale data generation. By leveraging parallel computing techniques, XRTailor delivers high-fidelity cloth dynamics while maintaining performance, making it a practical choice for applications in animation, gaming and machine learning dataset synthesis.
- Realistic Cloth Mechanics. XRTailor models the physical behavior of fabrics, incorporating key mechanical properties such as stretch, bending, and anisotropy to provide plausible cloth deformation.
demo-mechanics.mp4
-
Collisions. Collision detection and response are essential for cloth simulation. XRTailor supports obstacle-cloth collision, environment-cloth collision and self-collision. These features help maintain natural interactions between cloth and surrounding objects.
-
Fully Parallelized. To achieve better performance, XRTailor employs advanced data structures and algorithms specifically designed for GPU execution. By maximizing parallelism, the engine supports rapid computation, making it suitable for real-time and offline simulations alike.
-
Balanced Performance Modes. XRTailor offers two modes to accommodate different needs:
-
Swift Mode: Optimized for real-time applications, offering rapid simulations with simplified fabric properties and collision handling.
-
Quality Mode: Prioritizes accuracy, delivering highly detailed simulations at the cost of increased computational overhead.
-
demo-mode.mp4
-
Fully Automatic. Unlike existing cloth simulators, animators do not need to place the cloth pieces in appropriate positions to dress an avatar.
-
Highly Compatible with SMPL(X). XRTailor supports SMPL, SMPLH, SMPLX with AMASS integration.
demo-smpl.mp4
- GLTF Support. Allows importing mannequins with skeletal animation in GLTF format.
demo-gltf.mp4
- Easy to Use. Traditional cloth simulation workflow is laborious and knowledge intensive. XRTailor aims to simplify the process, allowing users to obtain desired outputs (such as Alembic or OBJ sequences) using a single command.
demo-cli.mp4
- Simulation as a Service. XRTailor is a powerful and scalable platform designed for large-scale data generation. Our simulation service enables users to efficiently create and manage vast amounts of synthetic data. Designed for large-scale synthetic data generation, XRTailor can be deployed via Docker, even in headless environments.
demo-crowd.mp4
-
Multi Platform Support. XRTailor runs on Windows and Linux systems that support CUDA, offering flexibility across computing environments.
-
OpenGL Rendering. A built-in graphical interface provides visualization and control over the simulation process.
demo-gui.mp4
Please refer to our documentation page for more details.
XRTailor is an open source project that is contributed by researchers and engineers from both the academia and the industry. We appreciate all the contributors who implement their methods or add new features, as well as users who give valuable feedbacks.
The license of our codebase is Apache-2.0, see LICENSE for more information. Note that XRTailor is developed upon other open-source projects and uses many third-party libraries. Refer to docs/licenses to view the full licenses list. We would like to pay tribute to open-source implementations to which we rely on.
If you find this project useful in your research, please consider cite:
@misc{xrtailor,
title={OpenXRLab GPU Cloth Simulator},
author={XRTailor Contributors},
howpublished = {\url{https://github.com/openxrlab/xrtailor}},
year={2025}
}
We appreciate all contributions to improve XRTailor. Please refer to CONTRIBUTING.md for the contributing guideline.
- XRPrimer: OpenXRLab foundational library for XR-related algorithms.
- XRSLAM: OpenXRLab Visual-inertial SLAM Toolbox and Benchmark.
- XRSfM: OpenXRLab Structure-from-Motion Toolbox and Benchmark.
- XRLocalization: OpenXRLab Visual Localization Toolbox and Server.
- XRMoCap: OpenXRLab Multi-view Motion Capture Toolbox and Benchmark.
- XRMoGen: OpenXRLab Human Motion Generation Toolbox and Benchmark.
- XRNeRF: OpenXRLab Neural Radiance Field (NeRF) Toolbox and Benchmark.
- XRFeitoria: OpenXRLab Synthetic Data Rendering Toolbox.
- XRViewer: OpenXRLab Data Visualization Toolbox.
[1]: Baraff D, Witkin A. Large steps in cloth simulation[M]//Seminal Graphics Papers: Pushing the Boundaries, Volume 2. 2023: 767-778.
[2]: Müller M, Heidelberger B, Hennix M, et al. Position based dynamics[J]. Journal of Visual Communication and Image Representation, 2007, 18(2): 109-118.
[3]: Macklin M, Müller M, Chentanez N. XPBD: position-based simulation of compliant constrained dynamics[C]//Proceedings of the 9th International Conference on Motion in Games. 2016: 49-54.
[4]: Kim T Y, Chentanez N, Müller-Fischer M. Long range attachments-a method to simulate inextensible clothing in computer games[C]//Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation. 2012: 305-310.
[5]: Bender J, Koschier D, Charrier P, et al. Position-based simulation of continuous materials[J]. Computers & Graphics, 2014, 44: 1-10.
[6]: Macklin M, Müller M, Chentanez N, et al. Unified particle physics for real-time applications[J]. ACM Transactions on Graphics (TOG), 2014, 33(4): 1-12.
[7]: Fratarcangeli M, Tibaldo V, Pellacini F. Vivace: a practical gauss-seidel method for stable soft body dynamics[J]. ACM Trans. Graph., 2016, 35(6): 214:1-214:9.
[8]: Macklin M, Storey K, Lu M, et al. Small steps in physics simulation[C]//Proceedings of the 18th Annual ACM SIGGRAPH/Eurographics Symposium on Computer Animation. 2019: 1-7.
[9]: Wang H. A chebyshev semi-iterative approach for accelerating projective and position-based dynamics[J]. ACM Transactions on Graphics (TOG), 2015, 34(6): 1-9.
[10]: Karras, Tero. "Maximizing parallelism in the construction of BVHs, octrees, and k-d trees." Proceedings of the Fourth ACM SIGGRAPH/Eurographics conference on High-Performance Graphics. 2012.
[11]: Tang M, Liu Z, Tong R, et al. PSCC: Parallel self-collision culling with spatial hashing on GPUs[J]. Proceedings of the ACM on Computer Graphics and Interactive Techniques, 2018, 1(1): 1-18.
[12]: Damkjær J. Stackless BVH collision detection for physical simulation[J]. University of Copenhagen Universitetsparken: København, Denmark, 2007.
[13]: Ericson C. Real-time collision detection[M]. Crc Press, 2004.
[14]: Provot X. Collision and self-collision handling in cloth model dedicated to design garments[C]//Computer Animation and Simulation’97: Proceedings of the Eurographics Workshop in Budapest, Hungary, September 2–3, 1997. Vienna: Springer Vienna, 1997: 177-189.
[15]: Wang, Bolun, et al. "A large-scale benchmark and an inclusion-based algorithm for continuous collision detection." ACM Transactions on Graphics (TOG) 40.5 (2021): 1-16.
[16]: Curtis S, Tamstorf R, Manocha D. Fast collision detection for deformable models using representative-triangles[C]//Proceedings of the 2008 symposium on Interactive 3D graphics and games. 2008: 61-69.
[17]: Tang M, Curtis S, Yoon S E, et al. Interactive continuous collision detection between deformable models using connectivity-based culling[C]//Proceedings of the 2008 ACM symposium on Solid and physical modeling. 2008: 25-36.
[18]: Bridson R, Fedkiw R, Anderson J. Robust treatment of collisions, contact and friction for cloth animation[C]//Proceedings of the 29th annual conference on Computer graphics and interactive techniques. 2002: 594-603.
[19]: Narain R, Samii A, O'brien J F. Adaptive anisotropic remeshing for cloth simulation[J]. ACM transactions on graphics (TOG), 2012, 31(6): 1-10.
[20]: Tang M, Wang T, Liu Z, et al. I-Cloth: Incremental collision handling for GPU-based interactive cloth simulation[J]. ACM Transactions on Graphics (TOG), 2018, 37(6): 1-10.
[21]: Nocedal J, Wright S. Numerical Optimization[M]. Springer Science & Business Media, 2006.
[22]: Lewin C. Cloth Self Collision with Predictive Contacts[C]//Game Developers Conference. 2018.
[23]: Baraff D, Witkin A, Kass M. Untangling cloth[J]. ACM Transactions on Graphics (TOG), 2003, 22(3): 862-870.
[24]: Volino P, Magnenat-Thalmann N. Resolving surface collisions through intersection contour minimization[J]. ACM Transactions on Graphics (TOG), 2006, 25(3): 1154-1159.
[25]: Ye J, Zhao J. The intersection contour minimization method for untangling oriented deformable surfaces[C]//Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation. 2012: 311-316.
[26]: Wang H, Yang Y. Descent methods for elastic body simulation on the GPU[J]. ACM Transactions on Graphics (TOG), 2016, 35(6): 1-10.
[27] SMPL: A Skinned Multi-Person Linear Model. Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, Michael J. Black. 2015
[28] Keep it SMPL: Automatic Estimation of 3D Human Pose and Shape from a Single Image. Federica Bogo*, Angjoo Kanazawa*, Christoph Lassner, Peter Gehler, Javier Romero, Michael Black. 2016
[29] Embodied Hands: Modeling and Capturing Hands and Bodies Together. Javier Romero*, Dimitrios Tzionas*, and Michael J Black. 2017
[30] Expressive Body Capture: 3D Hands, Face, and Body from a Single Image. G. Pavlakos*, V. Choutas*, N. Ghorbani, T. Bolkart, A. A. A. Osman, D. Tzionas and M. J. Black. 2019
[31] AMASS: Archive of Motion Capture as Surface Shapes. Mahmood, Naureen and Ghorbani, Nima and Troje, Nikolaus F. and Pons-Moll, Gerard and Black, Michael J.