Listener

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
(C# - Listener.cs)
Line 37: Line 37:
  
 
== C# - Listener.cs ==
 
== C# - Listener.cs ==
 +
 +
using UnityEngine;
 +
using System.Collections;
 +
[RequireComponent (typeof(AudioListener))]
 +
 +
public class Listener : MonoBehaviour
 +
{
 +
public float volume = 1;
 +
 +
float loudnessExponent = Mathf.Log(Mathf.Sqrt(10), 2);
 +
float listenerLoudness;
 +
 +
public float Volume
 +
{
 +
get
 +
{return listenerLoudness;}
 +
set
 +
{
 +
volume = value;
 +
listenerLoudness = Mathf.Pow(volume, loudnessExponent);
 +
 +
// volume values outside 0-1 mean nothing in Unity
 +
listenerLoudness = Mathf.Clamp(listenerLoudness, 0, 1);
 +
 +
AudioListener.volume = listenerLoudness;
 +
}
 +
}
 +
 +
void Start()
 +
{Volume = volume;}
 +
 +
// Change values in the Editor; get results.
 +
void OnDrawGizmos ()
 +
{
 +
Volume = volume;
 +
}
 +
}

Revision as of 01:32, 19 May 2009

Author: Jessy

Contents

Description

This is a script that replaces the Volume property of the Audio Listener. I feel that its behaves more intuitively than that of the Audio Listener itself. See the page for my Audio script for extensive details.  :-D

Instructions

The Volume parameter performs the task that the similarly-named parameter of an Audio Listener was intended to perform.

JavaScript - Listener.js

<javascript>@script RequireComponent(AudioListener)

var volume : float = 1;

private var loudnessExponent = Mathf.Log(Mathf.Sqrt(10), 2);

function Volume (newVolume) : float { volume = newVolume; var listenerLoudness = Mathf.Pow(volume, loudnessExponent);

// volume values outside 0-1 mean nothing in Unity listenerLoudness = Mathf.Clamp(listenerLoudness, 0, 1);

AudioListener.volume = listenerLoudness; return listenerLoudness; }

function Start() {Volume(volume);}

// Change values in the Editor; get results. function OnDrawGizmos () {Volume(volume);}</javascript>

C# - Listener.cs

using UnityEngine; using System.Collections; [RequireComponent (typeof(AudioListener))]

public class Listener : MonoBehaviour { public float volume = 1;

float loudnessExponent = Mathf.Log(Mathf.Sqrt(10), 2); float listenerLoudness;

public float Volume { get {return listenerLoudness;} set { volume = value; listenerLoudness = Mathf.Pow(volume, loudnessExponent);

// volume values outside 0-1 mean nothing in Unity listenerLoudness = Mathf.Clamp(listenerLoudness, 0, 1);

AudioListener.volume = listenerLoudness; } }

void Start() {Volume = volume;}

// Change values in the Editor; get results. void OnDrawGizmos () { Volume = volume; } }

Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox