在Unity里管理多个相机(Camera)是一个挺痛苦的事情,“Camera Preview”也不是很实用,窗口太小,比例也不能调整。
在众多的相机中禁用,启用来查看相机位置设置视角,非常烦琐。
Security Camera的目的就是让这个过程简化。只要将脚本放进项目目录,并且拖拽到场景中每个相机上,
包括MainCamera。现在你就可以快速的切换查看各个相机的实际效果,在Unity的层次视图(Hierarchy)点击你要设置的相机,
就可以在游戏视图中看到这个相机的效果了,不必再一个个的去关闭其他相机了。
要注意的是要使用Security Camera脚本,你应该给每个相机一个唯一的名称以及确保有个主相机且标签tag为“MainCamera”,
如果你忘记这样做。系统会提醒你。另外脚本还提供了一个静态方法,叫“ChangeCamera”,
该方法只需要一个字符串,就可以用脚本快速切换相机了。
像下面这样:
using UnityEngine;
using System.Collections;
public class CameraSwap : MonoBehaviour
{
void Update ()
{
//pressing 0, 1, 2, and 3 will swap before the cameras named "Main Camera",
//"Camera 1", "Camera 2", and "Camera 3" which have Security Camera added:
if (Input.GetKeyDown(KeyCode.Alpha0)) {
SecurityCamera.ChangeCamera("Main Camera");
}
if (Input.GetKeyDown(KeyCode.Alpha1)) {
SecurityCamera.ChangeCamera("Camera 1");
}//Unity3D教程手册:www.unitymanual.com
if (Input.GetKeyDown(KeyCode.Alpha2)) {
SecurityCamera.ChangeCamera("Camera 2");
}
if (Input.GetKeyDown(KeyCode.Alpha3)) {
SecurityCamera.ChangeCamera("Camera 3");
}
}
}
OK。赶快测试下吧。。。
其他办法管理摄像机
内容描述:这章,我们来学习一下同个场景中多个摄像机怎么切换。
首先,我们来搭建一下场景,2个cube,3个camera,1个平行光。如下
随便调整一下三个摄像机的位置,例如视角如下
侧视图
前视图
顶视图。
接着我们创建一个空对象 GameObject -> Create Empty 命名为CamearController,用来控制逻辑。
然后我们在Project面板中创建一个js脚本。
编写如下代码
1. var camera1:GameObject;
2. var camera2:GameObject;
3. var camera3:GameObject;
4.
5. function Update ()
6. {
7. if(Input.GetKeyUp(KeyCode.Alpha1))
8. {
9. onActiveFalse();
10. camera1.active=true;
11. }else if(Input.GetKeyUp(KeyCode.Alpha2))
12. {
13. onActiveFalse();
14. camera2.active=true;
15.
16. }else if(Input.GetKeyUp(KeyCode.Alpha3))
17. {
18. onActiveFalse();
19. camera3.active=true;
20. }
21. }
22. function onActiveFalse()
23. {
24. camera1.active=false;
25. camera2.active=false;
26. camera3.active=false;
27. }
复制代码 代码的内容是,程序运行时,按下1,2,3的数字键会切换场景中的摄像头。
主要内容就是 摄像机.active属性的设置。
写完代码后,我们把这个js代码拖到Hierarchy面板中的CamearController物体上。确保这个物体被选中,在Inspector中,我们能够看到代码中申明的变量camera1,camera2,camera3
2011-9-26 13:35:02 上传
将Hierarchy面板中的摄像机,拖进None(Game Object)的位置。
保存,运行,按数字键1,2,3即可进行摄像机的切换。