attach a stick and a taurus onto a controller to make a wand
pretend to know where a mouth is (child an "empty" unity object to the hmd a few inches down, use your judgement)
when the head of the wand is near the mouth AND the volume on the mic is past a certain threshold, populate a stream of bubbles
direction could just be taurus.transform.position.forward. extra credit if it continues along the vector direction between mouth and wand
make the world low gravity so that bubbles slowly float down
bubble spawn as spheres, random scale btwn 3cm in diameter and 8cm
i think there's a rigidbody setting that makes it have a lot of positional drag, which should be added as well. This drag should start low as the bubbles get vaulted forward, and then ramp up quickly
regulate how frequently bubbles come out - a cheap & dirty way to do this: a private float (lastInstantiation) keeps track of the timestamp of the last instantiation, and an (if) statement that blocks new bubble intantiations if within 0.5f seconds lastInstantiation. Play w/ that # (maybe 0.1f seconds?)
Bonus: add perlin noise an a per-bubble basis for X & Z component of position so that bubbles woft around a bit in the wind.
I'll probably try to implement a similar method that I used in the rain project for the frequency of the bubble. Take a look at that soon to tell me if it's a bad implementation or not