The hearing function using a collider-based system
In this recipe, we will emulate the sense of hearing by developing two entities: a sound emitter and a sound receiver. It is based on the principles proposed by Millington for simulating a hearing system, and it uses the power of Unity colliders to detect receivers near an emitter.
Getting ready
As with the other recipes based on colliders, we will need collider components attached to every object that is to be checked, and rigid body components attached to either emitters or receivers.
How to do it…
We will create the SoundReceiver
class for our agents, and SoundEmitter
for things such as alarms:
- Create the class for the sound-receiver object:
using UnityEngine; using System.Collections; public class SoundReceiver : MonoBehaviour { public float soundThreshold; }
- Define the function for our own behavior that is handling the reception of sound:
public virtual void Receive(float intensity, Vector3 position) { // TODO // code your...