【转】Unity摄像机的使用二:摄像机的切换
http://blog.csdn.net/liujunjie612/article/details/45847877
我们接着上一篇博文继续研究摄像机,这篇我们说下Unity中摄像机的切换,说到切换,前提是有多个
摄像机,所以我们新建二个摄像机。
我们再创建一个空物体挂上我们新建的脚本CameraSwitch,用来控制摄像机的切换
代码如下:
- using UnityEngine;
- using System.Collections;
- public class CameraSwitch : MonoBehaviour {
- public GameObject[] cameras;
- public string[] shotcuts;
- public bool changeAudioListener = true;
- void Update()
- {
- int i = 0;
- for(i=0; i<cameras.Length; i++)
- {
- if (Input.GetKeyUp(shotcuts[i]))
- SwitchCamera(i);
- }
- }
- void SwitchCamera(int index)
- {
- int i = 0;
- for (i=0; i<cameras.Length; i++)
- {
- if (i != index)
- {
- if (changeAudioListener)
- {
- cameras[i].GetComponent<AudioListener>().enabled = false;
- }
- cameras[i].GetComponent<Camera>().enabled = false;
- }
- else
- {
- if (changeAudioListener)
- {
- cameras[i].GetComponent<AudioListener>().enabled = true;
- }
- cameras[i].GetComponent<Camera>().enabled = true;
- }
- }
- }
- }
脚本代码,将依据玩家按下的按键(键盘上的 1、2 和 3),决定启用对应摄像机的AudioListener 和 camera组件,禁用其余两部摄像机的 AudioListener 和 camera 组件,玩家因此看到不同的游戏视图。
按1视图:
按2视图:
按3视图:
unity3d切换相机常用脚本
1. var camera0 : Camera; //定义一个名字为camera0的相机对象
2. var camera1 : Camera; //定义一个名字为camera1的相机对象
3. function Update ()
4. {
5. if (Input.GetKey ("1")) //如果敲击键盘的"1"
6. {
7. camera1.enabled = true; //camera1激活
8. camera0.enabled = false; //camera1停止
9. }
10. if (Input.GetKey ("0")) //如果敲击键盘的"0"
11. {
12. camera1.enabled = false; //camera1停止
13. camera0.enabled = true; //camera1激活
14. }
15. }
var camera0 : Camera; //定义一个名字为camera0的相机对象 var camera1 : Camera; //定义一个名字为camera1的相机对象 function Update () { if (Input.GetKey ("1")) //如果敲击键盘的"1" { camera1.enabled = true; //camera1激活 camera0.enabled = false; //camera1停止 } if (Input.GetKey ("0")) //如果敲击键盘的"0" { camera1.enabled = false; //camera1停止 camera0.enabled = true; //camera1激活 } }
【转】Unity摄像机的使用二:摄像机的切换的更多相关文章
- EasyNVR网页H5无插件播放摄像机视频功能二次开发之直播通道接口保活示例代码
背景需求 随着雪亮工程.明厨亮灶.手机看店.智慧幼儿园监控等行业开始将传统的安防摄像头进行互联网.微信直播,我们知道摄像头直播的春天了.将安防摄像头或NVR上的视频流转成互联网直播常用的RTMP.HT ...
- EasyNVR网页Chrome无插件播放摄像机视频功能二次开发之云台控制接口示例代码
随着多媒体技术和网络通信技术的迅速发展,视频监控技术在电力系统.电信行业.工业监控.工地.城市交通.水利系统.社区安防等领域得到越来越广泛的应用.摄像头直播视频监控通过网络直接连接,可达到的世界任何角 ...
- Unity 3d 实现物体跟随摄像机视野运动
https://blog.csdn.net/qq_31411825/article/details/61623857 Unity 3d 实现物体跟随摄像机视野运动Created by miccall ...
- Unity 基于Cinemachine计算透视摄像机在地图中的移动范围
Unity中Cinemachine的基础功能介绍可详见之前写的博客: https://www.cnblogs.com/koshio0219/p/11820654.html 本篇的重点是讨论,在给定规则 ...
- 使用Photon引擎进行unity网络游戏开发(二)——Photon常用类介绍
使用Photon引擎进行unity网络游戏开发(二)——Photon常用类介绍 Photon PUN Unity 网络游戏开发 Photon常用类介绍: IPunCallback PUNGIPunCa ...
- 10-THREE.JS perspective透视摄像机和orthographic正交摄像机区别
<!DOCTYPE html> <html> <head> <title></title> <script src="htt ...
- Unity的Json解析<二>–写Json文件
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/50378805 作者:car ...
- Unity——技能系统(二)
Unity技能系统(二) Unity技能系统(一) Demo展示: 五.技能管理和释放 1.CharacterSkillSystem 技能系统类,给外部(技能按钮,按键)提供技能释放方法: 技能释放逻 ...
- Android项目实战(四十四):Zxing二维码切换横屏扫描
原文:Android项目实战(四十四):Zxing二维码切换横屏扫描 Demo链接 默认是竖屏扫描,但是当我们在清单文件中配置横屏显示的时候: <activity android:name=&q ...
随机推荐
- SAP Netweaver的负载均衡消息服务器 vs CloudFoundry的App Router
Message server for ABAP Netweaver SAP传统应用经典的三层架构: 起到负载均衡的消息服务器(Message Server)在图中没有得到体现.然后,消息服务器在我们每 ...
- SPOJ - MATSUM Matrix Summation---二维树状数组
题目链接: https://vjudge.net/problem/SPOJ-MATSUM 题目大意: 二维数组,两种操作 SET 将某点设置成x SUM 求某个区域之和 解题思路: 这里用二维树状数组 ...
- 【洛谷4252】[NOI2006] 聪明的导游(提答题)
点此看题面 大致题意: 给你一张\(n\)个点.\(m\)条边的无向图,让你找出图上的一条不经过重复节点的最长路(提答+\(spj\)). 随机化乱搞 针对这种提答题,我们就要用随机化乱搞(Cptra ...
- Linux 的歷史
Unix 狹義作業系統提供應用程式及命令直譯器. 作業系統發展初期並不具可攜性. Bell, GE 及 MIT 合作開發的 "Multice" 系統( 相容分時系統 ). 1969 ...
- es6之Object扩展及内部属性的总结
对象扩展: 1.Object.is(A,B) :比较两个值是否相等,取代===运算:只要值相等代表相等:其中NAN和NAN相等:+0和-0不相等: 2.Object.assign(target,sou ...
- Fakeapp 入门教程(3):参数篇
参数可以让软件自由度更高.Fakeapp的参数并不算多,但是也非常使用.本文就讲解下几个重要的参数.参数设置界面可以通过点击SETTINGS打开. 参数修改无需点击保存,一旦修改直接生效. Proce ...
- 利用Django提供的ModelForm增删改数据
上一篇我们写了Django基于类如何增删改数据的方法,方法虽然简单,但新手可能对其原理不是很清楚,那么我们这次就用Django提供的ModelForm方法来实现增删改数据,这是一种基于现有模型的增删改 ...
- kali下将Python2.x切换至Python3.x
注:我是将Python2切换到Python3.6版本的,下面文件夹名,请注意变更. 1.首先在/usr/local/下创建一个Python-3.6 注意文件夹名(根建议据自己安装版本命名)mkdir ...
- java 调用第三方系统时的连接代码-记录
前言:该文章主要是总结我在实际工作中遇到的问题,在调取第三方系统的时候出现的问题,算自己的总结.各位博友如果有什么建议或意见欢迎留言指正. 先将准备传入参数 再与第三方系统建立连接 再第三方系统处理后 ...
- 2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
a,b,c,d,e=1,2,3,4,5 m = b >a and c < d n = d > e and b < a y = m or n info = ''' m is %s ...