iMSTK Unity 2.0 Released

On behalf of the iMSTK community, we are pleased to announce the release of iMSTK Unity version 2.0 on the Unity Asset Store. iMSTK Unity is Kitwares integration of our open source physical simulation toolkit and the Unity game engine. iMSTK features advanced high-performance libraries for physics simulation, haptics, advanced rendering/visualization, user hardware interfacing, geometric processing, collision detection, contact modeling, and numerical solvers. The Unity asset allows users to access iMSTKs features and assemble simulations through the Unity authoring environment. iMSTK Unity 2.0 is based on the recently released iMSTK v7.0.

iMSTK Unity is open source. You can find the sources on Gitlab, if there are any more questions please contact us on our discourse forums, user documentation is available on ReadTheDocs.  If you are using or would like to use iMSTK Unity, please email us at kitware@kitware.com and we would be happy to discuss your needs and experience.

New Features

Our efforts for this release was focused on making iMSTK Unity easier to use. We created a number of custom editors to allow easy assembly of a simulation scene, easier definition of interactions and more information about setup issues in the editor windows.

Collision Editing

Both the Rigid and Deformable gained a new section in the property inspector that allows for an easier definition of collisions, all other objects that the selected object can collide with are presented with checkboxes to indicate whether you want collisions with them or not.

Better editing of object/object collisions

Grasping

We’ve improved support for grasping both on the object that does the grasping and with regards to defining grasping targets. While you can still handle these interactions with a low level component the higher level GraspingManager will make defining all the parts involved in grasping much easier.

Editing of grasping details

Suturing

Suturing was integrated from iMSTK, it allows defining a needle and attached thread as well as the capability of puncturing a deformable with needle and threading the thread trough the tissue.

Constraints

We’ve added a few components that can constraint objects during startup as well as during runtime. This enables pinning objects in place or attaching objects to each other expanding tools available to set up scenes and interact with objects.

Connective Tissue

Connective tissue, a new iMSTK feature, was integrated. Please note that you will still need to implement custom rendering as currently we are only providing line meshes representing the physical model of the tissue. 

Better interacting Rigid and Deformables

We moved to using iMSTKs new PBD rigid, this enables two way interactions between rigids and deformables.

Other New Features

  • We have decoupled the iMSTK simulation loop from the Unity fixed timestep, this enables better performance of the simulation and better behavior of the unity rendering.
  • Tearing Component to support the tearing of linemeshes
  • Anisotropic Deformables
  • Better support for attachment-points in rigid controllers, this allows you to move the controlled origin of a object in relation to its origin
  • Added access to the iMSTK DummyDevice, this allows you to drive iMSTK objects with Unity transform inputs (e.g. VR Controllers or the Keyboard)

Current users please notice that due to some refactoring efforts we could not keep backwards compatibility with the 1.0 version 

Next Steps

  • Multipart tools 
  • Better useability

Limitations

The asset currently does not include the iMSTK Openhaptics support. To enable this functionality you will need to build iMSTK from the source.

For more information on our efforts and our users, visit our website or sign up for our discourse/forums.

Acknowledgements

The research reported in this publication was supported, in part, by the following grants from the National Institutes of Health R44DK115332, R44DE027595, R01EB02547, and R01EB031808

Leave a Reply