< back
Sound World
> play
Player
Settings

Tag: Player
Adjust Speed and Mouse Sensitivity
Disable: Jumping & Moving Platform

Add Component:
Audio > Audio Source
Scripts > ResetPosition.js
Scripts > FPSwalksounds.js
Scripts > PauseCursor.js

// ResetPosition.js

public var resetY = -5;
private var myStartPosition : Vector3;
private var myStartRotation : Quaternion;

function Start () {
  myStartPosition = transform.position;
  myStartRotation = transform.rotation;
}

function Update () {
  if(transform.position.y < resetY) {
    transform.position = myStartPosition;
    transform.rotation = myStartRotation;
  }
}
// PauseCursor.js

Screen.showCursor = false;
// FPSwalksounds.js

var walkSounds : AudioClip[];
var audioStepLength = 0.3;

function Awake () {
  PlayStepSounds();
}

function PlayStepSounds () {
  var controller : CharacterController = GetComponent(CharacterController);

  while (true) {
    if (controller.isGrounded && controller.velocity.magnitude > 0.3) {
      audio.clip = walkSounds[Random.Range(0, walkSounds.length)];
      audio.Play();
      yield WaitForSeconds(audioStepLength);
    } else {
      yield;
    }
  }
}
AudioPark
Setup

Create Empty (name it AudioPark)
Create Empty (name it AudioCar)
Link both object by drag & drop

AudioPark add component:
Audio > Audio Source (add clip, play on awake, loop)
Scripts > RotateMe.js

AudioCar add component:
Audio > Audio Source (add clip, play on awake, loop)


// RotateMe.js

#pragma strict

var speed : float = 10;

function Update () {
  transform.Rotate(Vector3.up * Time.deltaTime * speed);
}
TriggerTree
Setup

Create Cube (name it TriggerTree)
Adjust position & size
Set Box Collider > Is Trigger
Turn off Mesh Renderer

Create Empty (name it SpawnPoint)
Adjust position

add component to TriggerTree:
Script > triggerSpawnObject.js
// triggerSpawnObject.js

#pragma strict

var prefabObject : Transform;
var spawnPoint : Transform;

function OnTriggerEnter (other : Collider) {
  if(other.gameObject.tag == "Player") {
    Instantiate (prefabObject, spawnPoint.position, Quaternion.identity);
  }
}
AudioTriggerHouse
Setup

Create Cube (name it AudioTriggerHouse)
Adjust position & size
Set Box Collider > Is Trigger
Turn off Mesh Renderer

add component to TriggerTree:
Audio > Audio Source (add clip, play on awake (off), loop)
Script > triggerPlayAudio.js
// triggerPlayAudio.js

#pragma strict

function Start() {
  if(audio.isPlaying) audio.Stop();
}


function OnTriggerEnter (other : Collider) {
  if(other.gameObject.tag == "Player") {
    if(!audio.isPlaying) audio.Play();
  }
}

function OnTriggerLeave (other : Collider) {
  if(other.gameObject.tag == "Player") {
    if(audio.isPlaying) audio.Stop();
  }
}

Sun
// lookAt.js

#pragma strict

var target : Transform;

function Update () {
  transform.LookAt(target);
}

zip


> download SoundWorld.zip (9.4mb)