Most geometric assets used in this application are available for free from the Unity Learn program.
Though Unity makes a full (playable) version of their tutorial available. Each step was performed to allow for customization to this project. For example, the tutorial series utilizes Teleport base locomotion. Instead, I opted for avatar based locomotion in order to smooth the movement with object in hand and allow for slight adjustments to gain better inspection capabilities.
Several assets were modified to accommodate for the unique arrangement for this demo.
One of Many Unity Learn Premium Tutorials
The following references are for various code scripts utilized throughout the tutorial for various linkages of VR interfaces (such as controllers, tracking, and spatialized sound)
ExtendRealityLtd/VRTK.Prefabs. (2020). [C#]. Extend Reality Ltd. https://github.com/ExtendRealityLtd/VRTK.Prefabs (Original work published 2019)
ExtendRealityLtd/VRTK.Tutorials.OculusIntegration. (2020). [C#]. Extend Reality Ltd. https://github.com/ExtendRealityLtd/VRTK.Tutorials.OculusIntegration (Original work published 2019)
Oculus Integration | Integration | Unity Asset Store. (n.d.). from https://assetstore.unity.com/packages/tools/integration/oculus-integration-82022
Oculus Spatializer Unity | Developer Center | Oculus. (n.d.). from https://developer.oculus.com/downloads/package/oculus-spatializer-unity/
Brackeys is a youtuber providing people with detailed and easy to follow tutorials. Beside from providing significant background information for Unity's particle systems (both shuriken and VFX). Brackeys provided a video tutorial discussing implementation of gravity into Unity. Considering that the equations for gravity and coulombic force are nearly identical in structure, the code was able to be modeled after the work in this video. Further alterations had to made, however, to consider non-participatory tracer particles.
Unity VFX graph provides numerous ways to control the movement of thousands (or millions) of particles. Some require of these implementations require additional third party work. Xraxra's plugin provides a technique to build customized fields for particles to conform to.
Conforming to a signed distance field was done to emulate the adhesion and curved path towards metallic objects when sprayed on. In the application the Stanford bunny was selected to provide a complex, convex geometry for the spray to apply to.
xraxra. (2020). Xraxra/SDFr [C#]. https://github.com/xraxra/SDFr (Original work published 2019)
xraxra's work was brought to my attention via the work by Binary Impact.
Unity VFX Graph tutorial—Celebrating a random number. (n.d.). from https://www.youtube.com/watch?v=bP3L6BYGIeQ