- Home /
Getting Camera on mouse click of a 3d text
This is probably a stupid question but I have 4 cameras in my zone and I wish for when you click on a 3d text to switch to the next camera. i.e- "New character->choose race->choose sex, ect". I am new to scripting and I am using Javascript. I need alittle help, pls and ty.
Answer by Kourosh · Dec 02, 2010 at 03:36 AM
Apply the script to each 3d text and make sure to assign a box collider to each 3d text.
var cam1:GameObject; //Assign Camera 1 var cam2:GameObject; //Assign Camera 2 var cam3:GameObject; //Assign Camera 3 var cam4:GameObject; //Assign Camera 4 var textIndex:int = 0; // **Change this value** to 1 for the first 3d Text, to 2 for second 3d Text,and ...
function OnMouseDown () { switch (textIndex) { case 1: cam2.camera.cullingMask = 0; cam2.camera.clearFlags = CameraClearFlags.Nothing; cam2.GetComponent(AudioListener).enabled = false; cam3.camera.cullingMask = 0; cam3.camera.clearFlags = CameraClearFlags.Nothing; cam3.GetComponent(AudioListener).enabled = false; cam4.camera.cullingMask = 0; cam4.camera.clearFlags = CameraClearFlags.Nothing; cam4.GetComponent(AudioListener).enabled = false; cam1.camera.cullingMask = ~0; cam1.camera.clearFlags = CameraClearFlags.Skybox; cam1.GetComponent(AudioListener).enabled = true; break; case 2: cam1.camera.cullingMask = 0; cam1.camera.clearFlags = CameraClearFlags.Nothing; cam1.GetComponent(AudioListener).enabled = false; cam3.camera.cullingMask = 0; cam3.camera.clearFlags = CameraClearFlags.Nothing; cam3.GetComponent(AudioListener).enabled = false; cam4.camera.cullingMask = 0; cam4.camera.clearFlags = CameraClearFlags.Nothing; cam4.GetComponent(AudioListener).enabled = false; cam2.camera.cullingMask = ~0;
cam2.camera.clearFlags = CameraClearFlags.Skybox; cam2.GetComponent(AudioListener).enabled = true; break; case 3: cam1.camera.cullingMask = 0; cam1.camera.clearFlags = CameraClearFlags.Nothing; cam1.GetComponent(AudioListener).enabled = false; cam2.camera.cullingMask = 0; cam2.camera.clearFlags = CameraClearFlags.Nothing; cam2.GetComponent(AudioListener).enabled = false; cam4.camera.cullingMask = 0; cam4.camera.clearFlags = CameraClearFlags.Nothing; cam4.GetComponent(AudioListener).enabled = false; cam3.camera.cullingMask = ~0; cam3.camera.clearFlags = CameraClearFlags.Skybox; cam3.GetComponent(AudioListener).enabled = true; break; case 4: cam1.camera.cullingMask = 0; cam1.camera.clearFlags = CameraClearFlags.Nothing; cam1.GetComponent(AudioListener).enabled = false; cam2.camera.cullingMask = 0; cam2.camera.clearFlags = CameraClearFlags.Nothing; cam2.GetComponent(AudioListener).enabled = false; cam3.camera.cullingMask = 0; cam3.camera.clearFlags = CameraClearFlags.Nothing; cam3.GetComponent(AudioListener).enabled = false; cam4.camera.cullingMask = ~0; cam4.camera.clearFlags = CameraClearFlags.Skybox; cam4.GetComponent(AudioListener).enabled = true; break; }
}
make sure to have one audio listener all the time. each camera comes with one audio listener so you'll have 4 in your scene and unity doesn't like it;)
tytyty, that works wonders. it took me a sec to get it all in its places but ty again
Your answer
![](https://koobas.hobune.stream/wayback/20220613085334im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Mouse Click Teleportation with 2.5d game 0 Answers
3D text face camera 2 Answers
Change UI scale in relation to 3D camera 0 Answers
Camerascript works strange! 0 Answers
Dark Souls like camera going through walls, please help 0 Answers