Cchai3D: Chai3D+Unity3D Made Easy

Nicolò Balzarotti, Gabriel Baud-Bovy
2018 Zenodo  
CHAI3D is a powerful open-source cross-platform C++ simulation framework for haptic applications (Modified BSD License). It implements state-of-the-art algorithms to render object geometries and material properties such as weight, friction and texture. CHAI3D also integrates graphical rendering (Open GL) and physical simulation engines to develop full-fledged virtual reality applications. Despite its rich set of features, CHAI3D is not used as a general-purpose game engine because game
more » ... cause game developers tend to prefer other alternatives that offer features such as state machines, animation support, and Graphical User Interfaces (GUIs) that simplify the development of games. In this poster, we present a haptic plugin for Unity3D (https://unity3d.com/), a popular choice for game development. Previous attempts to integrate CHAI3D with Unity3D are either incomplete [3], [4] or no longer available [5]. At the lowest level of the plugin, we wrote cChai3d, a C wrapper around a lightweight version of CHAI3D that included only the force-rendering algorithms. The wrapper has C bindings to facilitate the integration with any programming language and framework. It also includes a high-frequency thread that handle all haptic rendering computation. Full integration between Unity3D and CHAI3D is achieved via Unity3D C# scripts that give haptic properties to Unity3D GameObjects with simple drag-and-drop operations. The position and orientation of the haptic device in the world is configurable and handled transparently. Haptic properties supported by CHAI3D such as stiffness, friction, viscosity and textures can be set via the Unity3D GUI and changed in real time while the simulation is running. Haptic interaction with moving objects is supported within the limits allowed by the update rate of Unity3D main loop. The plugin is compatible with any haptic device supported by CHAI3D. The haptic plugin has been used to implement a study on the haptic perception of virtual textures in Unity 3D and is currently used to implement a serious game [...]
doi:10.5281/zenodo.1207440 fatcat:tdy75f3vhnat3dnxbnblbnzt3m