Hello,
I have the cataluna from the car tutorial which i have put into my own game and modified so you can enter and exit the vehicle. A problem I ran into was that now i have multiple cameras and disabling the camera itself does not turn off the audio listener. The code to switch cameras works but i cannot figure out how to disable the listeners. I want the car camera listener when i cam in the car to be one, and the player listener to be on when im out as the player. Ideally i would like to keep in it the same script but im open to creating more scripts to get the job done. Heres the code i have been working with. Right now attached to a trigger object to get in and out of the car.
var car : Transform;
var player : Transform;
var exitPoint : Transform;
var doorTriggerLeft : Transform;
var PlayerCamera : Camera;
var CarCamera : Camera;
var isPlayerVisible : boolean;
function Update(){
if (Input.GetButtonUp("Enter Vehicle")&& isPlayerVisible){
// make player invisible and still standing
player.gameObject.SetActiveRecursively(false);
player.gameObject.active = false;
// parent player to Exit Point
player.parent = exitPoint.transform;
player.transform.localPosition = Vector3(-1.5,0,0);
// parent PlayerParent to car
exitPoint.parent = car.transform;
exitPoint.transform.localPosition = Vector3(-0.01,1,0);
// Enable Car as controllabe object
GameObject.Find("Car").GetComponent("Car").enabled=true;
ChangeCarCamera();
}
else
{
if (Input.GetKeyUp("r")){
// make character visible again
player.gameObject.SetActiveRecursively(true);
player.gameObject.active = true;
// unparent player from everything
player.transform.parent = null;
// parent Exit Point to door Trigger
exitPoint.parent = doorTriggerLeft.transform;
// disable car as controllable
GameObject.Find("Car").GetComponent("Car").enabled=false;
ChangePlayerCamera();
}
}
}
function OnTriggerEnter(Player : Collider) {
isPlayerVisible = true;
}
function OnTriggerExit(Player : Collider) {
isPlayerVisible = false;
}
function ChangeCarCamera() {
PlayerCamera.enabled = false;
CarCamera.enabled = true;
PlayerCamera.GetComponent("Audio Listener").enabled = false;
CarCamera.GetComponent("Audio Listener").enabled = true;
}
function ChangePlayerCamera() {
PlayerCamera.enabled = true;
CarCamera.enabled = false;
PlayerCamera.GetComponent("Audio Listener").enabled = true;
CarCamera.GetComponent("Audio Listener").enabled = false;
}