SOFA Integration for Unity3D: The toolbox to enhance your project with interactive soft body simulations for real-time professional applications in 3D and XR.Documentation | Source Code | Issue Tracker | Support | Go FurtherUnlock the power of real-time physics simulation with our SOFA Integration for Unity3D. SOFA, the Simulation Open Framework Architecture, is a cutting-edge open-source framework renowned for interactive mechanical simulation, with emphasis on biomechanics and robotics. This asset adds SOFA as a physics engine within Unity to empower your project with the extensive interactivity and the performance provided by SOFA.With this integration, leveraging an efficient C++ implementation, it becomes feasible to simulate the dynamics of soft and rigid bodies, facilitating the creation of highly realistic interactive simulations in diverse domains such as healthcare, robotics, digital twin prototyping, and beyond. SOFA's versatile framework enables precise modeling of complex physical phenomena to faithfully replicate real-world interactions and behaviors, including those with haptic devices, in VR and AR environments.To start building your SOFA Unity simulation yourself, make sure you have some basic knowledge of SOFA. To collaborate on your own Unity projects using SOFA, reach out to InfinyTech3D for a consulting quote.This asset depends on the SOFA Dynamic Linked Library undered the LGPL license. Those dll need to be downloaded from the Github project release page. See Doc/Third-Party Notices.txt file in package for details.Key Features:The asset allows you to run SOFA simulation in the background while your Unity project is running. It offers a full integration of SOFA with two-way communication. In a nutshell, key features are:At each Update of Unity, a SOFA simulation step is computed, but the execution is performed asynchronously. Therefore, the time step used in your physical simulation may be different to the Unity update frequency.A hierarchy of C# classes relying on the Unity mono-behavior mechanism, map the behavior of SOFA components into Unity GameObjects.SOFA simulation scene is parsed and recreated using those GameObjects. The scene graph can be accessed in the Hierarchy view and GameObjects can be edited using the Inspector view and parameters can be saved.Developed by the InfinyTech3D company, this asset is composed of :SOFA v23.12.00 c++ libraries. SOFA has been developed since 2006 by an international community made up of research centers and companies.SofaAdvancedPhysicsAPI, a C++ library efficiently wrapping SOFA concepts in a single APISofaUnity, the C# Unity3D asset binding SOFA library into Unity3D conceptsSeveral basic examples showing SOFA capabilities as well as advanced demo to interact with deformable objects, control objects on SOFA side as well as deploying a catheterLimitations:This version requires users to possess knowledge of creating a SOFA simulation scene and integrating it into Unity for parsing and integration. High-level SOFA-Unity object creation and direct creation of SOFA components within the Unity3D editor are currently unsupported.Support for Geomagic Touch, Follow Haptic Avatar, and Haply Robotics Inverse3 will be released as separate assets on the Unity asset store soon.Similarly, XRay rendering, Ultrasound rendering, and VR Tools will be available as separate assets as well on the Unity asset store.Features such as enhanced medical training, robotics research, virtual prototyping, and more are not provided out-of-the-box in this asset. This asset serves solely as a toolkit for building your own simulators.Windows dll of SOFA are not provided in this version. They must be downloaded separately. Linux, Mac or android support is not possible right now.