SofaUnity Description Installation Features Available Examples Assets Available Release Notes Download
     

Sofa-Unity Plugin v0.4

Release date: 2018-12-05

Enhancements

Fixes

    Major enhancements:
  • Add: Support for several SOFA types for parameter exchange: Vec3, vector, vector, vector, Mat3 and string
  • Add: Security breakdown: if high velocity is detected. It is possible to use callback to unactive Unity components.
  • Add: Handling of sofa.ini file inside Unity to set Sofa resources and examples path. This fix the caduceus absolute path issue.
  • Add: New script to copy SofaUnity resources when building App with Unity.

  • Create SofaUnity additional assets regarding (see Assets Available):
    • Geomagic Haptic tool controller: Track tool position from Sofa simulation and tool buttons activation.
    • Organ models: 3D organs models, with textures and correspongin collision models as well as an example scene.
    • XRay rendering: Render X-Ray image of 3D organs from SOFA simulation.
    • VR Surgical Room: Collection of 3D models of surgical tools and devices. With textures and controller scripts.
    • VR Interaction tools: collection of script to be able to use the VR controller (Oculus or Vive) to interact with the 3D view and SOFA simulation.

  • Other enhancements:
  • Add: Bool to activate or freeze the simulation in sofaContext.
  • Add: Dictionnary to translate the error code return by SofAdvancePhysicsAPI.dll and update all the logs.
  • Add: Method: sofaLog() to automatically format info in the logs. Can be display using bool log parameter.
  • Add: New script to reverse all normals of a mesh at start.
  • Add: Method and counter to track unity life cycle.
  • Add: Option in SSphereCollision to be able to use a unique sphere position.
  • Change: SofaBaseMesh is now using Sofa componoent topology revision to detect changes.
  • Move: all object hiearchy creation into a specific class created as soon as one SObject is created.

  • Experimental Work on Multi-threading support:
  • Change: There are now 2 SofaContext update method, either sync or async updateImpl. Set to sync for the moment as async is experimental.
  • Change: Use the new sofaAdvancePhysicsAPI signature to pass the number of thread to be created at construction inside Sofa.
  • Change: SObject and SRayCaster register themself inside the hiearchy to be able to run Async update.
    Major bug fix:
  • Fix: It is now possible to reload a SOFA scene inside the SofaContext.
  • Fix: All assets to be compatible with unity windows App build.
  • Fix: Crash when closing simulation. SofaContext was free twice at end.
  • Fix: Crash when license checked failed.
  • Fix: Sofa plugin loading method to use relative path to the Unity app.
  • Fix: All Unity components check that their corresponding Sofa object is well init. If not, Unity object is disabled.
  • Fix: Check code error when creating SOFA context. Set sofaContextAPI to not ready if creation failed.
  • Fix: Components GUI parameters are now well saved between editor and play mode.

  • Other bug Fix:
  • Fix: problem of bad normal directions after changing the topology in visual mesh.
  • Fix: Attach tool interactor explosing the liver because of too high stiffness. Add option to be able to change this value.
  • Fix: Texture2DFromRaw init when no target and inherite from SBaseObject and be in the Sofa object hierachy.
  • Fix: SpereCollisionModel problem of allocating too big buffers and freezing Unity.
  • Fix: Bug of bad deletion of rayCaster causing Unity to crash.
  • Fix: Liver, demo_fall_1, demo_fall_2, benchmarks, tissue_fall and interactions demos.


Known bugs

Other limitations

  • Will be updated by feedbacks.
  • Not possible to interact with mesh in the Unity 3D view.
  • Need to manullay set the Sofa plugin required. Doesn't parse the requiredplugin attribute.
  • Building Unity App copy all SofaUnity resources and not only the one used.
  • Only some FEM can be control inside Unity Editor.







Sofa-Unity Plugin v0.3

Release date: 2018-03-12

Enhancements

Fixes

  • Add Sphere Collision script that map sphere collision model on a Unity Mesh filter.
  • Add SComponentObject that is linked to a SofaComponentListener. It allows to listen to all Sofa Data of the target component.
  • Add a 2DTexture Raw component that allows to display a texture from raw data coming from Sofa.
  • Add new demo scenes: Christmas and tissue_fall.

  • Improve the communication of Data of basic type: Bool, float, int, vector3, vector3, vector, vector and string.
  • Improve the update rate: Only call simulation step every dt, like a fix update based on the dt. Update all component at the same rate.
  • Improve the copy of mesh positions by using sparse vector with only vertices that have changed.
  • Improve the cutting with ray. Delete now a zone instead of only one tetra.
  • Disable the mesh rendering of Deformable or Rigid mesh by default. Only update the component if rendering is activated.
  • Major bug on the sofa object hierarchy creation.
  • Major bug on memory leak. The sofa plugin was not well released when ending the simulation.
  • Error Data listening that were not present in sofa objects.
  • Bug of scale between unity and sofa that was messing up the ray casting for example.


Known bugs

Other limitations

  • Parameters set in the components GUI are replaced by sofa scene file value after runtime.
  • Cylinder shape has holes.
  • Changing Grid resolution doesn’t work.
  • Display of Tetrahedron FEM slow down the application.
  • All Sofa scene loaded by SofaContext needs to have relative paths to the meshes.
  • Not possible to interact with mesh in the Unity 3D view.
  • Only some FEM can be control inside Unity Editor.



Sofa-Unity Plugin v0.2

Release date: 2017-11-14

Enhancements

Fixes

  • Add support of topology changes.
  • Add VR support and demo scene of Sofa in VR.
  • Upgrade most of the materials with good normal maps.
  • Add ray casting methods to interact with Sofa 3D models. Interactions possible are element resections, vertex grasping and fix constraint
  • Add Springs support in Unity Editor.
  • Major bug of performance, reduce by 4 the cost of simulation in the unity scene.
  • Bug of bad texture coordinate computation.
  • Material of all the demo scenes.
  • Bug of FEM parameters not found.
  • Add value ranges for the FEM and springs parameters.


Known bugs

Other limitations

  • Cylinder shape has holes.
  • Changing Grid resolution doesn’t work.
  • Display of Tetrahedron FEM slow down the application.
  • All Sofa scene loaded by SofaContext needs to have relative paths to the meshes.
  • Not possible to interact with mesh in the Unity 3D view.
  • Only some FEM can be control inside Unity Editor.



Sofa-Unity Plugin v0.1

Release date: 2017-08-03

Enhancements

Fixes

  • No logs as it is the first version
  • No logs as it is the first version


Known bugs

Other limitations

  • Cylinder shape has holes.
  • Changing Grid resolution doesn’t work.
  • Display of Tetrahedron FEM slow down the application.
  • All Sofa scene loaded by SofaContext needs to have relative paths to the meshes.
  • Not possible to interact with mesh in the Unity 3D view.
  • Only TriangularFEM and TetrahedronFEM forcefield bindings are handle.