查看: 860|回复: 0
打印 上一主题 下一主题

[其他] 提高Unity中管理多个相机的效率

[复制链接]

9903

主题

126

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
53488
精华
316

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2015-9-30 19:58:56 |只看该作者 |倒序浏览

 在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”);

}

if (Input.GetKeyDown(KeyCode.Alpha2)) {

SecurityCamera.ChangeCamera(“Camera 2”);

}

if (Input.GetKeyDown(KeyCode.Alpha3)) {

SecurityCamera.ChangeCamera(“Camera 3”);

}

}

}
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-10 15:13 , Processed in 0.095362 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部