Sample placeholder image.

SWISH

A Shifting-Weight Interface of Simulated Hydrodynamics for Haptic Perception of Virtual Fluid Vessels

📝 Authors: Shahabedin Sagheb, Frank Wencheng Liu, Alireza Bahremand, Assegid Kidane, Dr. Robert LiKamWa

🏫 Advised by: Dr. Robert LiKamWa

📑 Full Paper (PDF)

🔗 ACM DL

🖋️ BibTex

GitHub

Virtual fluids are important for a variety of use cases in training and education. However, while fluids look real in VR/AR, they need to also feel real. Current VR/AR systems are unable to reproduce the physical sensation of fluid vessels, due to the shifting nature of fluid motion, and the resulting shift in the center-of-gravity. To this end, we introduce SWISH, an ungrounded mixed-reality interface, capable of affording the users a realistic haptic sensation of fluid behaviors in vessels.

SWISH image

The chief mechanism behind SWISH is in the use of virtual reality tracking and motor actuation to actively relocate the center of gravity of a handheld vessel, emulating the moving center of gravity of a handheld vessel that contains fluid. In addition to solving challenges related to reliable and efficient motor actuation, our SWISH designs place an emphasis on reproducibility, scalability, and availability for the maker culture. To that end, we plan to broadly release our schematics.

SWISH image

Our virtual-to-physical coupling uses Nvidia Flex's Unity integration for virtual fluid dynamics with a 3D printed augmented vessel containing a motorized mechanical actuation system.

SWISH image

To evaluate the effectiveness and perceptual efficacy of SWISH, we conduct a user study with 24 participants, 7 vessel actions, and 2 virtual fluid viscosities in a virtual reality environment. In all cases, the users on average reported that the SWISH bucket generates accurate tactile sensations for the fluid behavior. This opens the potential for multi-modal interactions with programmable fluids in virtual environments for chemistry education, worker training, and immersive entertainment.

SWISH image

How well does SWISH follow a motion path?