The Smell Engine is a design framework and software/hardware system that presents users with a real-time physical odor synthesis of virtual smells. Using our Smell Composer design framework with the Unity Game Engine, developers can configure odor sources in virtual space. At runtime, the Smell Engine system presents users with physical odors that match what they would sense in the virtual environment. To do this, our Smell Mixer component integrates with the Unity Game Engine to dynamically estimate the odor mix that the user would smell. Our Smell Controller runtime then coordinates an olfactometer to physically present an approximation of the odor mix to the user's mask. Through a three-part user study, we found that the Smell Engine can produce odors at granularities finer than our subjects’ olfactory detection sensitivity. We also find that the Smell Engine improves users’ ability to precisely localize odors in the virtual environment over state-of-the-art trigger-based olfactory systems.
We see a compelling opportunity to synthesize physical odors that mimic what a user would experience while exploring an odor-infused virtual environment with virtual objects. While existing works can produce specific pre-mixed odor mixes and perfumes, as triggered by virtual cues, we aspire to design a virtual olfaction system that is more naturally integrated into multisensory virtual environments. For this work, we set out to design a software framework that is spatiotemporally reactive to virtual environments and events, expressive in scent programmability, modular in operation, and multi-sensory in integration.
We provide the Smell Composer, a design framework that allows developers to program scents into their virtual experiences. The Smell Composer revolves around the Odor Source Component, which lets developers specify a feature vector of odorant-specific concentrations and dispersion constants to configure odor "flavor", "strength", and propagation of each odor source.
As an analogy, you can think of Odor Sources similarly to that of Audio Sources in a Game Engine: changing the max concentration and spread of an Odor Source component is similar to changing the volume and spread of an Audio Source component
We devise a software-hardware framework that integrates olfactory stimuli into virtual environments, such that odor strengths spatiotemporally vary based on user navigation and interaction, presenting odors through a mask-based apparatus. The Smell Engine achieves this using design-time operations and runtime operations, utilizing three primary components, namely:
(i) a Smell Mixer that dynamically estimates the odor mix that the user would smell, based on odor source distances and diffusion models, and
(ii) a Smell Controller that coordinates a hardware olfactometer to physically present an approximation of the odor mix to the user’s mask from a set of odorants channeled through controllable flow valves.
(iii) a Valve Driver that issues multiplexed digital and analog signals that correspond to scheduled valve states and MFC flow rate setpoints.
We implement and integrate our Smell Engine with the Unity Game Engine, stimulating distance-based odor mixing at runtime and producing the odors through the hardware valve system.
We evaluate the Smell Engine through measurement-based photoionization detector (PID) system studies (which measures gas concentration) and a three-part user study.
From our set of PID tests, we found that the Smell Engine can generate changes in odor strength that are more granular than user detection thresholds. our results illustrate a relatively linear relationship between PID sensor readings and increased valve occupancy times or increased MFC flow rates.
For the user studies, we determine the timeliness of odor, the ability to help identify a user’s thresholds, and the system’s ability to help improve the use of odor sources in a virtual environment.
We found that some users perceived odors relatively quickly, within 2.5 seconds, while others perceived odors more slowly, e.g., around 10 seconds.
In our second user study, we used the Smell Engine to identify user- perceivable just-noticeable-difference (JND) thresholds for changes in olfactory stimulus magnitude. Consistent with the Weber-Fechner Law, we observe that the level at which users perceive a change in stimulus intensity is proportional to the initial stimulus intensity.
For the final user study, we investigated how accurately users can localize an odor source between our approach for odor delivery and the traditional collider-based delivery method. The results show that our odor delivery method improved the average user accuracy of the group by 43% and improved the average proximity of their odor source localization by 55%. Using an ANOVA for multiple comparisons, we found that the influence of the odor delivery method on accuracy and proximal selection was statistically significant (p < 0.05).
A Smell Engine capable of computing and delivering olfactory cues on the fly in a virtual reality environment offers significant opportunities for a range of olfactory needs. These include opportunities for odor-oriented training and education, as well as basic scientific research. Virtual augmentation with dynamic, temporally and spatially delivered olfactory cues offers novel opportunities for examining, leveraging, and enhancing human olfaction. To this end, we devise the Smell Engine as a unified olfactory hardware-software framework that allows developers to create olfactory spaces during a design-time and provides dynamic control of an olfactory display during runtime.
Bahremand, A., Manetta, M., Lai, J., Lahey, B., Spackman, C., Smith, B.H., Gerkin, R.C., LiKamWa, R. "The Smell Engine: A system for artificial odor synthesis in virtual environments" In Proc. IEEE VR ’22 [Full Paper (PDF)]