top of page

On the Shore | Unity

Malachi Gregory

Overview

In this project, I took to utilizing Unity's in engine audio tools to design an immersive soundscape for this castle map. My main goals were to familiarize myself with navigating the engine, manipulating 3D audio sources, writing scripts, and using the mixer. In terms of tone for the scene, I designed darker, lower pitched sources to match the map's environment and increase player immersion.


An Ocean Wide

My first step in setting up the soundscape was placing audio sources for the ocean. I began with two very large prefabs with attached sound sources (as depicted in the image) placed right and left. To save on memory, I only used one sound file for the large zones. To avoid phasing from the shared use, I pitched my audio sample up one for the right zone and down one for the left.


Ocean Zone Map


The next step was simulating lapping waves when closely visiting the edge of the pier. After duplicating prefabs along the edge of the walkable map, I customized a volume graph to naturally fade with the player's approach to the source. I made sure to tune the slopes to accommodate both walking and sprinting movement states and alleviate any jarring ramps.


Video Demo of Close Waves


Winds of Change

Enclosing the entire map is a massive reverb zone and low intensity wind audio source prefab. The reverb works extremely well in gluing the entire scene together sonically, fully placing the player in the space. At points of elevation away from where the structure would logically block the path of wind, I added zones of increased wind intensity. Specifically at the higher edge of the pier and atop the climbable towers. Examples of the shift and adjustment curves can be heard in the "Mixed in a Snap" section.


Wind Source Prefabs


Get it Scripted

One of the more complicated aspects of my design is the seagull emitter system. When in an oceanic environment, it is very common to hear the caw of seagulls. However, since there are no seagull object present in the map to assign audio prefabs to, my emitter system simulates the presence of the birds. Localized to the tree object is my seagull emitter. As you approach, calls are posted and attenuate based on your position to the tree, simulating the presence of the birds.


Seagull Emitter Prefab


To answer the problem of "how can you hear seagulls around the map?" I added a custom script to the prefab. Utilizing the concept of intermittent emitters, the code randomly draws from a pool of seagull audio sources to play. The spatialization and volume of the source are randomly chosen off a selected scale of 0.297 to 0.554, with a time buffer between 2.7 to 9.5 seconds after an audio call is posted. This keeps the mix from getting too overwhelmed with screeches, and varies the seagull sounds heard both spatially and sample wise, adding variation and realness to the player's experience.


Intermittent Emitter Script


Seagull Emitter Example


All in the Details

Step three of my project adding details that filled out the environment. Close to where you spawn is a campfire. After adjusting the volume curve for player position in relation to the audio source, I noticed the panning would whip around unrealistically. My solution was adding a custom curve along the spread parameter, widening spread as you're closer to the object, and reducing panning. I went to other sound sources upon this discovery to edit the panning of sources as needed.


Fire Audio Prefab


Fire Spread Video Demo


I used similar attenuation design the mast and sail of the nearby boat, adjusting the spread slopes for each source uniquely.


Prefab for Boat Creek (interior) and Sail Flap (Exterior)


And lastly, taking the intermittent emitter script from my seagull prefab and using it for an ambient foghorn in the distance. This element is just for fun, prompting the imagination of the player that the scene they are in is much larger than it truly is. Tweaked from the seagull emitter parameters are the randomization and time range, as too many posts of the foghorn would become overwhelming to the player.


Foghorn Source Prefab


Mixed in a Snap

The last stage of my project was finalizing the mix and adding snapshots to the scene. I wanted to define separate mixes for interior and exterior environments, so used a system reliant on triggers to enable the feature.


Tower Trigger Zones


After setting the trigger regions per tower, I wrote an extremely simple script to detect player collision with the trigger and call the different snapshot states.


Trigger Snapshot Script


And lastly, I went into the mix window to set the indoor vs outdoor snapshots. After some intense listening and adding dripping to the tower interior, I found the transition to be functional. However, only after I added a lowpass effect to the interior snapshot did emerging from the tower feel satisfactory.


Mix Snapshot Demo

Comentários


bottom of page